2024-10-17 04:06:03 +02:00
|
|
|
import DetermineTheme from "./Logic/DetermineTheme"
|
2023-04-13 23:40:28 +02:00
|
|
|
import SvelteUIElement from "./UI/Base/SvelteUIElement"
|
2023-06-14 20:39:36 +02:00
|
|
|
import { FixedUiElement } from "./UI/Base/FixedUiElement"
|
2023-07-08 02:53:45 +02:00
|
|
|
import Combine from "./UI/Base/Combine"
|
|
|
|
import { SubtleButton } from "./UI/Base/SubtleButton"
|
|
|
|
import { Utils } from "./Utils"
|
2024-06-16 19:00:43 +02:00
|
|
|
import ArrowDownTray from "@babeard/svelte-heroicons/mini/ArrowDownTray"
|
2025-01-23 13:03:12 +01:00
|
|
|
import SingleThemeGui from "./UI/SingleThemeGui.svelte"
|
2024-01-16 23:03:33 +01:00
|
|
|
|
2024-03-28 15:53:41 +01:00
|
|
|
|
2024-02-18 15:59:28 +01:00
|
|
|
async function main() {
|
|
|
|
try {
|
2025-01-23 13:03:12 +01:00
|
|
|
|
2025-01-23 12:30:42 +01:00
|
|
|
const theme = await DetermineTheme.getTheme()
|
2024-06-20 04:21:29 +02:00
|
|
|
const target = document.getElementById("maindiv")
|
2024-06-18 03:33:11 +02:00
|
|
|
const childs = Array.from(target.children)
|
2025-01-23 13:03:12 +01:00
|
|
|
new SingleThemeGui({
|
2024-06-18 03:33:11 +02:00
|
|
|
target,
|
2025-01-23 13:03:12 +01:00
|
|
|
props: { theme }
|
2024-06-15 02:21:18 +02:00
|
|
|
})
|
2024-06-20 04:21:29 +02:00
|
|
|
childs.forEach((ch) => target.removeChild(ch))
|
2024-04-13 02:40:21 +02:00
|
|
|
Array.from(document.getElementsByClassName("delete-on-load")).forEach((el) => {
|
2024-03-21 22:39:36 +01:00
|
|
|
el.parentElement.removeChild(el)
|
|
|
|
})
|
2024-02-18 15:59:28 +01:00
|
|
|
} catch (err) {
|
|
|
|
console.error("Error while initializing: ", err, err.stack)
|
2024-10-17 04:06:03 +02:00
|
|
|
const customDefinition = DetermineTheme.getCustomDefinition()
|
2024-02-18 15:59:28 +01:00
|
|
|
new Combine([
|
2024-04-23 15:35:18 +02:00
|
|
|
new FixedUiElement(err.toString().split("\n").join("<br/>")).SetClass("block alert"),
|
2024-01-16 23:03:33 +01:00
|
|
|
|
2024-02-18 15:59:28 +01:00
|
|
|
customDefinition?.length > 0
|
2024-06-20 04:21:29 +02:00
|
|
|
? new SubtleButton(
|
|
|
|
new SvelteUIElement(ArrowDownTray),
|
|
|
|
"Download the raw file"
|
|
|
|
).onClick(() =>
|
|
|
|
Utils.offerContentsAsDownloadableFile(
|
2024-10-17 04:06:03 +02:00
|
|
|
DetermineTheme.getCustomDefinition(),
|
2024-06-20 04:21:29 +02:00
|
|
|
"mapcomplete-theme.json",
|
|
|
|
{ mimetype: "application/json" }
|
|
|
|
)
|
2024-04-13 02:40:21 +02:00
|
|
|
)
|
|
|
|
: undefined,
|
2024-02-18 15:59:28 +01:00
|
|
|
]).AttachTo("maindiv")
|
|
|
|
}
|
2023-06-26 11:11:22 +02:00
|
|
|
}
|
2024-02-18 15:59:28 +01:00
|
|
|
|
2024-04-13 02:40:21 +02:00
|
|
|
main().then((_) => {})
|