{#if capsuleLoading}
Loading capsule...
{:else if capsuleError}
{capsuleError}
{:else if capsule}
setTab('metrics')} class="flex items-center gap-2 border-b-2 px-4 py-2.5 text-ui font-medium transition-colors duration-150 {activeTab === 'metrics' ? 'border-[var(--color-accent)] text-[var(--color-accent-bright)]' : 'border-transparent text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)]'}" >
Stats
setTab('files')} class="flex items-center gap-2 border-b-2 px-4 py-2.5 text-ui font-medium transition-colors duration-150 {activeTab === 'files' ? 'border-[var(--color-accent)] text-[var(--color-accent-bright)]' : 'border-transparent text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)]'}" >
Files
setTab('terminal')} class="flex items-center gap-2 border-b-2 px-4 py-2.5 text-ui font-medium transition-colors duration-150 {activeTab === 'terminal' ? 'border-[var(--color-accent)] text-[var(--color-accent-bright)]' : 'border-transparent text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)]'}" >
Terminal
{#if activeTab === 'files'}
{:else if activeTab === 'metrics'}
{#if metricsAvailable && !metricsLoading}
Live
{:else}
{/if} {#if metricsAvailable}
{#each METRIC_RANGES as r, i}
setRange(r)} class="px-3 py-1.5 font-mono text-label transition-colors duration-150 {range === r ? 'bg-[var(--color-bg-5)] text-[var(--color-text-bright)]' : 'text-[var(--color-text-tertiary)] hover:bg-[var(--color-bg-3)] hover:text-[var(--color-text-secondary)]'} {i > 0 ? 'border-l border-[var(--color-border)]' : ''}" > {r}
{/each}
{/if}
Status
{#if capsule.status === 'running'}
{/if} {capsule.status}
Template
{capsule.template}
CPU
{capsule.vcpus}
vCPU{capsule.vcpus !== 1 ? 's' : ''}
Memory
{capsule.memory_mb}
MB
Disk
—
Started
{fmtDate(capsule.started_at)}
Idle Timeout
{fmtTimeout(capsule.timeout_sec)}
{#if metricsError}
Could not load metrics: {metricsError}. Will retry automatically.
{/if} {#if metricsAvailable}
CPU Usage
{#if latestCpu !== null}
{latestCpu.toFixed(1)}
%
{:else if metricsLoading}
—
{/if}
RAM Usage
{#if latestRamMB !== null}
{latestRamMB.toFixed(0)}
MB
{:else if metricsLoading}
—
{/if}
{:else}
Live stats are only available for running or paused capsules — current status:
{capsule.status}
{/if}
{/if}
{/if}