mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-12 07:04:52 +09:00
Add option in the controller config to set where static assets are loaded from in order to support deployments where the static assets are server via a CDN while the API is directly accessed. This is useful because some CDNs put low limits on how large requests bodies can be, which causes issues with uploading large mods and saves.
50 lines
1.4 KiB
HTML
50 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="theme-color" content="#2a2a2a" />
|
|
<title>__CLUSTER_NAME__</title>
|
|
<style>
|
|
html {
|
|
color: #fff;
|
|
background-color: #000;
|
|
}
|
|
|
|
#bootstrap-msg {
|
|
font: 20px serif;
|
|
color: #aaa;
|
|
margin: auto;
|
|
margin-top: 1em;
|
|
width: fit-content;
|
|
white-space: pre;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
<div id="root">
|
|
<div id="bootstrap-msg">Loading web interface...</div>
|
|
</div>
|
|
<script id="script-bundle" src="__STATIC_ROOT____MAIN_BUNDLE__" defer></script>
|
|
<script>
|
|
webRoot = new URL("__WEB_ROOT__", document.location).pathname;
|
|
staticRoot = new URL("__STATIC_ROOT__", document.location).href;
|
|
function scriptError(err) {
|
|
console.error(err);
|
|
let bootstrapMsg = document.getElementById("bootstrap-msg");
|
|
if (bootstrapMsg) {
|
|
let errorMsg = err;
|
|
if (err?.message) {
|
|
errorMsg = `${err?.constructor?.name ?? "Error"}: ${err.message}`;
|
|
}
|
|
bootstrapMsg.textContent = `${errorMsg}\nSee web console for details.`;
|
|
}
|
|
}
|
|
const bundleScript = document.getElementById("script-bundle");
|
|
bundleScript.addEventListener("error", () => scriptError("Main bundle failed to load."));
|
|
window.addEventListener("error", event => scriptError(event.error));
|
|
</script>
|
|
</body>
|
|
</html>
|