- Unified localStorage key to 'theme-preference' across all components
- Fixed header.tsx using wrong localStorage key ('theme' instead of 'theme-preference')
- Added localStorage hybrid persistence for instant theme changes
- Removed router.refresh() which was causing stale data revert
- Replaced Blue theme with Sepia
- Consolidated auth() calls to prevent race conditions
- Updated UserSettingsData types to include all themes
30 lines
924 B
TypeScript
30 lines
924 B
TypeScript
'use client'
|
|
|
|
import { LanguageProvider } from '@/lib/i18n/LanguageProvider'
|
|
import { LabelProvider } from '@/context/LabelContext'
|
|
import { NotebooksProvider } from '@/context/notebooks-context'
|
|
import { NotebookDragProvider } from '@/context/notebook-drag-context'
|
|
import { NoteRefreshProvider } from '@/context/NoteRefreshContext'
|
|
import type { ReactNode } from 'react'
|
|
|
|
interface ProvidersWrapperProps {
|
|
children: ReactNode
|
|
initialLanguage?: string
|
|
}
|
|
|
|
export function ProvidersWrapper({ children, initialLanguage = 'en' }: ProvidersWrapperProps) {
|
|
return (
|
|
<NoteRefreshProvider>
|
|
<LabelProvider>
|
|
<NotebooksProvider>
|
|
<NotebookDragProvider>
|
|
<LanguageProvider initialLanguage={initialLanguage as any}>
|
|
{children}
|
|
</LanguageProvider>
|
|
</NotebookDragProvider>
|
|
</NotebooksProvider>
|
|
</LabelProvider>
|
|
</NoteRefreshProvider>
|
|
)
|
|
}
|