{#if phase === "settings" && sources.length > 1} {/if} {#if iconUrl} ((e.target as HTMLImageElement).style.display = "none")} /> {/if}
Extension Settings {phase === "pick" ? extensionName : (activeSource?.displayName ?? extensionName)}
{#if phase === "pick"}
{#each sources as src} {@const tag = langTag(src.displayName)} {@const baseName = src.displayName.replace(/\s*\([^)]+\)$/, "")} {/each}
{:else} {#if loading}
{:else if prefs.length === 0}
No configurable settings.
{:else}
{#each prefs as pref, i} {@const title = getTitle(pref)} {@const summary = getSummary(pref)} {@const isSaving = saving === pref.key} {#if pref.type === "CheckBoxPreference" || pref.type === "SwitchPreference"} {@const checked = getBoolValue(pref)}
{title} {#if summary}{summary}{/if}
{:else if pref.type === "ListPreference"} {@const current = getListValue(pref)}
{title} {#if summary}{summary}{/if}
{#if listOpen === pref.key}
{#each (pref.entries ?? []) as entry, j} {@const val = pref.entryValues?.[j] ?? entry} {/each}
{/if}
{:else if pref.type === "EditTextPreference"} {#if editKey === pref.key}
{#if pref.dialogTitle}{pref.dialogTitle}{/if} {#if pref.dialogMessage}{pref.dialogMessage}{/if}
{ if (e.key === "Enter") submitEdit(i); if (e.key === "Escape") editKey = null; }} autofocus />
{:else} {/if} {:else if pref.type === "MultiSelectListPreference"} {@const selected = getMultiValue(pref)}
{title} {#if summary}{summary}{/if}
{#each (pref.entries ?? []) as entry, j} {@const val = pref.entryValues?.[j] ?? entry} {@const on = selected.includes(val)} {/each}
{/if} {/each}
{/if} {/if}