import type { ReactNode } from "react"; import type { Principal, Run, SandboxResources, SandboxState, } from "@qltysh/fabro-api-client"; import { Link } from "react-router"; import { formatBytesAsMemory, formatCpuCores, formatUsdMicros, } from "../lib/format"; import { principalDisplay } from "../lib/principal-display"; import { useRun, useRunArtifacts, useRunSandboxDetails } from "../lib/queries"; import { SANDBOX_LIFECYCLE_DISPLAY, sandboxIsReady, sandboxLifecycleKind, } from "../lib/run-sandbox-lifecycle"; import { SANDBOX_STATE_DISPLAY } from "../lib/sandbox-state"; import { Tooltip } from "./ui"; const LABEL_CLASS = "text-[10px] font-medium uppercase tracking-[0.08em] text-fg-muted"; const VALUE_WRAPPER_CLASS = "mt-1.5"; const VALUE_CLASS = "text-sm text-fg"; const VALUE_MONO_CLASS = "text-sm text-fg font-mono tabular-nums"; const EMPTY_VALUE_CLASS = "text-sm text-fg-muted"; function EmptyValue() { return Not available; } function Skeleton({ widthClass }: { widthClass: string }) { return (