feat: add admin dashboard and core API routes with Docker configuration

This commit is contained in:
2026-10-29 19:46:37 +01:00
parent 2fdabe1dfd
commit 4f4856d9dc
89 changed files with 1984 additions and 1034 deletions

View File

@@ -22,9 +22,27 @@ export function UserProvider({ children }: { children: ReactNode }) {
React.useEffect(() => {
const savedUser = localStorage.getItem('afro_user');
if (savedUser) {
setUser(JSON.parse(savedUser));
try {
setUser(JSON.parse(savedUser));
} catch {
localStorage.removeItem('afro_user');
}
}
// Synchronize user session from signed HttpOnly cookie
fetch('/api/users/me')
.then(async res => {
if (res.ok) {
const freshUser = await res.json();
setUser(freshUser);
localStorage.setItem('afro_user', JSON.stringify(freshUser));
} else if (res.status === 401) {
setUser(null);
localStorage.removeItem('afro_user');
}
})
.catch(err => console.error('Error verifying session:', err));
// Fetch settings
fetch('/api/settings')
.then(res => res.json())
@@ -47,6 +65,9 @@ export function UserProvider({ children }: { children: ReactNode }) {
const logout = () => {
setUser(null);
localStorage.removeItem('afro_user');
fetch('/api/auth/logout', { method: 'POST' }).catch(err =>
console.error('Error logging out:', err)
);
};
return (