import { ChevronDown, Check } from "lucide-react"; import { useTranslation } from "react-i18next"; import type { DiskFilesystem } from "@/main-axios"; import { cn } from "@/lib/utils"; import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, } from "@/components/dropdown-menu"; export function FilesystemPicker({ filesystems, value, onChange, align = "end", className, }: { filesystems: DiskFilesystem[]; value: string | null; onChange: (mount: string) => void; align?: "start" | "end"; className?: string; }) { const { t } = useTranslation(); if (filesystems.length <= 1) return null; const selected = filesystems.find((fs) => fs.mount === value); return ( {selected?.label || selected?.mount || value || "-"} {filesystems.map((fs) => ( onChange(fs.mount)} className="gap-3" > {fs.label || fs.mount} {fs.label && ( {fs.mount} )} {fs.usedHuman && fs.totalHuman ? `${fs.usedHuman}/${fs.totalHuman}` : "N/A"} {fs.percent != null ? ` ยท ${fs.percent}%` : ""} ))} ); }