diff --git a/.storybook/preview.ts b/.storybook/preview.ts index ff0c7e217..c7068abc3 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -1,5 +1,8 @@ import { withThemeByDataAttribute } from '@storybook/addon-themes' import type { Preview, Renderer } from '@storybook/vue3-vite' +import { watch } from 'vue' + +import { useAppTheme } from '../src/app/shell/theme' import '../src/app.css' @@ -13,8 +16,16 @@ const preview: Preview = { defaultTheme: 'dark', attributeName: 'data-theme' }), - (story) => ({ + (story, context) => ({ components: { story }, + setup() { + const { setTheme } = useAppTheme() + watch( + () => context.globals.theme, + (theme) => setTheme(theme === 'light' ? 'light' : 'dark'), + { immediate: true } + ) + }, template: '