mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-09-11 08:48: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 rows = (details.storage || []).map((d) => ({
|
||||
drive: d.drive,
|
||||
disk_type: d.disk_type,
|
||||
usage: d.usage !== undefined ? Number(d.usage) : undefined,
|
||||
total: d.total !== undefined ? Number(d.total) : undefined,
|
||||
free: d.free !== undefined ? Number(d.free) : undefined,
|
||||
}));
|
||||
const parseNum = (val) => {
|
||||
if (val === undefined || val === null) return undefined;
|
||||
const n = Number(String(val).replace(/[^0-9.]/g, ""));
|
||||
return Number.isNaN(n) ? undefined : n;
|
||||
};
|
||||
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)
|
||||
return placeholderTable(["Drive Letter", "Disk Type", "Usage", "Total Size", "Free %"]);
|
||||
return (
|
||||
|
@@ -172,18 +172,20 @@ export default function DeviceList({ onSelectDevice }) {
|
||||
sx={{ cursor: onSelectDevice ? "pointer" : "default" }}
|
||||
>
|
||||
<TableCell>
|
||||
<span
|
||||
style={{
|
||||
display: "inline-block",
|
||||
width: 10,
|
||||
height: 10,
|
||||
borderRadius: 10,
|
||||
background: statusColor(r.status),
|
||||
marginRight: 8,
|
||||
verticalAlign: "middle"
|
||||
}}
|
||||
/>
|
||||
{r.status}
|
||||
<Box sx={{ display: "flex", alignItems: "center" }}>
|
||||
<Box
|
||||
component="span"
|
||||
sx={{
|
||||
display: "inline-block",
|
||||
width: 10,
|
||||
height: 10,
|
||||
borderRadius: 10,
|
||||
bgcolor: statusColor(r.status),
|
||||
mr: 1,
|
||||
}}
|
||||
/>
|
||||
{r.status}
|
||||
</Box>
|
||||
</TableCell>
|
||||
<TableCell>{r.hostname}</TableCell>
|
||||
<TableCell>{timeSince(r.lastSeen)}</TableCell>
|
||||
|
Reference in New Issue
Block a user