import { mdiHarddisk } from "@mdi/js"; import { Icon } from "@mdi/react"; import { Avatar, ListItem, ListItemAvatar, ListItemText } from "@mui/material"; import { filesize } from "filesize"; import { VMFileDisk } from "../../api/VMApi"; import { DiskBusSelect } from "../forms/DiskBusSelect"; export function VMDiskFileWidget(p: { editable?: boolean; disk: VMFileDisk; secondaryAction?: React.ReactElement; onChange?: () => void; }): React.ReactElement { const info = [filesize(p.disk.size), p.disk.format]; if (p.disk.format === "Raw") info.push(p.disk.is_sparse ? "Sparse" : "Fixed"); if (!p.editable) info.push(p.disk.bus); return ( {p.disk.name}{" "} {p.disk.deleteType && ( {p.disk.deleteType === "deletefile" ? "Remove, DELETING block file" : "Remove, keeping block file"} )} } secondary={
{p.editable ? (
{ p.disk.bus = v; p.onChange?.(); }} label="" editable value={p.disk.bus} size="small" disableUnderline disableBottomMargin />
) : ( "" )}
{info.join(" - ")}
} />
); }