40 lines
1.5 KiB
HTML
40 lines
1.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Sovereign Canvas</title>
|
|
<link rel="stylesheet" href="/plugins/svrnty/canvas.css">
|
|
</head>
|
|
<body>
|
|
<main class="svrnty-canvas-overlay">
|
|
<div class="svrnty-canvas-toolbar">
|
|
<div class="svrnty-canvas-title">Sovereign Canvas</div>
|
|
<div id="standaloneCanvasStatus" class="svrnty-canvas-status">Checking...</div>
|
|
</div>
|
|
<div class="svrnty-canvas-body">
|
|
<div class="svrnty-canvas-stage">
|
|
<div class="svrnty-canvas-empty">Open Hermes WebUI and select Canvas for the live command-center panel.</div>
|
|
</div>
|
|
<aside class="svrnty-canvas-rail">
|
|
<h3>Bridge status</h3>
|
|
<pre id="standaloneCanvasTools" class="svrnty-canvas-log-row">Loading...</pre>
|
|
</aside>
|
|
</div>
|
|
</main>
|
|
<script>
|
|
Promise.all([
|
|
fetch("/api/canvas/status").then((r) => r.json()),
|
|
fetch("/api/canvas/tools").then((r) => r.json())
|
|
]).then(([status, tools]) => {
|
|
document.getElementById("standaloneCanvasStatus").textContent =
|
|
status.ok ? "canva-editor online" : "canva-editor offline";
|
|
document.getElementById("standaloneCanvasTools").textContent =
|
|
JSON.stringify({ status: status, tools: tools }, null, 2);
|
|
}).catch((e) => {
|
|
document.getElementById("standaloneCanvasStatus").textContent = String(e);
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|