aboutsummaryrefslogtreecommitdiff
path: root/source/ui/ListView.mc
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-10-20 18:36:54 +0200
committercirakg <cirakg@cirakg.xyz>2026-10-20 18:36:54 +0200
commit151bfda5d4c567ff909a61dc9c90bf8eece1db37 (patch)
treef8487b91cf6a9ce59dba02e95e67250fc84d8e80 /source/ui/ListView.mc
parent25910f3a7a7fb28c4a58367b6e56dd2468b60933 (diff)
feat(settings): add the Add OTP, Add code and Manage entry forms with a PIN queue for locked entries
The full phone settings form (README 10.2) and its processing (10.3) as one resumable job: Import, Add OTP, Add code, Manage, then the About fields. Forms are applied only when their switch is on, cleared afterwards (secret first; only the secret after a problem), deduplicated by keyed hash, and report into their Result field and the results screen. - Add OTP validates per README 10.4; Add code runs the real encoder (CodeCheck, a job for 2D codes) and caches 2D codes on the way in. - Manage entry: edit, move, require/drop PIN, replace, counter, delete. Changes to locked entries are sealed under "q" and applied only after the PIN is entered under "Phone changes" in the menu. - About: catalog (800 characters max), version, storage use. - "Encrypt names" now applies to new and existing entries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'source/ui/ListView.mc')
-rw-r--r--source/ui/ListView.mc9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/ui/ListView.mc b/source/ui/ListView.mc
index cc4e5f3..94b8c99 100644
--- a/source/ui/ListView.mc
+++ b/source/ui/ListView.mc
@@ -179,14 +179,19 @@ class ListView extends WatchUi.View {
}
// "Importing… 40%" while an import runs, "Results ready" when settings
- // results haven't been looked at, else the app name.
+ // results haven't been looked at, "Confirm in menu" while phone changes
+ // wait for the PIN, else the app name.
private function title() as String {
var p = AppState.processor;
var busy = p != null ? p.busyText() : null;
if (busy != null) {
return busy;
}
- return Results.unseen() ? "Results ready (menu)" : "OTP Wallet";
+ if (Results.unseen()) {
+ return "Results ready (menu)";
+ }
+ var v = AppState.vault;
+ return v != null && ChangeQueue.count(v) > 0 ? "Confirm in menu" : "OTP Wallet";
}
private function drawEmpty(dc as Graphics.Dc, top as Number, bottom as Number) as Void {