Refactorize disks list

This commit is contained in:
2025-05-31 09:05:10 +02:00
parent c7cc15d8d0
commit 5fe481ffed
6 changed files with 31 additions and 36 deletions
virtweb_backend/src
libvirt_rest_structures
utils
virtweb_frontend/src

@ -4,17 +4,35 @@ import { Avatar, ListItem, ListItemAvatar, ListItemText } from "@mui/material";
import { filesize } from "filesize";
import { VMFileDisk } from "../../api/VMApi";
export function VMDiskFileWidget(p: { disk: VMFileDisk }): React.ReactElement {
export function VMDiskFileWidget(p: {
disk: VMFileDisk;
secondaryAction?: React.ReactElement;
}): React.ReactElement {
const info = [p.disk.bus, filesize(p.disk.size), p.disk.format];
if (p.disk.format === "Raw") info.push(p.disk.is_sparse ? "Sparse" : "Fixed");
return (
<ListItem>
<ListItem secondaryAction={p.secondaryAction}>
<ListItemAvatar>
<Avatar>
<Icon path={mdiHarddisk} />
</Avatar>
</ListItemAvatar>
<ListItemText
primary={p.disk.name}
secondary={`${p.disk.format} - ${filesize(p.disk.size)}`}
primary={
<>
{p.disk.name}{" "}
{p.disk.deleteType && (
<span style={{ color: "red" }}>
{p.disk.deleteType === "deletefile"
? "Remove, DELETING block file"
: "Remove, keeping block file"}
</span>
)}
</>
}
secondary={info.join(" - ")}
/>
</ListItem>
);