feat: implement admin dashboard with site settings, user management, and activity monitoring

This commit is contained in:
LaurensBartelds committed 2026-04-22 23:28:40 +02:00
1 parent c4c1e1a45a
commit 53abe32795
12 files changed
+1226 -18

No files matched your search

+4 -3
View File
@@ -6,6 +6,7 @@ export interface User {
id: number
email: string
displayName: string
role: 'user' | 'admin'
}
interface AuthContextValue {
@@ -30,8 +31,8 @@ export function AuthProvider({ children }: { children: ReactNode }) {
return
}
try {
const data = await apiFetch<{ id: number; email: string; displayName: string }>('/api/auth/me')
setUser({ id: data.id, email: data.email, displayName: data.displayName })
const data = await apiFetch<{ id: number; email: string; displayName: string; role: 'user' | 'admin' }>('/api/auth/me')
setUser({ id: data.id, email: data.email, displayName: data.displayName, role: data.role ?? 'user' })
} catch {
clearToken()
setUser(null)
@@ -50,7 +51,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
body: JSON.stringify({ email, password }),
})
setToken(data.token)
setUser(data.user)
setUser({ ...data.user, role: data.user.role ?? 'user' })
}, [])
const register = useCallback(async (email: string, password: string, displayName: string): Promise<string> => {