{#if loading}
Loading…
{:else if !artifact} {:else} {@const a = artifact}
{#snippet crumbs()} {/snippet} {#if runningBetaId}
Beta #{runningBetaId} is running for this {family}. Rollback or promote it before making changes.
{/if}

Details

Target file {a.target_rel_path}
Scope {scopeLabel(a)}
Applies to {#if !a.scope_type} Unscoped — deploy from a beta {:else if matchedServers.length === 0} No matching servers {:else} {matchedServers.join(', ')} {/if}
Current version {#if currentVersion} {artifactVersionLabel(currentVersion)} · {currentVersion.sha256.slice(0, 8)} Promoted {:else} Never promoted — open a beta {/if}
{#if showLatestSeparately && latestVersion}
Latest version {artifactVersionLabel(latestVersion)} · {latestVersion.sha256.slice(0, 8)} {latestVersion.state}
{/if}
{#if a.kind === 'config' || a.kind === 'baseline'} load({ seedForm: false })} /> {/if}

Version history

{versions.length}
{#if versions.length === 0} {:else}
{#each versions as v (v.id)}
{artifactVersionLabel(v)} {v.sha256.slice(0, 12)} {v.size} B {v.notes ?? ''} {#if v.source}GitHub · {v.source.asset_name} ↗{/if} {v.uploaded_at} {#if a.current_version_id === v.id} Promoted {:else} {v.state.replace('-', ' ')} {/if}
{/each}
{/if}
{#if family === 'plugin'}
load()} />
{/if}

Danger zone

{#if flash}
{flash}
{/if} onDialogClick(scopeDialog, e)}>

Edit scope

{/if} {#if scopeType === 'map'} {#if family === 'plugin'} {/if}
{#if flash}
{flash}
{/if}
{/if}