<script lang="ts"> import { OsmConnection } from "../../Logic/Osm/OsmConnection" import { Store, Stores, UIEventSource } from "../../Logic/UIEventSource" import { Utils } from "../../Utils" import ThemesList from "./ThemesList.svelte" import Translations from "../i18n/Translations" import UserRelatedState from "../../Logic/State/UserRelatedState" export let search: UIEventSource<string> export let state: UserRelatedState & { osmConnection: OsmConnection } export let onMainScreen: boolean = true const t = Translations.t.general const currentIds: Store<string[]> = state.installedUserThemes const stableIds = Stores.ListStabilized<string>(currentIds) let customThemes $: customThemes = Utils.NoNull($stableIds.map((id) => state.GetUnofficialTheme(id))) $: console.log("Custom themes are", customThemes) </script> {#if customThemes.length > 0} <ThemesList {search} {state} {onMainScreen} themes={customThemes} isCustom={true} hideThemes={false} > <svelte:fragment slot="title"> <!-- TODO: Change string to exclude html --> {@html t.customThemeIntro.toString()} </svelte:fragment> </ThemesList> {/if}