Server deployments | Electric Cherry
{#snippet actions()}
Fleet actions
{/snippet}
saveContext(true)} ariaLabel="Deployment views" idPrefix="deployment-tabs" panelId="deployment-panel" /> { housePartyNotice = `Destruction queued for ${count} server${count === 1 ? '' : 's'}. Follow progress in the Active tab.`; tab = 'active'; void load(); }} /> {#if housePartyNotice}

{housePartyNotice}

{/if} {#if cancellationNotice}

{cancellationNotice}

{/if}
{#if tab === 'blueprints'}

Your blueprints {blueprints.length}

{#if blueprintError}{/if} {#if blueprintsLoading}

Loading blueprints…

{:else if !blueprints.length}
Plan the whole lineup.

Add maps from either game, choose the total lobbies each needs, and fill any gaps from one blueprint.

{:else}
{#each blueprints.slice(0,limit) as blueprint (blueprint.id)}
Server collection {blueprint.totalServers} target server{blueprint.totalServers === 1 ? '' : 's'}

{blueprint.name}

{blueprint.description || 'Your target lineup. Only missing servers will be created.'}

    {#each blueprint.entries as entry}
  • {entry.count}× {entry.mapName} {entry.game.toUpperCase()}
  • {/each}
{/each}
{/if}
saveContext()} label="blueprints" /> {:else} {#if error}{/if} {#if visibleCollections.length}

Collection launches

saveContext()} step={10} label="collections" />
{/if} {#if tab === 'active'} {#if attention.length}
{attention.length} recorded operations need review
{/if} {#if active.some(d => d.canCancelRemoval)}
Waiting removals can be withdrawn until removal begins. Running and completed removals cannot be reversed.
{/if}

In flight {active.length}

{#if loading}

Loading deployments...

{:else if active.length === 0} {:else}
{#each active as d (d.id)}{@render row(d)}{/each}
{/if}
{:else}

History

{#if !loading && history.length === 0} {:else}
{#each history.slice(0,limit) as d (d.id)}{@render row(d)}{/each}
{/if} saveContext()} label="operations" />
{/if} {/if}
{#snippet row(d: Deployment)}
{d.action === 'create' ? 'Creation' : 'Destruction'}

{d.state === 'done' ? (d.action === 'create' ? 'Server creation completed.' : 'Server destroyed.') : d.stage}

Started {fmt(d.started_at)}{#if d.finished_at}Finished {fmt(d.finished_at)}{/if}By {d.triggered_by}
{#if d.error}

{d.error}

{/if} {#each warnings(d) as warning}

{warning}

{/each}
{#if d.canCancelRemoval}
{/if}
{/snippet}