'use client' import { useEffect, useState } from 'react' import { useRouter } from 'next/navigation' import Link from 'next/link' import Image from 'next/image' interface UserProfile { username: string first_name?: string avatarUrl?: string } export function Header() { const [user, setUser] = useState(null) const router = useRouter() useEffect(() => { const token = localStorage.getItem('token') if (!token) { return } fetch('/api/auth/user/', { headers: { Authorization: `Bearer ${token}` }, }) .then(res => { if (!res.ok) throw new Error('unauth') return res.json() }) .then(setUser) .catch(() => { localStorage.removeItem('token') router.push('/auth/login') }) }, [router]) const logout = () => { localStorage.removeItem('token') router.push('/') } return ( ) }