"use client"; import { DropdownMenuTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuCheckboxItem, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, } from "@/components/ui/dropdown-menu"; import { Check, ChevronsUpDown, Plus, Key, Book, LogOut, Rocket } from "lucide-react"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Loading } from "@/components/loading"; import { cn } from "@/lib/utils"; 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"}
{/* */}
)}
); };