diff --git a/panel/.gitignore b/panel/.gitignore new file mode 100644 index 0000000..200d433 --- /dev/null +++ b/panel/.gitignore @@ -0,0 +1,15 @@ +# Dependencies +node_modules/ + +# Build output +dist/ + +# TypeScript incremental build info +*.tsbuildinfo + +# Local env overrides +.env.local +.env.*.local + +# Logs +npm-debug.log* diff --git a/panel/index.html b/panel/index.html new file mode 100644 index 0000000..02119e7 --- /dev/null +++ b/panel/index.html @@ -0,0 +1,12 @@ + + +
+ + ++ {status === "ended" + ? "Stream ended — reconnect to resume following the log." + : "Waiting for output…"} +
+ ) : ( + lines.map((line) => ( +{error}
} +{humanizeError(error)}
+ {onRetry && ( + + )} +{title}
+ {hint &&{hint}
} +Not authorized
++ This area is for platform administrators. If you reached it by typing the + URL, your account does not have admin access — and the API would refuse + the request anyway. +
+Not wired yet
+{note}
++ pending backend: {endpoint} +
++ Identity and Minecraft linking. +
++ Linked sessions can claim and own servers — ownership operations (claim, + wake, stop) are unblocked. +
+ {uuid && ( +
+ {uuid}
+
+ Get a code in-game
+
+ Join any server and run{" "}
+
+ /link
+ {" "}
+ in chat. The server already knows your verified identity, so it hands
+ you a one-time code (valid about 10 minutes).
+
Enter it here
+ +Your fleet at a glance.
++ Wake, stop, or claim the servers you can manage. +
+{title}
+{body}
++ {hostFor(data.subdomain, cfg)} +
+ )} ++ Live, read-only output streamed from the running pod over SSE + (spec §8). Commands run through a separate path — the panel never + holds an RCON password. +
++ Server & content administration + {identity?.email ? ` · signed in as ${identity.email}` : ""}. +
+{l.body}
++ The platform image whitelist. Only enabled images can back a new server. + Editing the whitelist from the Web is auditable (spec §14) — the mutation + routes are a pending admin-tier slice, so this view is read-only for now. +
++ Create platform servers from the structured form and manage the ones + you operate. +
++ Every server on the platform — phase, owner, capacity. +
++ Platform observability cockpit — a window, not a lever. +
+