'use client'; import { useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; import { loadComponent } from '@/lib/material-components'; interface TopNavigationBarProps { title?: string; user?: any; onLogout?: () => void; } export function TopNavigationBar({ title, user, onLogout }: TopNavigationBarProps) { const router = useRouter(); const [componentsLoaded, setComponentsLoaded] = useState(false); useEffect(() => { Promise.all([ loadComponent('icon-button'), loadComponent('icon'), ]).then(() => { setComponentsLoaded(true); }); }, []); const handleLogout = () => { localStorage.removeItem('access_token'); localStorage.removeItem('refresh_token'); if (onLogout) { onLogout(); } else { router.push('/login'); } }; if (!componentsLoaded) { return (
); } return (
Logo router.push('/dashboard')} />

{title || 'Uchill Platform'}

{user && ( {user.first_name || user.email} )} logout
); }