diff --git a/src/layout/GlobalProvider/index.tsx b/src/layout/GlobalProvider/index.tsx index aa49feeba238..6aeff65ec695 100644 --- a/src/layout/GlobalProvider/index.tsx +++ b/src/layout/GlobalProvider/index.tsx @@ -13,6 +13,7 @@ import { import { getServerGlobalConfig } from '@/server/globalConfig'; import { ServerConfigStoreProvider } from '@/store/serverConfig'; import { getAntdLocale } from '@/utils/locale'; +import { isMobileDevice } from '@/utils/responsive'; import AppTheme from './AppTheme'; import Locale from './Locale'; @@ -48,6 +49,7 @@ const GlobalLayout = async ({ children }: GlobalLayoutProps) => { // get default feature flags to use with ssr const serverFeatureFlags = getServerFeatureFlagsValue(); const serverConfig = getServerGlobalConfig(); + const isMobile = isMobileDevice(); return ( @@ -57,7 +59,11 @@ const GlobalLayout = async ({ children }: GlobalLayoutProps) => { defaultPrimaryColor={primaryColor?.value as any} > - + {children} diff --git a/src/store/serverConfig/Provider.tsx b/src/store/serverConfig/Provider.tsx index ed009b193601..00e30ea399f2 100644 --- a/src/store/serverConfig/Provider.tsx +++ b/src/store/serverConfig/Provider.tsx @@ -10,12 +10,13 @@ import { Provider, createServerConfigStore } from './store'; interface GlobalStoreProviderProps { children: ReactNode; featureFlags?: Partial; + isMobile?: boolean; serverConfig?: GlobalServerConfig; } export const ServerConfigStoreProvider = memo( - ({ children, featureFlags, serverConfig }) => ( - createServerConfigStore({ featureFlags, serverConfig })}> + ({ children, featureFlags, serverConfig, isMobile }) => ( + createServerConfigStore({ featureFlags, isMobile, serverConfig })}> {children} ), diff --git a/src/store/serverConfig/selectors.ts b/src/store/serverConfig/selectors.ts index 15a9fff692a0..8d2e3130ae3b 100644 --- a/src/store/serverConfig/selectors.ts +++ b/src/store/serverConfig/selectors.ts @@ -8,4 +8,5 @@ export const featureFlagsSelectors = (s: ServerConfigStore) => export const serverConfigSelectors = { enabledOAuthSSO: (s: ServerConfigStore) => s.serverConfig.enabledOAuthSSO, enabledTelemetryChat: (s: ServerConfigStore) => s.serverConfig.telemetry.langfuse || false, + isMobile: (s: ServerConfigStore) => s.isMobile || false, }; diff --git a/src/store/serverConfig/store.ts b/src/store/serverConfig/store.ts index 7f467a5ba88e..52eaffc62321 100644 --- a/src/store/serverConfig/store.ts +++ b/src/store/serverConfig/store.ts @@ -20,6 +20,7 @@ const initialState: ServerConfigStore = { export interface ServerConfigStore { featureFlags: IFeatureFlags; + isMobile?: boolean; serverConfig: GlobalServerConfig; }