From 5863639e1acfa2876d36b0e9ad68c633f7e6f32b Mon Sep 17 00:00:00 2001 From: Astra Date: Sat, 3 Oct 2026 14:11:27 +0100 Subject: [PATCH] Notifications page: one list of toggles, without group headings --- internal/web/assets/admin.js | 10 ++++------ internal/web/assets/styles.css | 7 ------- internal/web/notify.go | 23 +++++++++++------------ 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/internal/web/assets/admin.js b/internal/web/assets/admin.js index 1a08bee..3383f80 100644 --- a/internal/web/assets/admin.js +++ b/internal/web/assets/admin.js @@ -569,7 +569,6 @@ async function notifications() { else device = row("This device", "Turn notifications on to get the ones picked below here, even with the panel closed.", ''); const dis = d.available ? "" : "disabled"; - const groups = [...new Set(d.types.map((t) => t.group))]; v.innerHTML = `

Notifications

Get bans, gags, mutes and server alerts on your phone or computer. Nothing about your own actions is sent to you.

@@ -589,11 +588,10 @@ async function notifications() {

What to send

For all your devices.

- ${groups.map((g) => `
${esc(g)}
- ${d.types.filter((t) => t.group === g).map((t) => row(esc(t.label), t.help ? esc(t.help) : "", - t.ready - ? `` - : `Coming later`)).join("")}`).join("")} + ${d.types.map((t) => row(esc(t.label), t.help ? esc(t.help) : "", + t.ready + ? `` + : `Coming later`)).join("")}
`; } diff --git a/internal/web/assets/styles.css b/internal/web/assets/styles.css index c0d3120..40a3410 100644 --- a/internal/web/assets/styles.css +++ b/internal/web/assets/styles.css @@ -679,13 +679,6 @@ td.num, th.num { text-align: right; white-space: nowrap; } .setting .control .tag + .switch { margin-left: 10px; } /* Notifications page. */ -.notif-group { - padding: 14px 18px 2px; - color: var(--faint); - font: 600 12px var(--body); - letter-spacing: 0.06em; - text-transform: uppercase; -} .quiet-times { display: flex; align-items: center; gap: 8px; } .quiet-times .input { width: 120px; } diff --git a/internal/web/notify.go b/internal/web/notify.go index a9bca94..64815ae 100644 --- a/internal/web/notify.go +++ b/internal/web/notify.go @@ -26,24 +26,23 @@ import ( // send yet: the page shows them, switched off. type notifyType struct { Key string `json:"key"` - Group string `json:"group"` Label string `json:"label"` Help string `json:"help,omitempty"` Ready bool `json:"ready"` } var notifyTypes = []notifyType{ - {Key: "ban", Group: "Bans", Label: "Ban added", Ready: true}, - {Key: "unban", Group: "Bans", Label: "Ban lifted", Ready: true}, - {Key: "gag", Group: "Gags", Label: "Gag added", Ready: true}, - {Key: "ungag", Group: "Gags", Label: "Gag lifted", Ready: true}, - {Key: "mute", Group: "Mutes", Label: "Mute added", Ready: true}, - {Key: "unmute", Group: "Mutes", Label: "Mute lifted", Ready: true}, - {Key: "silence", Group: "Silences", Label: "Silence added", Ready: true}, - {Key: "unsilence", Group: "Silences", Label: "Silence lifted", Ready: true}, - {Key: "server", Group: "Server", Label: "Server down and back up", Help: "When the panel loses the game server for 30 seconds, and when it's back.", Ready: true}, - {Key: "livescore", Group: "Server", Label: "Live score", Help: "An updating scoreboard while people are playing. Coming later."}, - {Key: "calladmin", Group: "Players", Label: "Admin called", Help: "A player asks for an admin in game. Needs a server plugin, coming later."}, + {Key: "ban", Label: "Ban added", Ready: true}, + {Key: "unban", Label: "Ban lifted", Ready: true}, + {Key: "gag", Label: "Gag added", Ready: true}, + {Key: "ungag", Label: "Gag lifted", Ready: true}, + {Key: "mute", Label: "Mute added", Ready: true}, + {Key: "unmute", Label: "Mute lifted", Ready: true}, + {Key: "silence", Label: "Silence added", Ready: true}, + {Key: "unsilence", Label: "Silence lifted", Ready: true}, + {Key: "server", Label: "Server down and back up", Help: "When the panel loses the game server for 30 seconds, and when it's back.", Ready: true}, + {Key: "livescore", Label: "Live score", Help: "An updating scoreboard while people are playing. Coming later."}, + {Key: "calladmin", Label: "Admin called", Help: "A player asks for an admin in game. Needs a server plugin, coming later."}, } // readyTypes are the keys that can be switched on, which is also everyone's default.