From 28351649395d8072cefbe1cc83993e7804a19183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Pretto?= <info@npretto.com> Date: Fri, 6 Sep 2024 17:40:32 +0200 Subject: [PATCH] fix(sdk): default font not working (#47712) * fix(sdk) default font on not working * fix initial state for the sdk --- .../components/private/SdkThemeProvider.tsx | 9 ++++++--- enterprise/frontend/src/embedding-sdk/store/index.ts | 1 + .../metabase/styled-components/theme/css-variables.ts | 5 ++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/enterprise/frontend/src/embedding-sdk/components/private/SdkThemeProvider.tsx b/enterprise/frontend/src/embedding-sdk/components/private/SdkThemeProvider.tsx index 3c898302a91..c6932e6e609 100644 --- a/enterprise/frontend/src/embedding-sdk/components/private/SdkThemeProvider.tsx +++ b/enterprise/frontend/src/embedding-sdk/components/private/SdkThemeProvider.tsx @@ -8,6 +8,7 @@ import { } from "embedding-sdk/lib/theme"; import { useSelector } from "metabase/lib/redux"; import { getSettings } from "metabase/selectors/settings"; +import { getFont } from "metabase/styled-components/selectors"; import { getMetabaseSdkCssVariables } from "metabase/styled-components/theme/css-variables"; import { ThemeProvider, useMantineTheme } from "metabase/ui"; import { getApplicationColors } from "metabase-enterprise/settings/selectors"; @@ -32,13 +33,15 @@ export const SdkThemeProvider = ({ theme, children }: Props) => { return ( <ThemeProvider theme={themeOverride}> - <GlobalStyles /> + <SDKGlobalStyles /> {children} </ThemeProvider> ); }; -function GlobalStyles() { +function SDKGlobalStyles() { const theme = useMantineTheme(); - return <Global styles={getMetabaseSdkCssVariables(theme)} />; + const font = useSelector(getFont); + + return <Global styles={getMetabaseSdkCssVariables(theme, font)} />; } diff --git a/enterprise/frontend/src/embedding-sdk/store/index.ts b/enterprise/frontend/src/embedding-sdk/store/index.ts index 88e7b73400b..5be403a894f 100644 --- a/enterprise/frontend/src/embedding-sdk/store/index.ts +++ b/enterprise/frontend/src/embedding-sdk/store/index.ts @@ -20,6 +20,7 @@ export const sdkReducers = { export const store = getStore(sdkReducers, null, { embed: { + options: {}, isEmbeddingSdk: true, }, app: { diff --git a/frontend/src/metabase/styled-components/theme/css-variables.ts b/frontend/src/metabase/styled-components/theme/css-variables.ts index 438667482aa..604b8c20930 100644 --- a/frontend/src/metabase/styled-components/theme/css-variables.ts +++ b/frontend/src/metabase/styled-components/theme/css-variables.ts @@ -34,9 +34,10 @@ export function getMetabaseCssVariables(theme: MantineTheme) { `; } -export function getMetabaseSdkCssVariables(theme: MantineTheme) { +export function getMetabaseSdkCssVariables(theme: MantineTheme, font: string) { return css` :root { + --mb-default-font-family: ${font}; ${getSdkDesignSystemCssVariables(theme)} ${getThemeSpecificCssVariables(theme)} } @@ -53,8 +54,6 @@ export function getMetabaseSdkCssVariables(theme: MantineTheme) { **/ function getSdkDesignSystemCssVariables(theme: MantineTheme) { return css` - --mb-default-font-family: "${theme.fontFamily}"; - /* Semantic colors */ /* Dynamic colors from SDK */ ${Object.entries(SDK_TO_MAIN_APP_COLORS_MAPPING).flatMap( -- GitLab