ForbiddenPage.jsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import React, { useMemo } from 'react';
  2. import PropTypes from 'prop-types';
  3. import { withTranslation } from 'react-i18next';
  4. import PageListIcon from './Icons/PageListIcon';
  5. import CustomNavigation from './CustomNavigation';
  6. import PageList from './PageList';
  7. const ForbiddenPage = (props) => {
  8. const { t } = props;
  9. const navTabMapping = useMemo(() => {
  10. return {
  11. pagelist: {
  12. Icon: PageListIcon,
  13. Content: PageList,
  14. i18n: t('page_list'),
  15. index: 0,
  16. },
  17. };
  18. }, [t]);
  19. return (
  20. <>
  21. <div className="row not-found-message-row mb-4">
  22. <div className="col-lg-12">
  23. <h2 className="text-muted">
  24. <i className="icon-ban mr-2" aria-hidden="true" />
  25. Forbidden
  26. </h2>
  27. </div>
  28. </div>
  29. <div className="row row-alerts d-edit-none">
  30. <div className="col-sm-12">
  31. <p className="alert alert-primary py-3 px-4">
  32. <i className="icon-fw icon-lock" aria-hidden="true" />
  33. {t('Browsing of this page is restricted')}
  34. </p>
  35. </div>
  36. </div>
  37. <div className="mt-5">
  38. <CustomNavigation navTabMapping={navTabMapping} />
  39. </div>
  40. </>
  41. );
  42. };
  43. ForbiddenPage.propTypes = {
  44. t: PropTypes.func.isRequired,
  45. };
  46. export default withTranslation()(ForbiddenPage);