| 
									
										
										
										
											2023-02-03 22:28:11 +01:00
										 |  |  | <script lang="ts"> | 
					
						
							|  |  |  |   import { OsmConnection } from "../../Logic/Osm/OsmConnection" | 
					
						
							|  |  |  |   import { Store, Stores, UIEventSource } from "../../Logic/UIEventSource" | 
					
						
							|  |  |  |   import type Loc from "../../Models/Loc" | 
					
						
							|  |  |  |   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 | 
					
						
							|  |  |  |     locationControl?: UIEventSource<Loc> | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   export let onMainScreen: boolean = true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   const t = Translations.t.general | 
					
						
							|  |  |  |   const currentIds: Store<string[]> = state.installedUserThemes | 
					
						
							|  |  |  |   const stableIds = Stores.ListStabilized<string>(currentIds) | 
					
						
							| 
									
										
										
										
											2023-05-11 02:17:41 +02:00
										 |  |  |   let customThemes | 
					
						
							| 
									
										
										
										
											2023-02-03 22:28:11 +01:00
										 |  |  |   $: customThemes = Utils.NoNull($stableIds.map((id) => state.GetUnofficialTheme(id))) | 
					
						
							| 
									
										
										
										
											2023-05-11 02:17:41 +02:00
										 |  |  |   $: console.log("Custom themes are", customThemes) | 
					
						
							| 
									
										
										
										
											2023-02-03 22:28:11 +01:00
										 |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <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> |