From 5280cb7c0ef853c596d208a0353ce094e330554d Mon Sep 17 00:00:00 2001 From: arvinxx Date: Thu, 2 May 2024 23:18:13 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=91=E2=80=8D=F0=9F=92=BB=20chore:=20ad?= =?UTF-8?q?d=20an=20isMobile=20selector?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/GlobalProvider/index.tsx | 8 +++++++- src/store/serverConfig/Provider.tsx | 5 +++-- src/store/serverConfig/selectors.ts | 1 + src/store/serverConfig/store.ts | 1 + 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/layout/GlobalProvider/index.tsx b/src/layout/GlobalProvider/index.tsx index aa49feeba23..6aeff65ec69 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 ed009b19360..00e30ea399f 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 15a9fff692a..8d2e3130ae3 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 7f467a5ba88..52eaffc6232 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; }