diff --git a/src/Header/Component.client.tsx b/src/Header/Component.client.tsx index e9a4f93..e9d29d5 100644 --- a/src/Header/Component.client.tsx +++ b/src/Header/Component.client.tsx @@ -5,20 +5,43 @@ import { usePathname } from 'next/navigation' import React, { useEffect, useState } from 'react' import type { Header } from '@/payload-types' - import { Logo } from '@/components/Logo/Logo' import { HeaderNav } from './Nav' import { useThemeMode } from '@/hooks/useThemeMode' -import { Container } from '@/components/ui/Container' // Import your custom container +import { Container } from '@/components/ui/Container' -// ... ToggleButton component remains the same ... +// 1. DEFINE THIS COMPONENT INSIDE THE FILE +function ToggleButton() { + const { isDark, toggle } = useThemeMode() + return ( + + ) +} -export const HeaderClient: React.FC = ({ data }) => { +// 2. NOW HeaderClient CAN SEE ToggleButton +export const HeaderClient: React.FC<{ data: Header }> = ({ data }) => { const [theme, setTheme] = useState(null) const { headerTheme, setHeaderTheme } = useHeaderTheme() const pathname = usePathname() - // ... useEffect hooks remain the same ... + useEffect(() => { + setHeaderTheme(null) + }, [pathname, setHeaderTheme]) + + useEffect(() => { + if (headerTheme && headerTheme !== theme) setTheme(headerTheme) + }, [headerTheme, theme]) return (