diff --git a/src/frontend/apps/impress/.env b/src/frontend/apps/impress/.env new file mode 100644 index 00000000..6c2936d2 --- /dev/null +++ b/src/frontend/apps/impress/.env @@ -0,0 +1 @@ +NEXT_PUBLIC_THEME=dsfr diff --git a/src/frontend/apps/impress/.env.test b/src/frontend/apps/impress/.env.test index 9a4d5142..6d5094f8 100644 --- a/src/frontend/apps/impress/.env.test +++ b/src/frontend/apps/impress/.env.test @@ -1 +1,2 @@ NEXT_PUBLIC_API_ORIGIN=http://test.jest +NEXT_PUBLIC_THEME=test-theme diff --git a/src/frontend/apps/impress/src/cunningham/__tests__/useCunninghamTheme.spec.tsx b/src/frontend/apps/impress/src/cunningham/__tests__/useCunninghamTheme.spec.tsx new file mode 100644 index 00000000..1d8fc26e --- /dev/null +++ b/src/frontend/apps/impress/src/cunningham/__tests__/useCunninghamTheme.spec.tsx @@ -0,0 +1,9 @@ +import useCunninghamTheme from '../useCunninghamTheme'; + +describe('', () => { + it('has the theme from NEXT_PUBLIC_THEME', () => { + const { theme } = useCunninghamTheme.getState(); + + expect(theme).toBe('test-theme'); + }); +}); diff --git a/src/frontend/apps/impress/src/cunningham/useCunninghamTheme.tsx b/src/frontend/apps/impress/src/cunningham/useCunninghamTheme.tsx index e858286f..26feaf8c 100644 --- a/src/frontend/apps/impress/src/cunningham/useCunninghamTheme.tsx +++ b/src/frontend/apps/impress/src/cunningham/useCunninghamTheme.tsx @@ -20,7 +20,7 @@ const useCunninghamTheme = create((set, get) => { merge(tokens.themes['default'], tokens.themes[get().theme]) as Tokens; return { - theme: 'dsfr', + theme: (process.env.NEXT_PUBLIC_THEME as Theme) || 'dsfr', colorsTokens: () => currentTheme().theme.colors, componentTokens: () => currentTheme().components, setTheme: (theme: Theme) => { diff --git a/src/frontend/apps/impress/src/custom-next.d.ts b/src/frontend/apps/impress/src/custom-next.d.ts index 4f84b79c..b8bbf9bf 100644 --- a/src/frontend/apps/impress/src/custom-next.d.ts +++ b/src/frontend/apps/impress/src/custom-next.d.ts @@ -22,5 +22,6 @@ namespace NodeJS { NEXT_PUBLIC_API_ORIGIN?: string; NEXT_PUBLIC_SIGNALING_URL?: string; NEXT_PUBLIC_SW_DEACTIVATED?: string; + NEXT_PUBLIC_THEME?: string; } }