fix: resolve hydration mismatch error and improve project setup

- Fix React hydration mismatch in ThemeProvider with mounted state check
- Update layout.tsx to use light theme by default instead of system
- Optimize photo filtering with useMemo in page.tsx
- Add Express mock API for development
- Update CLAUDE.md with comprehensive project documentation
- Create backend/ and admin/ directories for future development
This commit is contained in:
xujiang
2025-07-08 17:34:16 +08:00
parent 3d197eb7e3
commit 8c5c9a5f8e
6 changed files with 285 additions and 12 deletions

View File

@ -7,5 +7,15 @@ import {
} from 'next-themes'
export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
const [mounted, setMounted] = React.useState(false)
React.useEffect(() => {
setMounted(true)
}, [])
if (!mounted) {
return <>{children}</>
}
return <NextThemesProvider {...props}>{children}</NextThemesProvider>
}