feat(dashboard): move notification config to Config page

- Notifications tab in Config sidebar with Bell icon
- Channels section: add/edit/delete channels (mesh broadcast, DM, email, webhook)
- Test button sends test alert to channel
- Rules section: create rules with category checkboxes fetched from API
- Quiet hours configurable with start/end times
- Dedup window to prevent alert spam
- Full helper text and info buttons on every field
- Category list fetched from /api/notifications/categories, not hardcoded
- Added notifications and environmental to VALID_SECTIONS in config_routes.py

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
K7ZVX 2026-05-13 04:47:42 +00:00
commit c22cf47dec
5 changed files with 713 additions and 99 deletions

View file

@ -26,7 +26,9 @@ RESTART_REQUIRED_SECTIONS = {
}
# Valid config section names
VALID_SECTIONS = {
VALID_SECTIONS = {
"notifications",
"environmental",
"bot",
"connection",
"response",

View file

@ -8,8 +8,8 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
<script type="module" crossorigin src="/assets/index-Croiw0ta.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CnMjjlvK.css">
<script type="module" crossorigin src="/assets/index-CdB1XMAe.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-D0QU4dPJ.css">
</head>
<body>
<div id="root"></div>