diff --git a/.storybook/components/DocContainer.tsx b/.storybook/components/DocContainer.tsx index e592bb43..f20b0d5c 100644 --- a/.storybook/components/DocContainer.tsx +++ b/.storybook/components/DocContainer.tsx @@ -1,16 +1,12 @@ -import { createContext, useContext, useEffect, useState } from 'react'; +import { createContext, useContext } from 'react'; import { Provider } from '@koobiq/react-components'; -import { isNotNil } from '@koobiq/react-core'; import { DocsContainer as BaseContainer } from '@storybook/addon-docs/blocks'; import { linkTo } from '@storybook/addon-links'; -import { DARK_MODE_EVENT_NAME } from '@vueless/storybook-dark-mode'; -import { addons } from 'storybook/preview-api'; +import { useDarkMode } from '@vueless/storybook-dark-mode'; import { light, dark } from '../themes'; -const channel = addons.getChannel(); - export const ThemeProviderContext = createContext<{ isDark?: boolean; } | null>(null); @@ -19,18 +15,7 @@ export const useThemeProvider = () => useContext(ThemeProviderContext); export const DocContainer: typeof BaseContainer = (params) => { const { context, children } = params; - const [isDark, setDark] = useState(); - const themeIsMounted = isNotNil(isDark); - - useEffect(() => { - channel.on(DARK_MODE_EVENT_NAME, setDark); - - return () => channel.removeListener(DARK_MODE_EVENT_NAME, setDark); - }, [channel, setDark]); - - if (!themeIsMounted) { - return null; - } + const isDark = useDarkMode(); return (