import type { ConfigColorMode, MaybeConfigColorMode } from '@kobalte/core' import type { DropdownMenuTriggerProps } from '@kobalte/core/dropdown-menu' import { useColorMode } from '@kobalte/core' import { LucideCheck, LucideChevronRight, LucideExternalLink, LucideLaptop, LucideLogIn, LucideMoon, LucideSun, LucideUsers } from 'lucide-solid' import { SiGithub } from 'solid-icons/si' import { createSignal, For, Show } from 'solid-js' import { Button } from '../../lib/components/ui/button.tsx' import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuGroupLabel, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from '../../lib/components/ui/dropdown-menu.tsx' import { cn } from '../../lib/utils.ts' import { $accounts, $activeAccount, $activeAccountId } from '../../store/accounts.ts' import { useStore } from '../../store/use-store.ts' import { AccountAvatar } from '../AccountAvatar.tsx' export function NavbarMenu(props: { onShowAccounts: () => void onShowSettings: () => void }) { const { setColorMode } = useColorMode() const [localColorMode, setLocalColorMode] = createSignal(localStorage.getItem('kb-color-mode') as MaybeConfigColorMode) const activeAccount = useStore($activeAccount) const accounts = useStore($accounts) // See: https://github.com/kobaltedev/kobalte/issues/543 function updateColorMode(mode: ConfigColorMode) { setLocalColorMode(mode) setColorMode(mode) } return ( Log in )} > ( )} /> Accounts {account => ( $activeAccountId.set(account.id)}> {account.name} {account.id === activeAccount()?.id && } )}
Theme
updateColorMode('light')}>
Light
updateColorMode('dark')}>
Dark
updateColorMode('system')}>
System
Manage accounts GitHub
) }