Add per-feed visibility settings panel

Visitors can hide individual feeds via a gear-icon panel in the header.
Preferences live in localStorage; the server ships the full source list
(name + channel) as window.PETE_SOURCES so the panel lists every feed,
grouped by channel, regardless of what's on the current page.
This commit is contained in:
prosolis
2026-05-26 17:15:46 -07:00
parent 92d700f2bb
commit a15025089d
6 changed files with 207 additions and 15 deletions

View File

@@ -200,7 +200,7 @@ func main() {
// Start the read-only web UI alongside the Matrix bot.
if cfg.Web.Enabled {
ws, err := web.New(cfg.Web)
ws, err := web.New(cfg.Web, cfg.Sources)
if err != nil {
slog.Error("web server init failed", "err", err)
} else {
@@ -246,7 +246,7 @@ func runLocal(cfg *config.Config) {
poller.Start(ctx)
slog.Info("local: pollers started")
ws, err := web.New(cfg.Web)
ws, err := web.New(cfg.Web, cfg.Sources)
if err != nil {
slog.Error("local: web server init failed", "err", err)
os.Exit(1)