import { ChevronDown, UserRoundKey } from 'lucide-react'; import type { PermissionMode } from '@/api/types'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; import { useTranslation } from '@/i18n/useI18n.ts'; import { cn } from '@/lib/utils.ts'; const PERMISSION_MODES: { value: PermissionMode; label: string }[] = [ { value: 'default', label: 'Default' }, { value: 'accept_edits', label: 'Accept Edits' }, { value: 'explore', label: 'Explore' }, { value: 'bypass', label: 'Bypass' }, { value: 'dont_ask', label: "Don't Ask" }, ]; interface Props { className?: string; value?: PermissionMode; disabled?: boolean; onChange?: (value: PermissionMode) => void; } export function PermissionModeSelect({ className, value, disabled, onChange }: Props) { const { t } = useTranslation(); const displayLabel = value ? (PERMISSION_MODES.find((m) => m.value === value)?.label ?? value) : t('permission-mode.placeholder'); return ( {t('permission-mode.label')} {PERMISSION_MODES.map((mode) => ( onChange?.(mode.value)}> {mode.label} {t(`permission-mode.${mode.value}-tooltip`)} ))} ); }