49 lines
2.1 KiB
TypeScript
49 lines
2.1 KiB
TypeScript
import UserRelatedState from "../Logic/State/UserRelatedState";
|
|
import {FixedUiElement} from "./Base/FixedUiElement";
|
|
import Combine from "./Base/Combine";
|
|
import MoreScreen from "./BigComponents/MoreScreen";
|
|
import Translations from "./i18n/Translations";
|
|
import Constants from "../Models/Constants";
|
|
import {Utils} from "../Utils";
|
|
import LanguagePicker from "./LanguagePicker";
|
|
import IndexText from "./BigComponents/IndexText";
|
|
import FeaturedMessage from "./BigComponents/FeaturedMessage";
|
|
import Toggle from "./Input/Toggle";
|
|
import {SubtleButton} from "./Base/SubtleButton";
|
|
import Title from "./Base/Title";
|
|
|
|
export default class AllThemesGui {
|
|
constructor() {
|
|
try {
|
|
|
|
new FixedUiElement("").AttachTo("centermessage")
|
|
const state = new UserRelatedState(undefined);
|
|
const intro = new Combine([
|
|
|
|
LanguagePicker.CreateLanguagePicker(Translations.t.index.title.SupportedLanguages())
|
|
|
|
.SetClass("flex absolute top-2 right-3"),
|
|
new IndexText()
|
|
]);
|
|
new Combine([
|
|
intro,
|
|
new FeaturedMessage(),
|
|
new MoreScreen(state, true),
|
|
new Toggle(
|
|
undefined,
|
|
new SubtleButton(undefined, Translations.t.index.logIn).SetStyle("height:min-content").onClick(() => state.osmConnection.AttemptLogin()),
|
|
state.osmConnection.isLoggedIn),
|
|
Translations.t.general.aboutMapcomplete
|
|
.Subs({"osmcha_link": Utils.OsmChaLinkFor(7)})
|
|
.SetClass("link-underline"),
|
|
new FixedUiElement("v" + Constants.vNumber)
|
|
]).SetClass("block m-5 lg:w-3/4 lg:ml-40")
|
|
.SetStyle("pointer-events: all;")
|
|
.AttachTo("topleft-tools");
|
|
} catch (e) {
|
|
console.error(">>>> CRITICAL", e)
|
|
new FixedUiElement("Seems like no layers are compiled - check the output of `npm run generate:layeroverview`. Is this visible online? Contact pietervdvn immediately!").SetClass("alert")
|
|
.AttachTo("centermessage")
|
|
}
|
|
}
|
|
}
|