import { cn, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, } from "@termix/plugin-sdk/ui"; import { type DiskFilesystem } from "../../shared/metrics.js"; import { ChevronDown, Check } from "lucide-react"; import { useTranslation } from "@termix/plugin-sdk/frontend"; 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}%} ))} ); }