import { Cloud, Folder, Server, Share2 } from "lucide-react"; import type { BackendType } from "~/schemas/volumes"; type VolumeIconProps = { backend: BackendType; size?: number; }; const getIconAndColor = (backend: BackendType) => { switch (backend) { case "directory": return { icon: Folder, color: "text-blue-600 dark:text-blue-400", label: "Directory", }; case "nfs": return { icon: Server, color: "text-orange-600 dark:text-orange-400", label: "NFS", }; case "smb": return { icon: Share2, color: "text-purple-600 dark:text-purple-400", label: "SMB", }; case "webdav": return { icon: Cloud, color: "text-green-600 dark:text-green-400", label: "WebDAV", }; default: return { icon: Folder, color: "text-gray-600 dark:text-gray-400", label: "Unknown", }; } }; export const VolumeIcon = ({ backend, size = 10 }: VolumeIconProps) => { const { icon: Icon, label } = getIconAndColor(backend); return ( {label} ); };