Advance forge rollout, Ethereum rails, and NBC sources
This commit is contained in:
parent
be26313225
commit
7d84510eac
88 changed files with 11230 additions and 302 deletions
|
|
@ -20,8 +20,80 @@
|
|||
<link data-trunk rel="copy-dir" href="icons" />
|
||||
</head>
|
||||
<body>
|
||||
<div
|
||||
id="boot-status"
|
||||
style="
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 24px;
|
||||
background: #f7f4ef;
|
||||
color: #2b241d;
|
||||
font: 15px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
white-space: pre-wrap;
|
||||
z-index: 9999;
|
||||
"
|
||||
>
|
||||
Loading every.channel…
|
||||
</div>
|
||||
<div id="main"></div>
|
||||
|
||||
<script>
|
||||
(() => {
|
||||
const boot = document.getElementById("boot-status");
|
||||
const main = document.getElementById("main");
|
||||
if (!boot || !main) return;
|
||||
|
||||
const show = (message) => {
|
||||
boot.textContent = message;
|
||||
boot.style.display = "flex";
|
||||
};
|
||||
|
||||
const hide = () => {
|
||||
boot.remove();
|
||||
};
|
||||
|
||||
const mounted = () => {
|
||||
if (main.childElementCount > 0) {
|
||||
hide();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
new MutationObserver(() => {
|
||||
mounted();
|
||||
}).observe(main, { childList: true, subtree: true });
|
||||
|
||||
window.addEventListener("error", (event) => {
|
||||
const message =
|
||||
event?.error?.stack ||
|
||||
event?.error?.message ||
|
||||
event?.message ||
|
||||
"Unknown frontend boot error";
|
||||
show(`Frontend boot error\n\n${message}`);
|
||||
});
|
||||
|
||||
window.addEventListener("unhandledrejection", (event) => {
|
||||
const reason = event?.reason;
|
||||
const message =
|
||||
reason?.stack ||
|
||||
reason?.message ||
|
||||
(typeof reason === "string" ? reason : JSON.stringify(reason, null, 2)) ||
|
||||
"Unknown unhandled rejection";
|
||||
show(`Frontend boot rejection\n\n${message}`);
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
if (!mounted()) {
|
||||
show("Loading every.channel is taking longer than expected…");
|
||||
}
|
||||
}, 4000);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script>
|
||||
// Installable app shell (PWA). Keep this tiny and resilient.
|
||||
if ("serviceWorker" in navigator) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue