Environment variables
{#if infoText}
{@html infoText}
{/if}
handleViewModeChange('form')} title="Form view" >
handleViewModeChange('text')} title="Text view (raw .env file)" >
{#if validation}
{#if validation.missing.length > 0}
{validation.missing.length} missing
{/if} {#if validation.required.length > 0}
{validation.required.length - validation.missing.length} defined
{/if} {#if validation.optional.length > 0}
{validation.optional.length} optional
{/if}
{/if}
{#if !readonly}
{#if headerActions} {@render headerActions()} {/if}
Load
{#if viewMode === 'form'}
Add
{/if}
confirmClearOpen = o} > {#snippet children({ open })}
Clear
{/snippet}
{/if}
{#if viewMode === 'form'}
${`{VAR}`}
required
${`{VAR:-default}`}
optional
${`{VAR:?error}`}
required w/ error
{:else if secretCount > 0}
{secretCount} secret{secretCount === 1 ? '' : 's'} not shown.
Secrets are never written to disk and are injected via shell environment when the stack starts.
{/if} {#if viewMode === 'form' && parseWarnings.length > 0}
Some lines couldn't be parsed:
{#each parseWarnings.slice(0, 3) as warning}
{warning}
{/each} {#if parseWarnings.length > 3}
...and {parseWarnings.length - 3} more
{/if}
Switch to text view to edit these lines.
{/if} {#if viewMode === 'form' && validation && validation.missing.length > 0 && !readonly}
Add missing:
{#each validation.missing as missing}
addMissingVariable(missing)} class="text-xs px-1.5 py-0.5 rounded bg-red-100 text-red-700 hover:bg-red-200 dark:bg-red-900/30 dark:text-red-300 dark:hover:bg-red-900/50 transition-colors" > {missing}
{/each}
{/if}
{#if viewMode === 'form'}
{:else}
{/if}