mapcomplete/UI/AllThemesGui.ts

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

57 lines
2.5 KiB
TypeScript
Raw Normal View History

2021-12-21 18:35:31 +01:00
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 LanguagePicker from "./LanguagePicker"
import IndexText from "./BigComponents/IndexText"
2023-01-06 04:21:34 +01:00
import { LoginToggle } from "./Popup/LoginButton"
import { ImmutableStore } from "../Logic/UIEventSource"
import { OsmConnection } from "../Logic/Osm/OsmConnection"
2023-05-25 20:09:42 +02:00
import {QueryParameters} from "../Logic/Web/QueryParameters";
import {OsmConnectionFeatureSwitches} from "../Logic/State/FeatureSwitchState";
export default class AllThemesGui {
2022-04-08 04:36:00 +02:00
setup() {
2021-11-07 16:34:51 +01:00
try {
2023-05-25 20:09:42 +02:00
const featureSwitches = new OsmConnectionFeatureSwitches()
const osmConnection = new OsmConnection({
fakeUser: featureSwitches.featureSwitchFakeUser.data,
oauth_token: QueryParameters.GetQueryParameter(
"oauth_token",
undefined,
"Used to complete the login"
),
osmConfiguration: <"osm" | "osm-test">featureSwitches.featureSwitchApiURL.data,
})
const state = new UserRelatedState(osmConnection)
2021-11-07 16:34:51 +01:00
const intro = new Combine([
new LanguagePicker(Translations.t.index.title.SupportedLanguages(), state.language).SetClass(
"flex absolute top-2 right-3"
),
2021-11-07 16:34:51 +01:00
new IndexText(),
])
new Combine([
intro,
new MoreScreen(state, true),
new LoginToggle(undefined, Translations.t.index.logIn, {
osmConnection,
featureSwitchUserbadge: new ImmutableStore(true),
}).SetClass("flex justify-center w-full"),
Translations.t.general.aboutMapComplete.intro.SetClass("link-underline"),
new FixedUiElement("v" + Constants.vNumber).SetClass("block"),
2021-11-07 16:34:51 +01:00
])
.SetClass("block m-5 lg:w-3/4 lg:ml-40")
2023-03-29 17:21:20 +02:00
.AttachTo("main")
2021-11-07 16:34:51 +01:00
} catch (e) {
2021-12-21 18:35:31 +01:00
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!"
2022-09-08 21:40:48 +02:00
)
.SetClass("alert")
2023-03-29 17:21:20 +02:00
.AttachTo("main")
}
}
}