import type { FunctionComponent, PropsWithChildren } from "react" // @ts-ignore -- createServerContext is not in @types/react atm import { useContext, createServerContext } from "react" import { cookies } from "next/headers" import { Theme, THEME_COOKIE_NAME } from "./theme" import { DEFAULT_THEME } from "./theme" const ThemeContext = createServerContext(null) export function useServerTheme(): Theme { return useContext(ThemeContext) } const ThemeServerContextProvider: FunctionComponent> = ({ children }) => { const cookiesList = cookies() const theme = cookiesList.get(THEME_COOKIE_NAME)?.value ?? DEFAULT_THEME return {children} } export default ThemeServerContextProvider