chore: migrate to payload / nextjs

This commit is contained in:
syntaxbullet
2026-06-16 13:02:47 +02:00
parent aff090b693
commit 6b395e5735
257 changed files with 33616 additions and 1451 deletions

View File

@@ -0,0 +1,33 @@
'use client'
import type { Theme } from '@/providers/Theme/types'
import React, { createContext, useCallback, use, useState } from 'react'
import canUseDOM from '@/utilities/canUseDOM'
export interface ContextType {
headerTheme?: Theme | null
setHeaderTheme: (theme: Theme | null) => void
}
const initialContext: ContextType = {
headerTheme: undefined,
setHeaderTheme: () => null,
}
const HeaderThemeContext = createContext(initialContext)
export const HeaderThemeProvider = ({ children }: { children: React.ReactNode }) => {
const [headerTheme, setThemeState] = useState<Theme | undefined | null>(
canUseDOM ? (document.documentElement.getAttribute('data-theme') as Theme) : undefined,
)
const setHeaderTheme = useCallback((themeToSet: Theme | null) => {
setThemeState(themeToSet)
}, [])
return <HeaderThemeContext value={{ headerTheme, setHeaderTheme }}>{children}</HeaderThemeContext>
}
export const useHeaderTheme = (): ContextType => use(HeaderThemeContext)