virtweb_backend/src
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>
|
||||
);
|
||||
|
Reference in New Issue
Block a user