{$t('apps.detail.snapshots.title')}.

{$t('apps.detail.snapshots.sub')}
{#if error} {/if} {#if loading}

{$t('apps.detail.snapshots.loading')}

{:else} {#if canSnapshot}

{$t('apps.detail.snapshots.coverage', { count: String(snapshotable?.volumes.length ?? 0) })}

{$t('apps.detail.snapshots.liveWarning')}

{:else}

{$t('apps.detail.snapshots.noCoverage')}

{/if} {#if snapshotable && snapshotable.skipped.length > 0}
{$t('apps.detail.snapshots.skippedTitle', { count: String(snapshotable.skipped.length) })}
{/if}
{#if snapshots.length === 0}

{$t('apps.detail.snapshots.empty')}

{:else} {#each snapshots as snap (snap.id)} {/each}
{$t('apps.detail.snapshots.colLabel')} {$t('apps.detail.snapshots.colCreated')} {$t('apps.detail.snapshots.colVolumes')} {$t('apps.detail.snapshots.colSize')}
{snap.label || $t('apps.detail.snapshots.unlabeled')} {snap.created_at} {volCount(snap.manifest)} {formatBytes(snap.size_bytes)}
{/if} {/if}
{#if confirmDeleteId} confirmDeleteId && doDelete(confirmDeleteId)} oncancel={() => (confirmDeleteId = null)} /> {/if}