import { useEffect, Suspense, useSyncExternalStore } from 'react'; import DocumentTitleWrapper from './DocumentTitleWrapper'; import PageLoading from './PageLoading'; import { useAppleOAuth } from './hooks/customOAuth/useAppleOAuth'; import { useCustomOAuth } from './hooks/customOAuth/useCustomOAuth'; import { useDolphinOAuth } from './hooks/customOAuth/useDolphinOAuth'; import { useDrupalOAuth } from './hooks/customOAuth/useDrupalOAuth'; import { useGitHubEnterpriseOAuth } from './hooks/customOAuth/useGitHubEnterpriseOAuth'; import { useGitLabOAuth } from './hooks/customOAuth/useGitLabOAuth'; import { useGithubOAuth } from './hooks/customOAuth/useGithubOAuth'; import { useNextcloudOAuth } from './hooks/customOAuth/useNextcloudOAuth'; import { useWordPressOAuth } from './hooks/customOAuth/useWordPressOAuth'; import { useAnalytics } from './hooks/useAnalytics'; import { useAnalyticsEventTracking } from './hooks/useAnalyticsEventTracking'; import { useAutoupdate } from './hooks/useAutoupdate'; import { useCodeHighlight } from './hooks/useCodeHighlight'; import { useCorsSSLConfig } from './hooks/useCorsSSLConfig'; import { useDesktopFavicon } from './hooks/useDesktopFavicon'; import { useDesktopTitle } from './hooks/useDesktopTitle'; import { useDesktopUserRoles } from './hooks/useDesktopUserRoles'; import { useEscapeKeyStroke } from './hooks/useEscapeKeyStroke'; import { useGoogleTagManager } from './hooks/useGoogleTagManager'; import { useIframeCommands } from './hooks/useIframeCommands'; import { useIframeLoginListener } from './hooks/useIframeLoginListener'; import { useKeyboardShortcutsHotkey } from './hooks/useKeyboardShortcutsHotkey'; import { useLivechatEnterprise } from './hooks/useLivechatEnterprise'; import { useLoadMissedMessages } from './hooks/useLoadMissedMessages'; import { useLoadRoomForAllowedAnonymousRead } from './hooks/useLoadRoomForAllowedAnonymousRead'; import { useLoginOtherClients } from './hooks/useLoginOtherClients'; import { useLoginViaQuery } from './hooks/useLoginViaQuery'; import { useMessageLinkClicks } from './hooks/useMessageLinkClicks'; import { useNativeEmoji } from './hooks/useNativeEmoji'; import { useNotificationPermission } from './hooks/useNotificationPermission'; import { useOAuthLogin } from './hooks/useOAuthLogin'; import { useOAuthPopupCommands } from './hooks/useOAuthPopupCommands'; import { useRedirectToSetupWizard } from './hooks/useRedirectToSetupWizard'; import { useSettingsOnLoadSiteUrl } from './hooks/useSettingsOnLoadSiteUrl'; import { useShareSessionWithOtherClients } from './hooks/useShareSessionWithOtherClients'; import { useStartupEvent } from './hooks/useStartupEvent'; import { appLayout } from '../../lib/appLayout'; const AppLayout = () => { useEffect(() => { document.body.classList.add('color-primary-font-color', 'rcx-content--main'); return () => { document.body.classList.remove('color-primary-font-color', 'rcx-content--main'); }; }, []); useIframeLoginListener(); useMessageLinkClicks(); useGoogleTagManager(); useAnalytics(); useEscapeKeyStroke(); useKeyboardShortcutsHotkey(); useAnalyticsEventTracking(); useLoadRoomForAllowedAnonymousRead(); useNotificationPermission(); useNativeEmoji(); useRedirectToSetupWizard(); useSettingsOnLoadSiteUrl(); useLivechatEnterprise(); useNextcloudOAuth(); useGitLabOAuth(); useGithubOAuth(); useGitHubEnterpriseOAuth(); useDrupalOAuth(); useDolphinOAuth(); useAppleOAuth(); useWordPressOAuth(); useCustomOAuth(); useCorsSSLConfig(); useAutoupdate(); useCodeHighlight(); useLoginViaQuery(); useLoginOtherClients(); useOAuthLogin(); useOAuthPopupCommands(); useShareSessionWithOtherClients(); useLoadMissedMessages(); useDesktopFavicon(); useDesktopTitle(); useDesktopUserRoles(); useStartupEvent(); useIframeCommands(); const layout = useSyncExternalStore(appLayout.subscribe, appLayout.getSnapshot); return ( }> {layout} ); }; export default AppLayout;