mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-09-11 04:38:42 -06:00
Fix drive usage display and center status icon
This commit is contained in:
@@ -283,13 +283,33 @@ export default function DeviceDetails({ device, onBack }) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const renderStorage = () => {
|
const renderStorage = () => {
|
||||||
const rows = (details.storage || []).map((d) => ({
|
const parseNum = (val) => {
|
||||||
drive: d.drive,
|
if (val === undefined || val === null) return undefined;
|
||||||
disk_type: d.disk_type,
|
const n = Number(String(val).replace(/[^0-9.]/g, ""));
|
||||||
usage: d.usage !== undefined ? Number(d.usage) : undefined,
|
return Number.isNaN(n) ? undefined : n;
|
||||||
total: d.total !== undefined ? Number(d.total) : undefined,
|
};
|
||||||
free: d.free !== undefined ? Number(d.free) : undefined,
|
const rows = (details.storage || []).map((d) => {
|
||||||
}));
|
const total = parseNum(d.total);
|
||||||
|
const rawFree = parseNum(d.free);
|
||||||
|
const freePct = rawFree !== undefined
|
||||||
|
? rawFree <= 100
|
||||||
|
? rawFree
|
||||||
|
: total
|
||||||
|
? (rawFree / total) * 100
|
||||||
|
: undefined
|
||||||
|
: undefined;
|
||||||
|
let usage = parseNum(d.usage);
|
||||||
|
if ((usage === undefined || Number.isNaN(usage)) && freePct !== undefined) {
|
||||||
|
usage = 100 - freePct;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
drive: d.drive,
|
||||||
|
disk_type: d.disk_type,
|
||||||
|
usage,
|
||||||
|
total,
|
||||||
|
free: freePct,
|
||||||
|
};
|
||||||
|
});
|
||||||
if (!rows.length)
|
if (!rows.length)
|
||||||
return placeholderTable(["Drive Letter", "Disk Type", "Usage", "Total Size", "Free %"]);
|
return placeholderTable(["Drive Letter", "Disk Type", "Usage", "Total Size", "Free %"]);
|
||||||
return (
|
return (
|
||||||
|
@@ -172,18 +172,20 @@ export default function DeviceList({ onSelectDevice }) {
|
|||||||
sx={{ cursor: onSelectDevice ? "pointer" : "default" }}
|
sx={{ cursor: onSelectDevice ? "pointer" : "default" }}
|
||||||
>
|
>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<span
|
<Box sx={{ display: "flex", alignItems: "center" }}>
|
||||||
style={{
|
<Box
|
||||||
display: "inline-block",
|
component="span"
|
||||||
width: 10,
|
sx={{
|
||||||
height: 10,
|
display: "inline-block",
|
||||||
borderRadius: 10,
|
width: 10,
|
||||||
background: statusColor(r.status),
|
height: 10,
|
||||||
marginRight: 8,
|
borderRadius: 10,
|
||||||
verticalAlign: "middle"
|
bgcolor: statusColor(r.status),
|
||||||
}}
|
mr: 1,
|
||||||
/>
|
}}
|
||||||
{r.status}
|
/>
|
||||||
|
{r.status}
|
||||||
|
</Box>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell>{r.hostname}</TableCell>
|
<TableCell>{r.hostname}</TableCell>
|
||||||
<TableCell>{timeSince(r.lastSeen)}</TableCell>
|
<TableCell>{timeSince(r.lastSeen)}</TableCell>
|
||||||
|
Reference in New Issue
Block a user