Content Level

Controls what content is visible across library, search, and discover.
{#each LEVELS as lvl} {@const active = store.settings.contentLevel === lvl.value} {/each}

Source Overrides

{#if store.settings.sourceOverridesEnabled}
{#if contentSourcesLoading}

Loading sources…

{:else if contentSources.length === 0}

No sources found — check your server connection.

{:else}
{#each contentSourcesFiltered as group (group.name)} {@const ids = group.sources.map(s => s.id)} {@const allowed = store.settings.nsfwAllowedSourceIds ?? []} {@const blocked = store.settings.nsfwBlockedSourceIds ?? []} {@const isAllowed = ids.every(id => allowed.includes(id))} {@const isBlocked = ids.every(id => blocked.includes(id))}
{group.name} {group.sources[0].isNsfw ? "NSFW · " : ""}{group.sources.length > 1 ? `${group.sources.length} languages` : group.sources[0].lang.toUpperCase()}
{/each}
{/if} {/if}