f34817d5b6
FastAPI backend + vanilla JS frontend for LiDAR/camera startup, camera settings, and rosbag recording, unifying the previous scan_gui/scan_gui_dual/ scan_gui_triple desktop tools into one web app.
22 lines
761 B
JavaScript
22 lines
761 B
JavaScript
export function formatBytes(bytes) {
|
|
if (bytes == null) return "";
|
|
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(0)} KB`;
|
|
if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)} GB`;
|
|
}
|
|
|
|
export function formatElapsed(seconds) {
|
|
if (seconds == null) return "";
|
|
const s = Math.floor(seconds);
|
|
const m = Math.floor(s / 60);
|
|
const h = Math.floor(m / 60);
|
|
const pad = (n) => String(n).padStart(2, "0");
|
|
return h > 0 ? `${h}:${pad(m % 60)}:${pad(s % 60)}` : `${pad(m)}:${pad(s % 60)}`;
|
|
}
|
|
|
|
export function formatDuration(seconds) {
|
|
if (seconds == null) return "—";
|
|
if (seconds < 60) return `${seconds.toFixed(1)}s`;
|
|
return formatElapsed(seconds);
|
|
}
|