env.esq/src/main.js

19 lines
609 B
JavaScript
Raw Normal View History

2020-11-27 17:05:20 +01:00
import {xhrRequest} from "./utils/xhr.js";
2020-11-27 21:28:54 +01:00
import {RootViewModel} from "./RootViewModel.js";
import {RootView} from "./RootView.js";
2020-11-30 21:05:26 +01:00
import {guessApplicablePlatforms} from "./client/Platform.js";
2020-11-27 17:05:20 +01:00
2020-11-27 21:28:54 +01:00
export async function main(container) {
2020-11-30 21:05:26 +01:00
const vm = new RootViewModel({
request: xhrRequest,
openLink: url => location.href = url,
platforms: guessApplicablePlatforms(navigator.userAgent),
});
2020-11-30 11:24:08 +01:00
vm.updateHash(location.hash);
2020-11-27 21:28:54 +01:00
window.__rootvm = vm;
const view = new RootView(vm);
container.appendChild(view.mount());
2020-11-30 11:24:08 +01:00
window.addEventListener('hashchange', event => {
vm.updateHash(location.hash);
});
2020-11-27 17:05:20 +01:00
}