{#snippet actions()}{/snippet}
{#if error}{/if} {#if view === 'inspect'} {:else} {#if loading || artifacts.length || error}
{#if query || game || scope || status}{/if}
{/if} {#if loading}
Loading your config library…
{:else if !artifacts.length && !error}
Start with a foundation

Your fleet, configured your way.

Add a baseline for each game, then layer on small, focused changes for a game or map. Every change gets its own version.

{:else if !filtered.length && !error} {:else} {#if filteredBaselines.length}

Baselines {filteredBaselines.length}

{@render configTable(filteredBaselines)}
{/if} {#if filteredOverlays.length}

Overlays {filteredOverlays.length}

{@render configTable(filteredOverlays.slice(0,limit))}
{/if} {/if} {/if}
{#snippet configTable(rows: Artifact[])}
{#each rows as artifact (artifact.id)}{/each}
ConfigScopeVersion / statusEligible servers
{artifact.name} {artifact.scope_type === 'game' ? `All ${artifact.scope_value?.toUpperCase()} servers` : artifact.scope_type === 'map' ? mapLabel(artifact.scope_value ?? '') : 'Unscoped'} {artifact.servers.length}
{/snippet} { if (saving) event.preventDefault(); }}>
Create version 1

New config

{#if kind === 'config'}{#if scopeType === 'map'}{/if}{/if}
{#if baselineExists}

This game already has a baseline. Open it from the library to save a new version.

{/if} {#if !gameOptions.length}

Register a server first to make its game and map available here.

{/if} {#if createError}{/if}

Saved as untested. Test in a beta before promotion.