import { CustomTokenParams, extractStaticStyle, StyleProvider, ThemeProvider as Provider, } from 'antd-style'; import { ReactNode, useCallback } from 'react'; import { useThemeStore } from '../../store/useThemeStore'; import { createCustomToken, getAntdTheme, getCustomStylish } from '../../styles'; import { SiteConfigToken } from '../../types'; export interface ThemeProviderProps { token?: Partial; children?: ReactNode; ssrInline?: boolean; cache?: typeof extractStaticStyle.cache; } export const ThemeProvider = ({ children, token, ssrInline, cache }: ThemeProviderProps) => { const themeMode = useThemeStore((s) => s.themeMode); const getCustomToken = useCallback( (params: CustomTokenParams) => { const base = createCustomToken(params); if (token) { return { ...base, ...token }; } else { return base; } }, [token], ); return ( {children} ); };