import {xhrRequest} from "./utils/xhr.js"; import {RootViewModel} from "./RootViewModel.js"; import {RootView} from "./RootView.js"; import {Preferences} from "./Preferences.js"; import {guessApplicablePlatforms} from "./client/Platform.js"; export async function main(container) { const vm = new RootViewModel({ request: xhrRequest, openLink: url => location.href = url, platforms: guessApplicablePlatforms(navigator.userAgent), preferences: new Preferences(window.localStorage), }); vm.updateHash(location.hash); window.__rootvm = vm; const view = new RootView(vm); container.appendChild(view.mount()); window.addEventListener('hashchange', event => { vm.updateHash(location.hash); }); }