MapComplete/src/index.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

48 lines
1.7 KiB
TypeScript
Raw Normal View History

import DetermineTheme from "./Logic/DetermineTheme"
2023-04-13 23:40:28 +02:00
import SvelteUIElement from "./UI/Base/SvelteUIElement"
import { FixedUiElement } from "./UI/Base/FixedUiElement"
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"
import SingleThemeGui from "./UI/SingleThemeGui.svelte"
2024-02-18 15:59:28 +01:00
async function main() {
try {
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)
new SingleThemeGui({
2024-06-18 03:33:11 +02:00
target,
props: { theme }
})
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)
const customDefinition = DetermineTheme.getCustomDefinition()
2024-02-18 15:59:28 +01:00
new Combine([
new FixedUiElement(err.toString().split("\n").join("<br/>")).SetClass("block alert"),
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(
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")
}
}
2024-02-18 15:59:28 +01:00
2024-04-13 02:40:21 +02:00
main().then((_) => {})