import React, { useEffect, useCallback, useState } from 'react'; import Footer from 'app/customization/nav/footer'; import { Modal } from 'app/design/controls' import Informer from 'app/components/elements/informer'; import Suggestions from 'app/ui/molecules/misc/suggestions'; import AsyncWorker from 'app/ui/molecules/system/async-worker'; import { View } from 'app/design/view'; import { useCurrentUser } from 'app/context/user' import BottomSheet from 'app/ui/molecules/dialogs/bottomsheet-content'; import { appSetting, storageClear, decodeText, isChatLayout } from 'app/lib/util' import { appStatic } from 'app/lib/app-static' import { scheduleOneSignalSubscription } from 'app/lib/platform/one-signal'; import { useThemeName, useThemeValue } from 'app/design/theme'; import { useTranslation } from 'react-i18next' import { useLayoutSettings } from 'app/context/layout-settings'; import PopupModal from 'app/ui/molecules/dialogs/popup-modal' import { PageHeader } from 'app/ui/molecules/header/page-header'; import { HeaderOptionsProvider } from 'app/ui/molecules/header/options'; import { useFooter } from 'app/context/jotai/layout'; import Script from 'next/script'; const MemoizedContent = React.memo(({ currentUser, pageLayoutName, layoutName, data, children, blocks }) => { const [isModal, setIsModal] = useState(false); const { t } = useTranslation() useEffect(() => { if (currentUser === false && appSetting('layout', 'show_login_modal') > 0 && !['create-account', 'login','home', 'forgot-password', 'confirm-email'].includes(data.uri)) { const timeoutId = setTimeout(() => { setIsModal(true) }, appSetting('layout', 'show_login_modal')); return () => clearTimeout(timeoutId); } }, [currentUser]); const handleCloseModal = () => { setIsModal(false) } if (data.page_status == 503 || currentUser?.page_status == 503) { return <> {appStatic('maintenance_mode')} } return ( Skip to content