Deploy msgboard
Browse files
src/msgboard/dashboard.html
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
<link rel="apple-touch-icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAIAAACyr5FlAAAEuElEQVR42u3dO07jQACA4cwjUhxiUBAdEgWCIoIaiZqOO4BERUMFN0A5AVyBh0RDjTgBouQUKBERcpTEj/FsYS270qbY3fFuJvH/HwAF+7NnHDyDaLfbNaJpSQ4BgYPAQeAgcBA4CBwEDgIHgYPAQQQOAgeBg8BB4CBwEDgIHAQOAgcROAgcBA4CB4GDwEHgIHAQOKgyafcfIYSQEmR+Za3N83zGOIQQcRzHccz58Oui17rZbFprZ4ZDCJGm6fb29sbGhrVWCMFZ8aR+v//29lav1118OOFQSn18fBwdHZ2fn3M+vOrp6enw8HB1ddUYM8s5R5IkeZ5nWaa15qzMPGOMUmoymbjfyEubkBZxbnyYikopSxniOZ0EDgIHgYPAQeAgcBA4CBwEDgIHETgIHAQOAgeBg8BBc5IvL/a5v0e/UJesH+/UaQ4HeYqjWNAwHA5PT08/Pz+11o5LLeY9IUSWZVdXV5ubmzNf7eHFnSNN0+fn516v57jOYjFwpGna7Xa/rpyq4xBCrKyspGkKDiFEkiRKKYaVHxljjDFSSnAYYzw5CEwDCRwEDgIHgYPAQeAgcNCi5MuXYPp7fAmW57knG2h5gcNa2+/3B4MBF2tRlmXgqBWXSBAEl5eXo9GIP9zXajVjzPr6+tfBqfqdo9FonJ2dwWLqlcOcw5cbqScppXyYdng0IcUEj7IEDgIHgYPAQcSj7N9fTFXaxZtHWfIbRxzHd3d34/HY54tSSjkejw8ODnZ3d/M8r8L9w4sVb6PR6OLiYjAYCCG8/aus1jrLsuvra3D814QQa2trtVrN50VNWuterxcEAcPKDCakWZb5fOcoPmSldgPgUZbAQeAgcBA4CBwEDgIHLUoe7SZY5O2XYFJKT977rRYOa+1wOIyiyPOvz40xSZKA438f9/39fc+3mlRKDQYDT5YbVQJHcZTDMHx8fJyjo+bJbn9VmXPM0frp6kw7NEeceJQlcBA4CBwEDgIHgYPAQeAgcBCBg8BB4CBwEDgIHAQOmvNKeBPMWlv8y2D3t7mEEP9uxxxjTBXOaPFrlrKPSAk4Go2GUsrzd27zPK/IW8HFr7m0tOT+Wq5ot9suF3qSJJ1OZ2trq9jd6++HNynH43Gn0+l2u44/6teyLNNaPzw83N/ft1qtxb6FFEfv/f399fXVcR2QE47Cx2QyiePYde4jZZqme3t7Ly8v5eIoZNze3p6cnJQy9s3HdEFr95uHdncaBEGz2XTHEUXR8vJyucfoZxmtVqs6/0POWus+7ShhzlHK3OdrVvvvZEgp+Zc/PMpOl1GpjQDBgQxwIAMcpZSmKTLAMf2eUa/XkQEORhNwMJqAg9EEHIwm4GA0AQejCTgYTcDBaELzjoPRBByMJuBABjiQAQ5kgAMZ4OCpFRw8tdK84WA0AQejCTgYTcDhXp7nyADHdBlSypubG2T4kAqCwIfPUSzI3tnZ0VofHx+HYYiM2Z8Ux1X25d42wjAcDofWWq01MhhWfvooUkZRJIRQSiHDh7RXn6bYlaYiuySA48+CBcMKgYPAQeAgcBCBg8BB4CBwEDgIHAQOAgeBg8BBBA4CB4GDwEHgIHAQOAgcBA4CB4GDCBz0+30DzCSPkLlRZgYAAAAASUVORK5CYII=">
|
| 10 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.11/katex.min.css"
|
| 11 |
integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
| 12 |
-
<script>try { if (localStorage.getItem("msgboard:look") === "
|
| 13 |
<style>
|
| 14 |
:root {
|
| 15 |
--bg: #fafaf8; --panel: #f1f1ee; --ink: #111; --ink-2: #555; --ink-3: #8a8a86;
|
|
@@ -707,7 +707,7 @@ dialog input[type=text] { width: 100%; margin: 4px 0 12px; }
|
|
| 707 |
|
| 708 |
<div id="app" class="hidden">
|
| 709 |
<aside>
|
| 710 |
-
<div class="brand"><b>msgboard</b><button class="look-btn" id="look-toggle" title="
|
| 711 |
<div class="search-box"><input id="search-input" type="search" placeholder="Search" title="Ctrl/⌘ K opens the full search" aria-label="Search" autocomplete="off" spellcheck="false"></div>
|
| 712 |
<div class="nav-scroll">
|
| 713 |
<ul class="navlist" id="activity-list"><li><button id="activity-open"><span class="glyph"><svg class="lock" viewBox="0 0 10 11" aria-hidden="true"><path d="M2 8 V5 a3 3 0 0 1 6 0 V8 H2 Z M4 9.5 h2"/></svg></span><span class="name">Activity</span></button></li></ul>
|
|
@@ -3415,12 +3415,12 @@ function openSettings(tab) {
|
|
| 3415 |
// A2 look on trial: a per-browser switch, applied before first paint by the snippet in <head>
|
| 3416 |
function setLook(a2) {
|
| 3417 |
if (a2) document.documentElement.dataset.look = "a2"; else delete document.documentElement.dataset.look;
|
| 3418 |
-
store.set("look", a2 ? "
|
| 3419 |
$("look-toggle").classList.toggle("on", a2); $("look-toggle").setAttribute("aria-pressed", a2);
|
| 3420 |
-
$("look-toggle").title = a2 ? "
|
| 3421 |
markScrollingCode(document);
|
| 3422 |
}
|
| 3423 |
-
setLook(store.get("look") ==
|
| 3424 |
$("look-toggle").onclick = () => setLook(!document.documentElement.dataset.look);
|
| 3425 |
$("settings-open").onclick = () => { $("app").classList.remove("nav"); openSettings(); };
|
| 3426 |
$("add-agents").onclick = async () => {
|
|
|
|
| 9 |
<link rel="apple-touch-icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAIAAACyr5FlAAAEuElEQVR42u3dO07jQACA4cwjUhxiUBAdEgWCIoIaiZqOO4BERUMFN0A5AVyBh0RDjTgBouQUKBERcpTEj/FsYS270qbY3fFuJvH/HwAF+7NnHDyDaLfbNaJpSQ4BgYPAQeAgcBA4CBwEDgIHgYPAQQQOAgeBg8BB4CBwEDgIHAQOAgcROAgcBA4CB4GDwEHgIHAQOKgyafcfIYSQEmR+Za3N83zGOIQQcRzHccz58Oui17rZbFprZ4ZDCJGm6fb29sbGhrVWCMFZ8aR+v//29lav1118OOFQSn18fBwdHZ2fn3M+vOrp6enw8HB1ddUYM8s5R5IkeZ5nWaa15qzMPGOMUmoymbjfyEubkBZxbnyYikopSxniOZ0EDgIHgYPAQeAgcBA4CBwEDgIHETgIHAQOAgeBg8BBc5IvL/a5v0e/UJesH+/UaQ4HeYqjWNAwHA5PT08/Pz+11o5LLeY9IUSWZVdXV5ubmzNf7eHFnSNN0+fn516v57jOYjFwpGna7Xa/rpyq4xBCrKyspGkKDiFEkiRKKYaVHxljjDFSSnAYYzw5CEwDCRwEDgIHgYPAQeAgcNCi5MuXYPp7fAmW57knG2h5gcNa2+/3B4MBF2tRlmXgqBWXSBAEl5eXo9GIP9zXajVjzPr6+tfBqfqdo9FonJ2dwWLqlcOcw5cbqScppXyYdng0IcUEj7IEDgIHgYPAQcSj7N9fTFXaxZtHWfIbRxzHd3d34/HY54tSSjkejw8ODnZ3d/M8r8L9w4sVb6PR6OLiYjAYCCG8/aus1jrLsuvra3D814QQa2trtVrN50VNWuterxcEAcPKDCakWZb5fOcoPmSldgPgUZbAQeAgcBA4CBwEDgIHLUoe7SZY5O2XYFJKT977rRYOa+1wOIyiyPOvz40xSZKA438f9/39fc+3mlRKDQYDT5YbVQJHcZTDMHx8fJyjo+bJbn9VmXPM0frp6kw7NEeceJQlcBA4CBwEDgIHgYPAQeAgcBCBg8BB4CBwEDgIHAQOmvNKeBPMWlv8y2D3t7mEEP9uxxxjTBXOaPFrlrKPSAk4Go2GUsrzd27zPK/IW8HFr7m0tOT+Wq5ot9suF3qSJJ1OZ2trq9jd6++HNynH43Gn0+l2u44/6teyLNNaPzw83N/ft1qtxb6FFEfv/f399fXVcR2QE47Cx2QyiePYde4jZZqme3t7Ly8v5eIoZNze3p6cnJQy9s3HdEFr95uHdncaBEGz2XTHEUXR8vJyucfoZxmtVqs6/0POWus+7ShhzlHK3OdrVvvvZEgp+Zc/PMpOl1GpjQDBgQxwIAMcpZSmKTLAMf2eUa/XkQEORhNwMJqAg9EEHIwm4GA0AQejCTgYTcDBaELzjoPRBByMJuBABjiQAQ5kgAMZ4OCpFRw8tdK84WA0AQejCTgYTcDhXp7nyADHdBlSypubG2T4kAqCwIfPUSzI3tnZ0VofHx+HYYiM2Z8Ux1X25d42wjAcDofWWq01MhhWfvooUkZRJIRQSiHDh7RXn6bYlaYiuySA48+CBcMKgYPAQeAgcBCBg8BB4CBwEDgIHAQOAgeBg8BBBA4CB4GDwEHgIHAQOAgcBA4CB4GDCBz0+30DzCSPkLlRZgYAAAAASUVORK5CYII=">
|
| 10 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.11/katex.min.css"
|
| 11 |
integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
|
| 12 |
+
<script>document.documentElement.dataset.look = "a2"; try { if (localStorage.getItem("msgboard:look") === "classic") delete document.documentElement.dataset.look; } catch {}</script>
|
| 13 |
<style>
|
| 14 |
:root {
|
| 15 |
--bg: #fafaf8; --panel: #f1f1ee; --ink: #111; --ink-2: #555; --ink-3: #8a8a86;
|
|
|
|
| 707 |
|
| 708 |
<div id="app" class="hidden">
|
| 709 |
<aside>
|
| 710 |
+
<div class="brand"><b>msgboard</b><button class="look-btn" id="look-toggle" title="Switch to the classic look (only in this browser)" aria-pressed="true">A2</button><button class="hidden" id="settings-open" title="Settings" aria-label="Settings"><svg class="gear" viewBox="0 0 16 16" aria-hidden="true"><circle cx="8" cy="8" r="2.2"/><path d="M8 1.5v2M8 12.5v2M1.5 8h2M12.5 8h2M3.4 3.4l1.4 1.4M11.2 11.2l1.4 1.4M3.4 12.6l1.4-1.4M11.2 4.8l1.4-1.4"/><circle cx="8" cy="8" r="4.6"/></svg></button></div>
|
| 711 |
<div class="search-box"><input id="search-input" type="search" placeholder="Search" title="Ctrl/⌘ K opens the full search" aria-label="Search" autocomplete="off" spellcheck="false"></div>
|
| 712 |
<div class="nav-scroll">
|
| 713 |
<ul class="navlist" id="activity-list"><li><button id="activity-open"><span class="glyph"><svg class="lock" viewBox="0 0 10 11" aria-hidden="true"><path d="M2 8 V5 a3 3 0 0 1 6 0 V8 H2 Z M4 9.5 h2"/></svg></span><span class="name">Activity</span></button></li></ul>
|
|
|
|
| 3415 |
// A2 look on trial: a per-browser switch, applied before first paint by the snippet in <head>
|
| 3416 |
function setLook(a2) {
|
| 3417 |
if (a2) document.documentElement.dataset.look = "a2"; else delete document.documentElement.dataset.look;
|
| 3418 |
+
store.set("look", a2 ? "" : "classic"); // A2 is the default; only opting out is remembered
|
| 3419 |
$("look-toggle").classList.toggle("on", a2); $("look-toggle").setAttribute("aria-pressed", a2);
|
| 3420 |
+
$("look-toggle").title = a2 ? "Switch to the classic look (only in this browser)" : "Back to the A2 look";
|
| 3421 |
markScrollingCode(document);
|
| 3422 |
}
|
| 3423 |
+
setLook(store.get("look") !== "classic");
|
| 3424 |
$("look-toggle").onclick = () => setLook(!document.documentElement.dataset.look);
|
| 3425 |
$("settings-open").onclick = () => { $("app").classList.remove("nav"); openSettings(); };
|
| 3426 |
$("add-agents").onclick = async () => {
|