"use client"; import { PropsWithChildren } from "react"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; import { redirect } from "next/navigation"; import { CircleUser, LogOut, ShieldHalf } from "lucide-react"; import { signOut } from "@/lib/auth/auth-client"; import { useRouter } from "next/navigation"; import { User } from "@/db/schema/01_user"; export type LoggedInDropdownProps = PropsWithChildren<{ user: User; }>; export const LoggedInDropdown = (props: LoggedInDropdownProps) => { const router = useRouter(); return ( {props.children} { redirect("/dashboard/profile"); }} >
Account
{(props.user.role === "superadmin" || props.user.role === "admin") && ( { redirect("/dashboard/admin"); }} >
Administration Panel
)} { await signOut({ fetchOptions: { onSuccess: () => { router.push("/login"); }, }, }); }} >
Log out
); };