mirror of
https://github.com/ipnet-mesh/meshcore-hub.git
synced 2026-10-30 19:52:03 +01:00
feat(web): add system announcement banner and maintenance mode
Add two operator-controlled, startup-time settings: - SYSTEM_ANNOUNCEMENT: non-dismissable Markdown banner rendered above the network announcement on every page (navbar -> system -> network). - SYSTEM_MAINTENANCE: when enabled, forces all feature flags off so the nav collapses to Home, hides the profile menu, and the SPA renders a maintenance page for every route. The maintenance page makes no API calls, so the API and database can be offline while the web component keeps running. CLI exposes --system-announcement and tri-state --system-maintenance; the bool falls back to pydantic settings to parse SYSTEM_MAINTENANCE reliably from env. Adds i18n strings (en/nl), tests, and docs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
5d2f0b90d7
commit
17e6b65f8c
13 files changed
+561
-1
No files matched your search
@@ -496,6 +496,19 @@ NETWORK_WELCOME_TEXT=
|
||||
# Example: **Maintenance** scheduled for Saturday — see [details](https://example.com)
|
||||
NETWORK_ANNOUNCEMENT=
|
||||
|
||||
# System announcement banner (optional, Markdown supported)
|
||||
# Non-dismissable banner shown above the network announcement on every page,
|
||||
# for important system notices (downtime, maintenance windows, alerts).
|
||||
# Stays visible until unset and the web service is restarted. Empty = no banner.
|
||||
SYSTEM_ANNOUNCEMENT=
|
||||
|
||||
# Maintenance mode (default: false)
|
||||
# When true, disables almost all site functionality: the nav shows only Home,
|
||||
# the user/profile menu is hidden, and every page renders a "Site Under
|
||||
# Maintenance" notice. No backend API calls are made, so the API/database can
|
||||
# be offline while the web component keeps running. Requires a web restart.
|
||||
SYSTEM_MAINTENANCE=false
|
||||
|
||||
# -------------------
|
||||
# Feature Flags
|
||||
# -------------------
|
||||
|
||||
Reference in new issue
Block a user