"use client"; import { DropdownMenuTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, } from "@/components/ui/dropdown-menu"; import { ChevronsUpDown, LogOut } from "lucide-react"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { Loading } from "@/components/loading"; import { useAuth, useOrganization, useOrganizationList, useUser } from "@clerk/clerk-react"; import { Avatar, AvatarImage } from "@/components/ui/avatar"; import { AvatarFallback } from "@radix-ui/react-avatar"; type Props = {}; export const TeamSwitcher: React.FC = (): JSX.Element => { const { setActive, organizationList } = useOrganizationList(); const { organization: currentOrg } = useOrganization(); const { signOut } = useAuth(); const { user } = useUser(); const router = useRouter(); const [loading, setLoading] = useState(false); async function changeOrg(id: string | null) { if (!setActive) { return; } try { setLoading(true); await setActive({ organization: id }); router.refresh(); } finally { setLoading(false); } } return ( {loading ? ( ) : (
{user?.profileImageUrl ? ( ) : null} {(currentOrg?.slug ?? user?.username ?? "").slice(0, 2).toUpperCase() ?? "P"} {currentOrg?.name ?? "Personal"}
{/* */}
)}
); };