aboutsummaryrefslogtreecommitdiff
path: root/source/ui/Ui.mc
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-10-25 23:51:52 +0100
committercirakg <cirakg@cirakg.xyz>2026-10-25 23:51:52 +0100
commitb8addc87f804789368612bf8e1be31a2bf28efe1 (patch)
treebece4051eb6f009eba05ffdd585420232741a7d7 /source/ui/Ui.mc
parent140a6660f63f88d05ba9aae0bf1c4b401bb6574d (diff)
test(ui): second UI scenario, and the fixes it found
A second UI-test build (uitest-extra.jungle) covers the legacy PIN and the forced new PIN, Change and Reset PIN, a queued Require PIN, UPC-A, Code 39, the code error screen, the encoding progress, auto-lock on a barcode, the light theme and the glance without a code; the main flow adds the Steam and Library details and the menu's text screens. Fixed from what it found: Entry IDs tripped the watchdog with 110 entries; auto-lock didn't close a locked barcode; a queued Require PIN showed "Confirm in menu"; locked barcodes lacked the padlock; the PIN keypad's bottom row, the Reset PIN question, text-screen bottoms, the glance title and the light-theme warning colour. Goldens approved on all seven watches; only the Forerunner 70 was re-verified after the version bump. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'source/ui/Ui.mc')
-rw-r--r--source/ui/Ui.mc8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/ui/Ui.mc b/source/ui/Ui.mc
index a8d1ec7..bf52520 100644
--- a/source/ui/Ui.mc
+++ b/source/ui/Ui.mc
@@ -15,6 +15,7 @@ module Ui {
const ELLIPSIS = "…";
const WARN_COLOR = 0xFF5555;
+ const LIGHT_WARN_COLOR = 0xCC0000; // 0xFF5555 is too faint on white for small text
const ACCENT_COLOR = 0x00AAAA; // the teal of the launcher icon
const LIGHT_ACCENT_COLOR = 0x007777;
@@ -71,6 +72,11 @@ module Ui {
return dark() ? ACCENT_COLOR : LIGHT_ACCENT_COLOR;
}
+ // Warnings (wrong PIN, the last seconds of a code) in the theme.
+ function warn() as Number {
+ return dark() ? WARN_COLOR : LIGHT_WARN_COLOR;
+ }
+
// Clear the screen in the theme's background.
function clear(dc as Graphics.Dc) as Void {
dc.setColor(fg(), bg());
@@ -142,7 +148,7 @@ module Ui {
if (period <= 0 || remaining <= 0) {
return;
}
- dc.setColor(remaining <= 5 ? WARN_COLOR : accent(), Graphics.COLOR_TRANSPARENT);
+ dc.setColor(remaining <= 5 ? warn() : accent(), Graphics.COLOR_TRANSPARENT);
var pen = r / 2 > 1 ? r / 2 : 1;
dc.setPenWidth(pen);
var sweep = 360 * remaining / period;