diff --git a/src/components/profile/UserProfile.tsx b/src/components/profile/UserProfile.tsx index 6877fb70..ed44c3a3 100644 --- a/src/components/profile/UserProfile.tsx +++ b/src/components/profile/UserProfile.tsx @@ -562,10 +562,11 @@ export default function UserProfile() { {(() => { if (!user.createdAt) return 'Dec 2023'; try { + const createdAt = user.createdAt as any; const d = new Date( - (user.createdAt as any).seconds - ? (user.createdAt as any).seconds * 1000 - : (user.createdAt as any) + createdAt.seconds + ? createdAt.seconds * 1000 + : createdAt ); if (isNaN(d.getTime())) return 'Dec 2023'; return d.toLocaleDateString(undefined, { diff --git a/src/components/providers/theme-provider.tsx b/src/components/providers/theme-provider.tsx index 080747fd..f48a8223 100644 --- a/src/components/providers/theme-provider.tsx +++ b/src/components/providers/theme-provider.tsx @@ -22,6 +22,16 @@ function ThemeStoreBridge() { } export function ThemeProvider({ children, ...props }: ThemeProviderProps) { + const [mounted, setMounted] = React.useState(false); + + React.useEffect(() => { + setMounted(true); + }, []); + + if (!mounted) { + return
{children}
; + } + return ( diff --git a/src/context/AuthContext.tsx b/src/context/AuthContext.tsx index 2dfc10b9..9fb11587 100644 --- a/src/context/AuthContext.tsx +++ b/src/context/AuthContext.tsx @@ -246,7 +246,7 @@ export function AuthProvider({ children }: { children: React.ReactNode }) { email: firebaseUser.email, name: firebaseUser.displayName || '', photoURL: firebaseUser.photoURL || '', - role: 'member', + role: 'member' as const, points: 0, streak: 0, level: 0, @@ -267,7 +267,7 @@ export function AuthProvider({ children }: { children: React.ReactNode }) { showInCommunity: true, }, preferences: { - theme: 'dark', + theme: 'dark' as const, }, githubStats: { connected: false,