Исправлена функция formatMem → formatBytes: корректное форматирование байтов в МБ/ГБ
This commit is contained in:
@@ -17,9 +17,16 @@ function formatUptime(sec) {
|
||||
return `${m}м`;
|
||||
}
|
||||
|
||||
function formatMem(mb) {
|
||||
/**
|
||||
* Форматирует размер памяти из байтов в читаемую строку.
|
||||
* Принимает байты, возвращает строку вида "4.0 ГБ" или "728.7 МБ".
|
||||
*/
|
||||
function formatBytes(bytes) {
|
||||
const n = Number(bytes);
|
||||
if (!Number.isFinite(n) || n <= 0) return "0 МБ";
|
||||
const mb = n / (1024 * 1024);
|
||||
if (mb >= 1024) return `${(mb / 1024).toFixed(1)} ГБ`;
|
||||
return `${fmt1(mb)} МБ`;
|
||||
return `${mb.toFixed(1)} МБ`;
|
||||
}
|
||||
|
||||
function fmt1(v) {
|
||||
@@ -58,7 +65,7 @@ export default function InstanceCard({ instance, onAction, onDelete }) {
|
||||
|
||||
const memBar = live && live.mem_total > 0 ? (
|
||||
<div style={{ display: "inline-flex", alignItems: "center", gap: 6 }}>
|
||||
<span>🧠 {fmt1(formatMem(live.mem_used / (1024 * 1024)))} / {fmt1(formatMem(live.mem_total / (1024 * 1024)))}</span>
|
||||
<span>🧠 {formatBytes(live.mem_used)} / {formatBytes(live.mem_total)}</span>
|
||||
<div style={{ width: 50, height: 8, background: "#333", borderRadius: 4, overflow: "hidden" }}>
|
||||
<div style={{ width: `${fmt1(Math.min((live.mem_used / live.mem_total) * 100, 100))}%`, height: "100%",
|
||||
background: (live.mem_used / live.mem_total) > 0.8 ? "#f44336" : (live.mem_used / live.mem_total) > 0.5 ? "#ff9800" : "#4caf50",
|
||||
|
||||
Reference in New Issue
Block a user