"use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; import { Command, CommandGroup, CommandItem, CommandList, CommandSeparator, } from "@/components/ui/command"; import { ChevronDown, PlusCircle } from "lucide-react"; import { Session } from "@/lib/auth-types"; import { client, useSession } from "@/lib/auth-client"; import { useRouter } from "next/navigation"; export default function AccountSwitcher({ sessions }: { sessions: Session[] }) { const { data: currentUser } = useSession(); const [open, setOpen] = useState(false); const router = useRouter(); return ( {}} className="text-sm w-full justify-between" key={currentUser?.user.id} >
{currentUser?.user.name.charAt(0)} {currentUser?.user.name}
{sessions .filter((s) => s.user.id !== currentUser?.user.id) .map((u, i) => ( { await client.multiSession.setActive({ sessionToken: u.session.token, }); setOpen(false); }} className="text-sm" > {u.user.name.charAt(0)}

{u.user.name}

({u.user.email})

))}
{ router.push("/sign-in"); setOpen(false); }} className="cursor-pointer text-sm" > Add Account
); }