Boot splash and periodic announcement banner
Splash: resources/splash/splash.gif built into the binary, played once by SplashOverlay over a black cover present from the first frame (no UI flash), then fades into the UI; hides icons loading. GIF, so no QtMultimedia/gstreamer. Toggle: splash.enabled. Banner (InfoBanner): metro-style band that fades/slides in with a hold pictogram; text that does not fit runs as a seamless ticker for two rounds. Never takes touches; hidden during splash and settings. Config section banner (enabled, text, intervalSec, showSec, position, accentColor), editable in the web UI and on-device settings; shown once after saving. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,11 @@ companion Flask web configurator. Both share a single JSON config file.
|
||||
- Ethernet configuration via NetworkManager (`nmcli`) from the web UI
|
||||
- OTA software update with automatic rollback on a failed launch (health-check)
|
||||
- Hot reload: app picks up config changes via `QFileSystemWatcher`
|
||||
- Boot splash (`resources/splash/splash.gif`, built into the binary, played once
|
||||
by `qml/SplashOverlay.qml`; covers icons loading). GIF, not mp4: no QtMultimedia
|
||||
- Periodic announcement banner (`qml/InfoBanner.qml`, metro-style fade/slide,
|
||||
ticker scroll for long text, never takes touches); text, period, duration,
|
||||
position and colour in the web UI («Внешний вид») and on-device settings
|
||||
|
||||
## Layout
|
||||
|
||||
@@ -342,6 +347,15 @@ sudo -u buttontask sudo -n /opt/buttontask/scripts/bt-brightness status
|
||||
"errorWidth": 6, // ring width (px) on error
|
||||
"glowRadius": 20 // glow radius (0 disables the glow)
|
||||
},
|
||||
"banner": { // periodic announcement over the buttons
|
||||
"enabled": false,
|
||||
"text": "Для вызова клининга удерживайте кнопку",
|
||||
"intervalSec": 180, // 30..3600, period between shows
|
||||
"showSec": 10, // 3..60, longer if the text has to scroll
|
||||
"position": "bottom", // "bottom" | "top"
|
||||
"accentColor": "#e4002b" // stripe + hold-ring colour
|
||||
},
|
||||
"splash": { "enabled": true }, // boot splash, read at app start
|
||||
"settings": {
|
||||
"darkMode": true,
|
||||
"password": "admin", // shared with web auth
|
||||
|
||||
Reference in New Issue
Block a user