diff --git a/frontend/src/components/Layout.tsx b/frontend/src/components/Layout.tsx index 5271ef7..5ea7866 100644 --- a/frontend/src/components/Layout.tsx +++ b/frontend/src/components/Layout.tsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react' import { NavLink, useLocation } from 'react-router-dom' -import { Wrench, ClipboardList, History, Boxes, HardHat, Repeat, MapPin, Settings, Menu } from 'lucide-react' +import { Wrench, ClipboardList, History, Boxes, HardHat, Repeat, MapPin, Settings, Menu, LogOut } from 'lucide-react' import { useAuth } from './AuthGate' import { can } from '../types' @@ -22,6 +22,11 @@ export default function Layout({ children }: { children: React.ReactNode }) { const location = useLocation() const [menuOpen, setMenuOpen] = useState(false) + async function logout() { + await fetch('/maintenance/api/auth/logout', { method: 'POST', credentials: 'include' }) + window.location.reload() + } + useEffect(() => { setMenuOpen(false) }, [location.pathname]) return ( @@ -39,7 +44,18 @@ export default function Layout({ children }: { children: React.ReactNode }) { ))} -