diff --git a/apps/web/src/components/app-shell.tsx b/apps/web/src/components/app-shell.tsx index dc45a98..ab8c885 100644 --- a/apps/web/src/components/app-shell.tsx +++ b/apps/web/src/components/app-shell.tsx @@ -1,3 +1,4 @@ +import { useMutation } from '@tanstack/react-query' import { ArrowLeft, ArrowRight, @@ -19,6 +20,7 @@ import { CommandPalette } from '@/components/command-palette' import { FullPlayer } from '@/components/full-player' import { PlayerBar } from '@/components/player-bar' import { SettingsModal } from '@/components/settings-modal' +import { logout } from '@/lib/api' import { usePlayerStore } from '@/stores/player-store' import { useSessionStore } from '@/stores/session-store' @@ -42,6 +44,13 @@ export function AppShell({ children }: { children: React.ReactNode }) { const [settingsOpen, setSettingsOpen] = useState(false) const [userMenuOpen, setUserMenuOpen] = useState(false) const [paletteOpen, setPaletteOpen] = useState(false) + const logoutMutation = useMutation({ + mutationFn: logout, + onSettled: () => { + clearSession() + setUserMenuOpen(false) + }, + }) useEffect(() => { function onKeyDown(event: KeyboardEvent) { @@ -99,7 +108,7 @@ export function AppShell({ children }: { children: React.ReactNode }) {