import { ResolvingViewport } from 'next'; import { cookies } from 'next/headers'; import { PropsWithChildren } from 'react'; import { isRtlLang } from 'rtl-detect'; import Analytics from '@/components/Analytics'; import { getServerConfig } from '@/config/server'; import { DEFAULT_LANG, LOBE_LOCALE_COOKIE } from '@/const/locale'; import { LOBE_THEME_APPEARANCE, LOBE_THEME_NEUTRAL_COLOR, LOBE_THEME_PRIMARY_COLOR, } from '@/const/theme'; import Layout from '@/layout/GlobalLayout'; import { isMobileDevice } from '@/utils/responsive'; import StyleRegistry from './StyleRegistry'; const { ENABLE_OAUTH_SSO } = getServerConfig(); const RootLayout = ({ children }: PropsWithChildren) => { // get default theme config to use with ssr const cookieStore = cookies(); const appearance = cookieStore.get(LOBE_THEME_APPEARANCE); const neutralColor = cookieStore.get(LOBE_THEME_NEUTRAL_COLOR); const primaryColor = cookieStore.get(LOBE_THEME_PRIMARY_COLOR); const lang = cookieStore.get(LOBE_LOCALE_COOKIE); const direction = isRtlLang(lang?.value || DEFAULT_LANG) ? 'rtl' : 'ltr'; return (