{#if section === 'connection'}

Connection

Where the control room talks to your Oikos server.

{#if oidcUser}

Signed in via Authentik as {oidcUser}

{/if}
or use
{ e.preventDefault() save() }} >
{#if error}

{error}

{/if} {#if existing.token || oidcConfigured}
{/if}
{:else if section === 'appearance'}

Appearance

Pick the theme for the whole desktop.

{#each Object.entries(THEME_LABELS) as [id, label] (id)} {/each}

Desktop background

A subtle CSS pattern behind your icons, in the style of magicpattern.design.

{#each PATTERNS as p (p.id)} {@const active = getBackground().pattern === p.id} {/each}
setPatternColor((e.currentTarget as HTMLInputElement).value)} /> {getBackground().color}
onFillToggle(!!v)} />
{getBackground().fillColor ?? 'Auto'}
{Math.round(getBackground().opacity * 100)}%
{getBackground().fade === 0 ? 'Off' : `${Math.round(getBackground().fade * 100)}%`}

Fades the pattern out toward the edges, like a vignette.

{Math.round(getBackground().scale * 100)}%
{Math.round(getBackground().rotation)}°
{/if}
Oikos {VERSION}