{#snippet preview(id: string, style?: string)} {/snippet} {#snippet choice(t: Theme)} {/snippet} {#snippet halfTag(half: { day: boolean; night: boolean } | undefined)} {#if half}{/if} {/snippet} {#snippet halfButton(which: 'day' | 'night', c: Chosen)} {/snippet}

Appearance

Choose the colours knotless is drawn in, here and wherever you log in next.

Mode
{#if both}

Your day theme while your device is light, and your night theme while it is dark.

{/if}
{#if both}
{@render halfButton('day', day)}{@render halfButton('night', night)}
{/if}
{#if both}

{choosing}

{/if}
Theme
{#each PLAIN as t (t.id)}{@render choice(t)}{/each}
More themes
{#each MORE as t (t.id)}{@render choice(t)}{/each}
From the Atmosphere
{#each ATMOSPHERE as t (t.id)}{@render choice(t)}{/each}
Your themes

Themes you made or added.

{#if !yours.length}
Add themes people made, or make your own.
{:else}
{#each yours as o (o.key)} {@const chosen = o.chosen ?? { theme: 'custom', palette: o.palette, source: o.uri }} pick(chosen)} half={tag((c) => same(c.palette, o.palette))} > {#snippet menu()} {#if o.made} remove(o.made as defs.ThemeView), danger: true } ]} /> {:else if o.uri} keep(collected.filter((a) => a.uri !== o.uri)) } ]} />{/if} {/snippet} {/each}
{/if}

Make a theme

{#if problem}{/if}
kept.some((k) => k.uri === t.uri) ? 'mine' : collected.some((a) => a.uri === t.uri) ? 'added' : null} {toggle} />