feat(client): logout

Signed-off-by: Noa Virellia <noa@requiem.garden>
This commit is contained in:
2025-12-25 13:29:51 +08:00
parent f94220dcc3
commit 9e51414a13
2 changed files with 17 additions and 1 deletions

View File

@@ -23,10 +23,12 @@ import {
useSidebar,
} from '@/components/ui/sidebar';
import { useUserInfo } from '@/hooks/data/useUserInfo';
import { useLogout } from '@/hooks/useLogout';
export function NavUser() {
const { isMobile } = useSidebar();
const { data: user } = useUserInfo();
const { logout } = useLogout();
return (
<SidebarMenu>
@@ -71,7 +73,7 @@ export function NavUser() {
</div>
</DropdownMenuLabel>
<DropdownMenuSeparator />
<DropdownMenuItem>
<DropdownMenuItem onClick={logout}>
<IconLogout />
</DropdownMenuItem>

View File

@@ -0,0 +1,14 @@
import { useNavigate } from '@tanstack/react-router';
import { useCallback } from 'react';
import { removeToken } from '@/lib/token';
export function useLogout() {
const navigate = useNavigate();
const logout = useCallback(() => {
removeToken();
void navigate({ to: '/login' });
}, [navigate]);
return { logout };
}