import { User } from 'lucide-react' import Link from 'next/link' import { useTheme } from 'next-themes' import { useRouter } from 'next/router' import { useState } from 'react' import { useSignOut } from 'lib/auth' import { useProfile } from 'lib/profile' import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, singleThemes, Theme, } from 'ui' import { useSetCommandMenuOpen } from 'ui-patterns/CommandMenu' const UserSettingsDropdown = () => { const signOut = useSignOut() const router = useRouter() const [open, setOpen] = useState(false) const { profile } = useProfile() const setCommandMenuOpen = useSetCommandMenuOpen() const { theme, setTheme } = useTheme() const onClickLogout = async () => { await signOut() await router.push('/sign-in') } return ( setOpen(!open)} modal={false}>

{profile?.first_name} {profile?.last_name}

{profile?.primary_email}

setOpen(false)} asChild> Preferences setOpen(false)} asChild> Access tokens setOpen(false)} asChild> Audit logs { setOpen(false) setCommandMenuOpen(true) }} > Command menu ⌘K Theme { setTheme(x) }} > {singleThemes.map((theme: Theme) => ( {theme.name} ))} { onClickLogout() setOpen(false) }} > Log out
) } export default UserSettingsDropdown