Files
url-shortener/frontend/src/components/layout/user.menu.tsx
T
2025-11-23 20:42:56 +01:00

46 lines
1.2 KiB
TypeScript

import { CircleUserIcon, LogOut, User2Icon } from "lucide-react"
import { Link } from "react-router"
import { Button } from "@/components/ui/button"
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"
const handleLogout = () => {
localStorage.removeItem("accessToken")
window.location.href = "/login"
}
export function UserMenu() {
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="outline">
<CircleUserIcon />
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent side="bottom" align="end" className="w-36">
<DropdownMenuGroup>
<DropdownMenuItem asChild>
<Link to={"/profile"} className="flex cursor-pointer items-center">
<User2Icon className="mr-2" />
Profile
</Link>
</DropdownMenuItem>
</DropdownMenuGroup>
<DropdownMenuSeparator />
<DropdownMenuItem className="flex items-center">
<button onClick={handleLogout} className="flex items-center">
<LogOut className="mr-4" />
Logout
</button>
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
)
}