// Copyright Epic Games, Inc. All Rights Reserved. "use strict"; import { Component } from "./util/component.js" //////////////////////////////////////////////////////////////////////////////// function display_error(message, stack) { const pane = new Component(document.body).tag().id("error"); pane.tag().text("!"); const content = pane.tag(); content.tag("pre").text(message); content.tag("pre").text(stack); } window.addEventListener("error", function(evt) { const reason = evt.error; display_error(reason.message, reason.stack); }); window.addEventListener("unhandledrejection", function(evt) { const reason = evt.reason; display_error(reason.message, reason.stack); }); //////////////////////////////////////////////////////////////////////////////// async function main() { const body = new Component(document.body); const root = body.tag().id("container").tag(); const params = new URLSearchParams(window.location.search); var page = params.get("page") || "start"; page = page.replaceAll(".", ""); page = page.replaceAll("/", ""); page = page.replaceAll("\\", ""); root.id(page); const module = await import(`./pages/${page}.js`); new module.Page(root, params).main(); } main();