'use client' import { useEffect, useState } from 'react' import { authFetch, clearToken, getApiBase, getToken } from '../lib/auth' export default function HeaderActions() { const [signedIn, setSignedIn] = useState(false) const [role, setRole] = useState(null) useEffect(() => { const token = getToken() setSignedIn(Boolean(token)) if (!token) { return } const load = async () => { try { const baseUrl = getApiBase() const response = await authFetch(`${baseUrl}/auth/me`) if (!response.ok) { clearToken() setSignedIn(false) setRole(null) return } const data = await response.json() setRole(data?.role ?? null) } catch (err) { console.error(err) } } void load() }, []) const signOut = () => { clearToken() setSignedIn(false) if (typeof window !== 'undefined') { window.location.href = '/login' } } if (!signedIn) { return null } return (
Requests How it works My profile Send feedback {role === 'admin' && Settings}
) }