
A dropdown menu for user profile options showing user details, account settings, billing, notifications, and sign out.
components/blocks/layout/profile/profile-1.tsx
import { BadgeCheckIcon, BellIcon, CreditCardIcon, LogOutIcon, UserIcon } from "lucide-react";
import { Avatar, AvatarFallback } from "@/components/ui/avatar";
import { Button } from "@/components/ui/button";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
export const Profile1 = () => {
return (
<DropdownMenu>
<DropdownMenuTrigger
render={
<Button variant="ghost" size="icon-sm" aria-label="Profile">
<Avatar size="sm">
<AvatarFallback>
<UserIcon />
</AvatarFallback>
</Avatar>
</Button>
}></DropdownMenuTrigger>
<DropdownMenuContent align="end" className="w-56 shadow-none">
<div className="flex items-center gap-3 px-2.5 py-2">
<Avatar>
<AvatarFallback>
<UserIcon />
</AvatarFallback>
</Avatar>
<div className="flex flex-col">
<p className="text-sm font-medium">John Doe</p>
<p className="text-muted-foreground text-xs">john.doe@example.com</p>
</div>
</div>
<DropdownMenuSeparator />
<DropdownMenuGroup>
<DropdownMenuItem>
<BadgeCheckIcon />
Account
</DropdownMenuItem>
<DropdownMenuItem>
<CreditCardIcon />
Billing
</DropdownMenuItem>
<DropdownMenuItem>
<BellIcon />
Notifications
</DropdownMenuItem>
</DropdownMenuGroup>
<DropdownMenuSeparator />
<DropdownMenuItem>
<LogOutIcon />
Sign Out
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
);
};