import { Head } from 'fresh/runtime.ts'; import { User } from '/lib/types.ts'; interface Data { route: string; user?: User; } interface MenuItem { url: string; label: string; } export default function Header({ route, user }: Data) { const activeClass = 'bg-slate-800 text-white rounded-md px-3 py-2 text-sm font-medium'; const defaultClass = 'text-slate-300 hover:bg-slate-700 hover:text-white rounded-md px-3 py-2 text-sm font-medium'; const mobileActiveClass = 'bg-slate-800 text-white block rounded-md px-3 py-2 text-base font-medium'; const mobileDefaultClass = 'text-slate-300 hover:bg-slate-700 hover:text-white block rounded-md px-3 py-2 text-base font-medium'; const iconWidthAndHeightInPixels = 20; const menuItems: MenuItem[] = [ { url: '/dashboard', label: 'Dashboard', }, { url: '/news', label: 'News', }, { url: '/contacts', label: 'Contacts', }, { url: '/calendar', label: 'Calendar', }, { url: '/tasks', label: 'Tasks', }, { url: '/files', label: 'Files', }, { url: '/notes', label: 'Notes', }, { url: '/photos', label: 'Photos', }, ]; if (user) { const activeMenu = menuItems.find((menu) => route.startsWith(menu.url)); let pageLabel = activeMenu?.label || '404 - Page not found'; if (route.startsWith('/news/feeds')) { pageLabel = 'News feeds'; } if (route.startsWith('/settings')) { pageLabel = 'Settings'; } return ( <>