From fe51a6403d0def9690b71a4b934286dd76aedb0d Mon Sep 17 00:00:00 2001
From: TaprootFreakAI
Date: Fri, 11 Sep 2026 17:38:22 +0200
Subject: [PATCH 1/3] 01a08bdf - test(history): keep the referral prize inside
the date filter (#983)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
EN:
The referral-prize history golden used 24 Aug 2026 while the date
pickers are pinned to 23 May 2026, so the row sat after the visible end
date. The prize is now 20 May 2026 (inside the filter). The runner
regenerated only `transaction_history_page_referral_payout.png`.
DE:
Die Empfehlungsprämie in der Historie war auf den 24.08.2026 datiert,
die Datumsfilter aber auf den 23.05.2026 — die Zeile lag hinter dem
sichtbaren Enddatum. Die Prämie ist jetzt der 20.05.2026 (im Filter).
Der Runner hat nur `transaction_history_page_referral_payout.png` neu
erzeugt.
Details
- `transaction_history_states_golden_test.dart`: `timestamp` of the
`transaction_history_page_referral_payout` golden is `DateTime.utc(2026,
5, 20, 10)` (same day as the other rows in that file; `pinnedClock` is
23 May 2026).
- Handbook card 288: dropped the Testdaten remark.
- PNG from `golden-regenerate.yaml` (bot commit `ff5c08c5`); empty
signed `ci: trigger workflows on bot regen` so PR checks can run against
the runner baselines.
---------
Co-authored-by: TaprootFreakAI <315477232+TaprootFreakAI@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
docs/handbook/de/index.html | 2 --
...ansaction_history_page_referral_payout.png | Bin 23400 -> 23080 bytes
...ransaction_history_states_golden_test.dart | 3 ++-
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/docs/handbook/de/index.html b/docs/handbook/de/index.html
index eab666c43..56f1cd3cc 100644
--- a/docs/handbook/de/index.html
+++ b/docs/handbook/de/index.html
@@ -11412,8 +11412,6 @@ REmpfehlungen & Promo-Code
Historie: Prämie mit ganzer Anzahl (20 REALU), Datum und
Frankenwert, fixiert im Zeitpunkt der Gutschrift (TB Ziff. 6).
- Im Golden liegt die Prämie ausserhalb des angezeigten Datumsfilters
- (Testdaten).
diff --git a/test/goldens/screens/transaction_history/goldens/macos/transaction_history_page_referral_payout.png b/test/goldens/screens/transaction_history/goldens/macos/transaction_history_page_referral_payout.png
index 4a958014fe68c45370a5ddbe90b7ce2a53ce39bd..b9bcb60fb0a9ca1864ec989c0c7abb44f938ecfc 100644
GIT binary patch
literal 23080
zcmdSB
Y*5L-
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
bDe>d?RXLB_gY8>AJDoh9@Hz9dtc(8!;F_}*
literal 23400
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 filterCubit.state).thenReturn(
From 85c36877555bf637dd1bc0b1568db24708bc2c24 Mon Sep 17 00:00:00 2001
From: TaprootFreakAI
Date: Tue, 15 Sep 2026 12:48:34 +0200
Subject: [PATCH 2/3] 01a0a129 - Bind-error overlay goldens and matching titles
(#986)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
EN:
Adds dashboard goldens for the wallet bind-error overlay and gives
already-registered, already-bound, and self-referral their own titles.
The already-registered body explains the first-purchase rule instead of
repeating the title.
Referral UI copy addresses the user with Sie, like the rest of the
wallet. Share-text stays informal.
The handbook shows both dialogs: expired/unknown (`291`) and
already-registered (`292`).
PNGs come from the self-hosted `golden-regenerate.yaml` runner, not a
local render.
DE:
Dashboard-Goldens für den Bind-Fehler-Overlay; already-registered,
already-bound und self-referral haben eigene Titel.
Der Body bei already-registered erklärt die Erstkauf-Regel statt den
Titel zu wiederholen.
Referral-Texte in der App stehen auf Sie, wie der Rest der Wallet.
Share-Texte bleiben Du.
Das Handbook zeigt beide Dialoge: ungültig/abgelaufen (`291`) und nur
für neue Kundinnen (`292`).
Die PNGs kommen vom self-hosted Runner (`golden-regenerate.yaml`), nicht
lokal.
Details
`ReferralBindErrorDialog` is the live `showDialog` widget
(`barrierDismissible: false`).
Handbook (count guard 301):
- `291-referral-bind-error-invalid` — «Link ungültig oder abgelaufen»
- `292-referral-bind-error-already-registered` — «Nur für neue Kundinnen
und Kunden» + first-purchase body
Also goldened: already-bound, self-referral, spent.
---------
Co-authored-by: TaprootFreakAI <315477232+TaprootFreakAI@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
.github/workflows/handbook-build-check.yaml | 8 +-
CONTRIBUTING.md | 2 +-
assets/languages/strings_de.arb | 27 +--
assets/languages/strings_en.arb | 5 +-
docs/handbook/README.md | 2 +-
docs/handbook/de/index.html | 69 +++++--
docs/referral-programme.md | 10 +-
docs/screens.md | 10 +-
docs/visual-regression-tests.md | 6 +-
.../referral/referral_bind_error_dialog.dart | 32 +++
.../referral/referral_error_message.dart | 9 +
lib/setup/routing/referral_bind.dart | 24 +--
scripts/assemble-handbook-screenshots.sh | 6 +-
scripts/run-handbook-flows.sh | 2 +-
.../dashboard_referral_entry_and_payout.png | Bin 63924 -> 64423 bytes
...kyc_registration_referral_step_default.png | Bin 25695 -> 25646 bytes
...kyc_registration_referral_step_invalid.png | Bin 27950 -> 27869 bytes
...kyc_registration_referral_step_loading.png | Bin 25918 -> 25837 bytes
.../kyc_registration_referral_step_promo.png | Bin 79706 -> 79691 bytes
..._registration_referral_step_recognized.png | Bin 34443 -> 34307 bytes
.../kyc_registration_referral_step_spent.png | Bin 29168 -> 29093 bytes
...registration_referral_step_unavailable.png | Bin 33083 -> 32976 bytes
.../referral_bind_error_already_bound.png | Bin 0 -> 45538 bytes
...referral_bind_error_already_registered.png | Bin 0 -> 46677 bytes
.../macos/referral_bind_error_invalid.png | Bin 0 -> 45330 bytes
.../referral_bind_error_self_referral.png | Bin 0 -> 43659 bytes
.../macos/referral_bind_error_spent.png | Bin 0 -> 45605 bytes
.../macos/referral_create_page_creating.png | Bin 22712 -> 22968 bytes
.../macos/referral_create_page_error.png | Bin 24958 -> 25309 bytes
.../referral_create_page_invite_created.png | Bin 32137 -> 31607 bytes
.../macos/referral_create_page_name_entry.png | Bin 21020 -> 21364 bytes
.../macos/referral_create_page_quota.png | Bin 25479 -> 25831 bytes
.../macos/referral_entry_card_eligible.png | Bin 11717 -> 12519 bytes
.../goldens/macos/referral_gate_failure.png | Bin 15151 -> 15712 bytes
.../macos/referral_overview_page_default.png | Bin 55209 -> 54358 bytes
.../macos/referral_overview_page_empty.png | Bin 31947 -> 31600 bytes
.../macos/referral_overview_page_failure.png | Bin 15940 -> 16149 bytes
.../referral_overview_page_invites_error.png | Bin 42039 -> 41640 bytes
.../macos/referral_overview_page_loading.png | Bin 9634 -> 9260 bytes
.../macos/referral_terms_page_error.png | Bin 86400 -> 86344 bytes
...eferral_bind_error_dialog_golden_test.dart | 191 ++++++++++++++++++
.../macos/settings_page_referral_eligible.png | Bin 49880 -> 50712 bytes
.../widgets/referral_code_field_test.dart | 12 +-
.../referral_create_invite_flow_test.dart | 2 +-
.../flows/referral_entry_card_flow_test.dart | 2 +-
.../flows/referral_overview_flow_test.dart | 2 +-
.../referral/referral_create_page_test.dart | 12 +-
.../referral/referral_entry_card_test.dart | 8 +-
.../referral/referral_error_message_test.dart | 17 +-
.../referral/referral_overview_page_test.dart | 34 ++--
test/screens/referral/referral_page_test.dart | 14 +-
.../referral/referral_terms_page_test.dart | 6 +-
.../settings_referral_entry_test.dart | 4 +-
test/setup/routing/referral_bind_test.dart | 42 ++--
54 files changed, 418 insertions(+), 140 deletions(-)
create mode 100644 lib/screens/referral/referral_bind_error_dialog.dart
create mode 100644 test/goldens/screens/referral/goldens/macos/referral_bind_error_already_bound.png
create mode 100644 test/goldens/screens/referral/goldens/macos/referral_bind_error_already_registered.png
create mode 100644 test/goldens/screens/referral/goldens/macos/referral_bind_error_invalid.png
create mode 100644 test/goldens/screens/referral/goldens/macos/referral_bind_error_self_referral.png
create mode 100644 test/goldens/screens/referral/goldens/macos/referral_bind_error_spent.png
create mode 100644 test/goldens/screens/referral/referral_bind_error_dialog_golden_test.dart
diff --git a/.github/workflows/handbook-build-check.yaml b/.github/workflows/handbook-build-check.yaml
index f0db79181..89c0547d7 100644
--- a/.github/workflows/handbook-build-check.yaml
+++ b/.github/workflows/handbook-build-check.yaml
@@ -96,8 +96,8 @@ jobs:
set -euo pipefail
bash scripts/assemble-handbook-screenshots.sh /tmp/handbook-shots
count=$(ls -1 /tmp/handbook-shots/*.png | wc -l | tr -d ' ')
- if [ "$count" != "299" ]; then
- echo "expected 299 screenshots, got $count" >&2
+ if [ "$count" != "301" ]; then
+ echo "expected 301 screenshots, got $count" >&2
exit 1
fi
@@ -177,10 +177,10 @@ jobs:
exit 1
fi
- # Spot-check handbook screenshots assembled from Goldens (299 PNGs).
+ # Spot-check handbook screenshots assembled from Goldens (301 PNGs).
# Mix of original 01-61 slots, later Golden batches, and referral
# baselines so a regression in any range surfaces here.
- for name in 01-welcome 11-dashboard 26-terms 35-dashboard-with-balance 46-buy-kyc-required 52-sell-unknown-error 53-buy-payment-details 61-kyc-registration-tax-tin-error 62-welcome-page-android 219-settings-security-page-default 268-phone-number-field-default 269-dashboard-insider-unlocked 270-handbook-persona-dca 275-handbook-persona-exit-1j 276-referral-overview 282-referral-payout-row 283-referral-terms-readonly 287-kyc-registration-referral-recognized 288-transaction-history-referral-payout 289-dashboard-referral-entry-and-payout 290-kyc-registration-referral-promo; do
+ for name in 01-welcome 11-dashboard 26-terms 35-dashboard-with-balance 46-buy-kyc-required 52-sell-unknown-error 53-buy-payment-details 61-kyc-registration-tax-tin-error 62-welcome-page-android 219-settings-security-page-default 268-phone-number-field-default 269-dashboard-insider-unlocked 270-handbook-persona-dca 275-handbook-persona-exit-1j 276-referral-overview 282-referral-payout-row 283-referral-terms-readonly 287-kyc-registration-referral-recognized 288-transaction-history-referral-payout 289-dashboard-referral-entry-and-payout 290-kyc-registration-referral-promo 291-referral-bind-error-invalid 292-referral-bind-error-already-registered; do
# Auth is checked before the file exists: a missing PNG also
# returns 401, so HTTP status cannot prove assembly. Look on disk.
if ! docker exec handbook test -f "/usr/share/nginx/html/screenshots/${name}.png"; then
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6fd25f0c7..58765c8ca 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -248,7 +248,7 @@ The app supports three wallet modes (`software`, `bitbox`, `debug`) with differe
```bash
rg "^//\s*@no-integration-test:" lib/
```
-- Visual-regression Goldens under `test/goldens/screens/` and `test/goldens/widgets/` are also the source of the 299 screenshots served at `handbook.realunit.app`. When you add a handbook page, you MUST add a matching Golden test AND a row in the mapping table at `scripts/assemble-handbook-screenshots.sh` — the handbook will not pick up a Maestro-captured PNG anymore. The `Handbook Build Check` workflow on every PR runs the assembly script and fails loudly if a mapped Golden is missing.
+- Visual-regression Goldens under `test/goldens/screens/` and `test/goldens/widgets/` are also the source of the 301 screenshots served at `handbook.realunit.app`. When you add a handbook page, you MUST add a matching Golden test AND a row in the mapping table at `scripts/assemble-handbook-screenshots.sh` — the handbook will not pick up a Maestro-captured PNG anymore. The `Handbook Build Check` workflow on every PR runs the assembly script and fails loudly if a mapped Golden is missing.
- Why: single source of truth — a UI regression that breaks a Golden also breaks the handbook image before either ships; eliminates the previous "two pipelines, two truths" problem.
- See: [`docs/visual-regression-tests.md`](docs/visual-regression-tests.md) section "Handbook screenshots are sourced from Goldens".
diff --git a/assets/languages/strings_de.arb b/assets/languages/strings_de.arb
index 0ece64c72..36da5d176 100644
--- a/assets/languages/strings_de.arb
+++ b/assets/languages/strings_de.arb
@@ -268,45 +268,48 @@
"receiver": "Empfänger",
"recoveryWords": "Wiederherstellungs-Wörter",
"recoveryWordsInvalid": "Wiederherstellungs-Wörter ungültig",
- "referralAlreadyBound": "Du hast bereits einen Einladungs- oder Promo-Code eingelöst.",
- "referralAlreadyRegistered": "Diese Einladung gilt nur für neue Kundinnen und Kunden.",
+ "referralAlreadyBound": "Sie haben bereits einen Einladungs- oder Promo-Code eingelöst.",
+ "referralAlreadyBoundTitle": "Bereits ein Code eingelöst",
+ "referralAlreadyRegistered": "Einladungs- und Promo-Codes müssen vor dem ersten REALU-Kauf eingelöst werden.",
+ "referralAlreadyRegisteredTitle": "Nur für neue Kundinnen und Kunden",
"referralChfAtSharePrice": "≈ ${chf} zum ${label}",
"referralCodeChecking": "Code wird geprüft…",
- "referralCodeDescription": "Optional. Über den Einladungslink wird der Code automatisch übernommen; hier kannst du ihn auch manuell eingeben.",
- "referralCodeHeading": "Hast du einen Empfehlungscode?",
+ "referralCodeDescription": "Optional. Über den Einladungslink wird der Code automatisch übernommen; hier können Sie ihn auch manuell eingeben.",
+ "referralCodeHeading": "Haben Sie einen Empfehlungscode?",
"referralCodeHint": "Einladungs- oder Promo-Code",
"referralCodeInvalid": "Dieser Code ist ungültig oder abgelaufen.",
"referralCodeInvalidTitle": "Link ungültig oder abgelaufen",
"referralCodeOptional": "Einladungs- oder Promo-Code (optional)",
"referralCodeSpent": "Dieser Einladungs- oder Promo-Code wurde bereits verwendet.",
"referralCodeSpentTitle": "Code bereits eingelöst",
- "referralCodeUnavailable": "Wir konnten den Code gerade nicht prüfen. Bitte versuche es später erneut.",
+ "referralCodeUnavailable": "Wir konnten den Code gerade nicht prüfen. Bitte versuchen Sie es später erneut.",
"referralCopied": "Kopiert",
"referralCopyInviteLink": "Einladungslink kopieren",
"referralCreateInvite": "Einladungslink erstellen",
- "referralCreateInviteDescription": "Gib den Vornamen der Person ein, die du einladen möchtest.",
+ "referralCreateInviteDescription": "Geben Sie den Vornamen der Person ein, die Sie einladen möchten.",
"referralCreating": "Einladung wird erstellt…",
"referralGuestName": "Name der eingeladenen Person",
"referralGuestNameRequired": "Bitte den Vornamen der eingeladenen Person eingeben.",
- "referralInviteRecognized": "Einladung von ${inviter} erkannt. ${inviter} erhält seine Prämie automatisch, sobald du verifiziert bist und deinen ersten Kauf abgeschlossen hast.",
+ "referralInviteRecognized": "Einladung von ${inviter} erkannt. ${inviter} erhält seine Prämie automatisch, sobald Sie verifiziert sind und Ihren ersten Kauf abgeschlossen haben.",
"referralInvitesLoading": "Offene Einladungen werden geladen…",
"referralInviteUrlLabel": "Persönlicher Einladungslink",
"referralLoading": "Empfehlungen werden geladen…",
"referralNotEligible": "Das Empfehlungsprogramm steht verifizierten Aktionären mit dem erforderlichen Bestand zur Verfügung.",
"referralOpenInvitesExpire": "Offene Einladungen verfallen nach 3 Monaten.",
"referralOverviewHint": "20 REALU pro Weiterempfehlung, sobald der erste Kauf erfolgreich abgewickelt ist.",
- "referralOverviewTitle": "Deine Empfehlungen",
+ "referralOverviewTitle": "Ihre Empfehlungen",
"referralPayout": "Empfehlungsprämie",
"referralPayoutChf": "CHF ${chf} zum Zeitpunkt der Gutschrift",
"referralPromoTitle": "Aktion",
"referralQuarterCap": "In diesem Quartal sind keine weiteren Prämien möglich.",
"referrals": "Empfehlungen",
- "referralSelfReferral": "Du kannst deine eigene Einladung nicht einlösen.",
+ "referralSelfReferral": "Sie können Ihre eigene Einladung nicht einlösen.",
+ "referralSelfReferralTitle": "Eigene Einladung",
"referralShareInviteLink": "Einladungslink versenden",
"referralSharePrice": "Aktienkurs",
"referralShareText": "Hey ${guestName}, ${hostName} lädt dich ein zu RealUnit: ${url}",
"referralShareTextNoName": "${hostName} lädt dich ein zu RealUnit: ${url}",
- "referralsSubtitle": "Erhalte 20 REALU pro Weiterempfehlung",
+ "referralsSubtitle": "Erhalten Sie 20 REALU pro Weiterempfehlung",
"referralStatusCredited": "Gutgeschrieben",
"referralStatusOpen": "Offen",
"referralTermsAccepting": "Teilnahmebedingungen werden akzeptiert…",
@@ -315,8 +318,8 @@
"referralTermsRequired": "Bitte zuerst die Teilnahmebedingungen akzeptieren.",
"referralTermsTitle": "Teilnahmebedingungen Referral-Programm",
"referralTotalReceived": "Insgesamt erhalten",
- "referralYourInvite": "Deine Einladung",
- "referralYourInviteFor": "Deine Einladung für ${guestName}",
+ "referralYourInvite": "Ihre Einladung",
+ "referralYourInviteFor": "Ihre Einladung für ${guestName}",
"refresh": "Aktualisieren",
"registerAccountType": "Kontotyp",
"registerCitizenship": "Staatsangehörigkeit",
diff --git a/assets/languages/strings_en.arb b/assets/languages/strings_en.arb
index 9e75b8cda..4d5578e31 100644
--- a/assets/languages/strings_en.arb
+++ b/assets/languages/strings_en.arb
@@ -269,7 +269,9 @@
"recoveryWords": "recovery words",
"recoveryWordsInvalid": "Recovery words invalid",
"referralAlreadyBound": "You have already applied an invite or promo code.",
- "referralAlreadyRegistered": "This invitation is only for new customers.",
+ "referralAlreadyBoundTitle": "Code already applied",
+ "referralAlreadyRegistered": "Invite and promo codes must be applied before the first REALU purchase.",
+ "referralAlreadyRegisteredTitle": "Only for new customers",
"referralChfAtSharePrice": "≈ ${chf} at ${label}",
"referralCodeChecking": "Checking code…",
"referralCodeDescription": "Optional. The invite link fills this automatically; you can also enter the code here.",
@@ -302,6 +304,7 @@
"referralQuarterCap": "No further prizes can be credited this quarter.",
"referrals": "Referrals",
"referralSelfReferral": "You cannot apply your own invitation.",
+ "referralSelfReferralTitle": "Your own invitation",
"referralShareInviteLink": "Share invite link",
"referralSharePrice": "Share price",
"referralShareText": "Hey ${guestName}, ${hostName} is inviting you to RealUnit: ${url}",
diff --git a/docs/handbook/README.md b/docs/handbook/README.md
index fd77e22d8..2bc7b928b 100644
--- a/docs/handbook/README.md
+++ b/docs/handbook/README.md
@@ -21,7 +21,7 @@ deployten Image (`handbook.realunit.app`).
## Screenshots regenerieren
-Es gibt keinen separaten Regeneration-Schritt: Die 299 Handbook-Screenshots
+Es gibt keinen separaten Regeneration-Schritt: Die 301 Handbook-Screenshots
sind direkt die Golden-Baselines unter `test/goldens/` (gemappt in
`scripts/assemble-handbook-screenshots.sh`). Eine UI-Änderung an einer der
gemappten Pages produziert beim `flutter test test/goldens` einen Diff —
diff --git a/docs/handbook/de/index.html b/docs/handbook/de/index.html
index 56f1cd3cc..5b3d12c18 100644
--- a/docs/handbook/de/index.html
+++ b/docs/handbook/de/index.html
@@ -1186,14 +1186,14 @@ RealUnit Wallet — Handbook
📱 App: RealUnit Wallet (Flutter)
📂 Code:
RealUnitCH/app
- 🧪 Tests: 350 Visual-Regression Goldens (299 davon im Handbook) · 26 Tier-3 Smoke-Flows
+ 🧪 Tests: 355 Visual-Regression Goldens (301 davon im Handbook) · 26 Tier-3 Smoke-Flows
Single Source of Truth
- Die 299 App-Screenshots dieser Seite sind Goldens aus
+ Die 301 App-Screenshots dieser Seite sind Goldens aus
test/goldens/{screens,widgets}/<feature>/goldens/macos/<file>.png.
Welcher Golden welcher Handbook-Slot ist, definiert die Mapping-Tabelle in
scripts/assemble-handbook-screenshots.sh. Der Docker-Build
@@ -1233,7 +1233,7 @@
Single Source of Truth
Pipeline: Page-Edit → flutter test --update-goldens test/goldens/
auf dem self-hosted Runner (Hardware-Determinismus) → neue Baseline committen →
handbook-deploy.yaml baut das Docker-Image aus dem gepushten Branch
- und assembliert die 299 Slots aus test/goldens/ → Push auf
+ und assembliert die 301 Slots aus test/goldens/ → Push auf
staging deployt das Handbook-Image nach Produktion, via
Cloudflare Tunnel.
@@ -11025,7 +11025,7 @@ REmpfehlungen & Promo-Code
Verifizierte Aktionäre mit mindestens 70 REALU im Wallet (geprüft bei
der Einladung und bei der Qualifikation) sehen auf dem Dashboard
- die Karte Empfehlungen («Erhalte 20 REALU pro Weiterempfehlung»)
+ die Karte Empfehlungen («Erhalten Sie 20 REALU pro Weiterempfehlung»)
und denselben Einstieg in den Einstellungen. Sichtbarkeit, Mindestbestand
und Auszahlung entscheidet die DFX API; die App rendert
eligible 1:1. Die Prämie von 20 REALU wird dem Empfehler
@@ -11100,10 +11100,14 @@
REmpfehlungen & Promo-Code
Deeplink-Stash stehen. Ein abgelehnter Bind (4xx) zeigt einmal einen
Dialog: Titel Code bereits eingelöst mit Body Dieser Einladungs- oder
Promo-Code wurde bereits verwendet. (Einlösungslimit erreicht);
- Titel Link ungültig oder abgelaufen für die übrigen Fälle
- Du hast bereits einen Einladungs- oder Promo-Code eingelöst.
- (ein Code pro Konto) oder Diese Einladung gilt nur für neue Kundinnen
- und Kunden. (Eingabe nur vor dem ersten REALU-Kauf).
+ Titel Bereits ein Code eingelöst mit Body
+ Sie haben bereits einen Einladungs- oder Promo-Code eingelöst.
+ (ein Code pro Konto); Titel Nur für neue Kundinnen und Kunden
+ mit Body Einladungs- und Promo-Codes müssen vor dem ersten
+ REALU-Kauf eingelöst werden. (Eingabe nur vor dem ersten Kauf);
+ Titel Eigene Einladung bei Selbst-Einlösung;
+ Titel Link ungültig oder abgelaufen nur für unbekannte oder
+ abgelaufene Codes.
Promo-Codes legt RealUnit unter app.dfx.swiss/realunit an: je Code
ein Gültigkeitsfenster, ein Mindestkauf (Default 200 REALU) und ein
Einlösungslimit als Anzahl Einlösungen (Pflichtfeld, ganze Zahl ab 1,
@@ -11187,7 +11191,8 @@ REmpfehlungen & Promo-Code
TB nach Annahme (`283`), Namenseingabe (`284`), Einstellungen-Karte
(`285`), Rechtliche Dokumente letzter Eintrag (`286`), Einladung
erkannt (`287`), Historie mit Prämie (`288`), Dashboard-Einstieg
- (`289`), Promo-Aktionstext (`290`).
+ (`289`), Promo-Aktionstext (`290`), Bind-Overlay ungültig (`291`),
+ Bind-Overlay nur für neue Kundinnen (`292`).
@@ -11238,7 +11243,7 @@
REmpfehlungen & Promo-Code
/>
- Karte Empfehlungen mit «Erhalte 20 REALU pro Weiterempfehlung»,
+ Karte Empfehlungen mit «Erhalten Sie 20 REALU pro Weiterempfehlung»,
nur wenn die API eligible setzt.
@@ -11359,7 +11364,7 @@ REmpfehlungen & Promo-Code
Einstieg «Empfehlungen» in den Einstellungen, nur wenn die API
- eligible setzt. Kartentext «Erhalte 20 REALU pro
+ eligible setzt. Kartentext «Erhalten Sie 20 REALU pro
Weiterempfehlung».
@@ -11427,7 +11432,7 @@ REmpfehlungen & Promo-Code
/>
- Einstieg «Empfehlungen» («Erhalte 20 REALU pro
+ Einstieg «Empfehlungen» («Erhalten Sie 20 REALU pro
Weiterempfehlung») und Prämie in den letzten Transaktionen.
@@ -11448,6 +11453,46 @@ REmpfehlungen & Promo-Code
Aktionstext in einem eigenen Fenster (Schließen oder Tippen daneben).
+
+
+
+

+
+
+ Nach einem Bind-4xx für unbekannten oder abgelaufenen Code:
+ Overlay auf dem Dashboard, Titel Link ungültig oder abgelaufen,
+ Body Dieser Code ist ungültig oder abgelaufen.,
+ Schließen mit Tastaturfokus, nicht per Barrier schliessbar.
+ API-Codes EXPIRED / NOT_FOUND.
+
+
+
+
+
+

+
+
+ Nach einem Bind-4xx, weil das Konto schon einen REALU-Kauf hat:
+ derselbe Overlay, Titel Nur für neue Kundinnen und Kunden,
+ Body Einladungs- und Promo-Codes müssen vor dem ersten REALU-Kauf
+ eingelöst werden. — nicht «Link ungültig».
+ API-Code ALREADY_REGISTERED.
+
+
diff --git a/docs/referral-programme.md b/docs/referral-programme.md
index b554e305b..0c3447533 100644
--- a/docs/referral-programme.md
+++ b/docs/referral-programme.md
@@ -293,7 +293,7 @@ row.
tile is one name (REALU, CHF at the current share price, Aktienkurs).
Open invites show the personalised share text (API copyText 1:1,
otherwise the localised template) and can be copied and shared again,
- including when the guest name is blank («Deine Einladung», share text
+ including when the guest name is blank («Ihre Einladung», share text
without «Hey ,»);
credited names stay hidden. Copy and share behave as after create.
With no open-invite rows and no list error, Create is keyboard-focused.
@@ -429,8 +429,12 @@ row.
Close is keyboard-focused. The boot and deeplink bind dialogs stay modal.
A 4xx bind (stacking, self-referral,
spent) shows the matching copy once (spent: «Code bereits eingelöst»;
- self-referral / already-bound / already-registered have their own
- sentence; unknown/expired stay «Link ungültig oder abgelaufen»). Close
+ already-registered: «Nur für neue Kundinnen und Kunden»;
+ already-bound: «Bereits ein Code eingelöst»;
+ self-referral: «Eigene Einladung»;
+ unknown/expired stay «Link ungültig oder abgelaufen»).
+ Handbook slots `291` (expired/unknown) and `292` (already-registered)
+ are the dashboard overlay goldens. Close
is focused, not barrier-dismissible.
If the navigator is not attached yet (dashboard boot bind), the promo,
invalid, or unavailable dialog is shown on the next frame instead of
diff --git a/docs/screens.md b/docs/screens.md
index 01640199f..2f5adea2d 100644
--- a/docs/screens.md
+++ b/docs/screens.md
@@ -48,7 +48,7 @@ Column meaning:
| PIN & lock | `VerifyPinPage` | `pinGate` | `/pinGate` | `17`, `76`, `77`, `78`, `79`, `80`, `81`, `82`, `83`, `84`, `85`, `88` |
| PIN & lock | `SetupPinPage` | `setupPin` | `/setupPin` | `08`, `09`, `10`, `73`, `74`, `75` |
| PIN & lock | `VerifyPinPage` | `verifyPin` | `/verifyPin` | `86`, `87` |
-| Dashboard & trading | `DashboardPage` | `dashboard` | `/dashboard` | `35`, `89`, `90`, `91`, `92`, `93`, `94`, `289` |
+| Dashboard & trading | `DashboardPage` | `dashboard` | `/dashboard` | `35`, `89`, `90`, `91`, `92`, `93`, `94`, `289`, `291`, `292` |
| Dashboard & trading | `TransactionHistoryPage` | `transactionHistory` | `/dashboard/transactionHistory` | `36`, `95`, `96`, `97`, `98`, `99`, `100`, `288` |
| Dashboard & trading | `BuyPage` | `buy` | `/buy` | `44`, `45`, `46`, `47`, `48`, `103`, `104`, `105`, `106`, `107`, `108`, `109`, `110`, `111`, `112`, `113` |
| Dashboard & trading | `BuyPaymentDetailsPage` | `buyPaymentDetails` | `/buyPaymentDetails` | `53`, `114`, `115`, `116`, `117` |
@@ -125,8 +125,10 @@ Column meaning:
81 screens — 47 routed (`GoRoute`) + 34 non-routed. The table also carries
two shared-widget baselines (`PhoneNumberField`, `ReferralPayoutTransactionRow`),
which are not screens.
-Referral surfaces have Golden baselines (`276`–`290`); the handbook
-documents the programme in `#spec-referral`.
+Referral surfaces have Golden baselines (`276`–`292`); the handbook
+documents the programme in `#spec-referral`. Overlay slots `291` and `292`
+are listed on `DashboardPage` (the host screen), not as a second shared-widget
+row.
## Notes
@@ -145,7 +147,7 @@ documents the programme in `#spec-referral`.
`243`–`245`. `SetupPinPage` also backs the `settingsChangePin` route
(`/settings/security/changePin`) via a second constructor; that reuse has no
separate Golden and is not given its own row.
-- **Handbook numbering.** Each of the 299 handbook slots is a Visual-Regression
+- **Handbook numbering.** Each of the 301 handbook slots is a Visual-Regression
Golden under `test/goldens/`, mapped to its handbook position by
`scripts/assemble-handbook-screenshots.sh`. A parallel Tier-3 Maestro flow
(`.maestro/handbook/NN-*.yaml`) covers navigation/tap-routing smoke for the
diff --git a/docs/visual-regression-tests.md b/docs/visual-regression-tests.md
index 6db160578..a43d1d01f 100644
--- a/docs/visual-regression-tests.md
+++ b/docs/visual-regression-tests.md
@@ -1,7 +1,7 @@
# Visual Regression Tests
Pixel-exact baseline tests for every page in the app. 81 `lib/screens/**/*_page.dart`
-files mapped to 350 Golden PNGs under `test/goldens/` (`screens/` and `widgets/`) (page renderings
+files mapped to 355 Golden PNGs under `test/goldens/` (`screens/` and `widgets/`) (page renderings
plus state variants: Buy/Sell error banners, KYC loading/failure, Dashboard
with-balance, RestoreWallet valid/invalid, Legal-Disclaimer steps, etc.),
validated on each PR by the `Visual Regression` job (required status check
@@ -191,7 +191,7 @@ public repos are free even for macOS minutes.
## Handbook screenshots are sourced from Goldens
-The 299 PNGs the handbook serves at `handbook.realunit.app/screenshots/`
+The 301 PNGs the handbook serves at `handbook.realunit.app/screenshots/`
are assembled from the Golden baselines at docker-build time. One
Golden → one handbook page, via the explicit mapping in
`scripts/assemble-handbook-screenshots.sh`. The handbook does **not**
@@ -231,7 +231,7 @@ that directory into `/usr/share/nginx/html/screenshots/`.
Golden file.
4. Open the PR. The `Handbook Build Check` workflow runs
`docker build` and a container smoke (`/healthz` + auth gate +
- spot-checks selected mapped screenshots via `docker exec test -f`; the full set is gated by the assemble step (`expected 299`)). A missing Golden surfaces here
+ spot-checks selected mapped screenshots via `docker exec test -f`; the full set is gated by the assemble step (`expected 301`)). A missing Golden surfaces here
as a missing-source error from the assembly script before docker
even spins up.
diff --git a/lib/screens/referral/referral_bind_error_dialog.dart b/lib/screens/referral/referral_bind_error_dialog.dart
new file mode 100644
index 000000000..52cf30651
--- /dev/null
+++ b/lib/screens/referral/referral_bind_error_dialog.dart
@@ -0,0 +1,32 @@
+import 'package:flutter/material.dart';
+import 'package:realunit_wallet/generated/i18n.dart';
+import 'package:realunit_wallet/screens/referral/referral_error_message.dart';
+import 'package:realunit_wallet/styles/colors.dart';
+
+/// Bind-error overlay after `POST /v1/realunit/referral/bind` returns 4xx.
+///
+/// Title and body come from [localizedReferralErrorTitle] /
+/// [localizedReferralError] so goldens and the live dashboard share one widget.
+class ReferralBindErrorDialog extends StatelessWidget {
+ final String token;
+
+ const ReferralBindErrorDialog({super.key, required this.token});
+
+ @override
+ Widget build(BuildContext context) {
+ final style = Theme.of(context).textTheme.bodyMedium?.copyWith(
+ color: RealUnitColors.status.red600,
+ );
+ return AlertDialog(
+ title: Text(localizedReferralErrorTitle(context, token), style: style),
+ content: Text(localizedReferralError(context, token), style: style),
+ actions: [
+ TextButton(
+ autofocus: true,
+ onPressed: () => Navigator.of(context).maybePop(),
+ child: Text(S.of(context).close),
+ ),
+ ],
+ );
+ }
+}
diff --git a/lib/screens/referral/referral_error_message.dart b/lib/screens/referral/referral_error_message.dart
index 5e5b37267..96ee8ee58 100644
--- a/lib/screens/referral/referral_error_message.dart
+++ b/lib/screens/referral/referral_error_message.dart
@@ -100,5 +100,14 @@ String localizedReferralErrorTitle(BuildContext context, String message) {
if (message == referralSpentMessage) {
return S.of(context).referralCodeSpentTitle;
}
+ if (message == referralAlreadyRegisteredMessage) {
+ return S.of(context).referralAlreadyRegisteredTitle;
+ }
+ if (message == referralAlreadyBoundMessage) {
+ return S.of(context).referralAlreadyBoundTitle;
+ }
+ if (message == referralSelfReferralMessage) {
+ return S.of(context).referralSelfReferralTitle;
+ }
return S.of(context).referralCodeInvalidTitle;
}
diff --git a/lib/setup/routing/referral_bind.dart b/lib/setup/routing/referral_bind.dart
index cbe13bdd8..812b5150d 100644
--- a/lib/setup/routing/referral_bind.dart
+++ b/lib/setup/routing/referral_bind.dart
@@ -9,11 +9,11 @@ import 'package:realunit_wallet/packages/service/dfx/models/referral/dto/referra
import 'package:realunit_wallet/packages/service/dfx/real_unit_referral_service.dart';
import 'package:realunit_wallet/packages/service/dfx/referral_lookup_status.dart';
import 'package:realunit_wallet/screens/pin/bloc/auth/pin_auth_cubit.dart';
+import 'package:realunit_wallet/screens/referral/referral_bind_error_dialog.dart';
import 'package:realunit_wallet/screens/referral/referral_error_message.dart';
import 'package:realunit_wallet/setup/di.dart';
import 'package:realunit_wallet/setup/routing/effective_location.dart';
import 'package:realunit_wallet/setup/routing/referral_pending_code.dart';
-import 'package:realunit_wallet/styles/colors.dart';
import 'package:realunit_wallet/widgets/buttons/app_filled_button.dart';
bool _bindInFlight = false;
@@ -323,27 +323,7 @@ Future _showInvalidBindDialog(GoRouter router, Object error) {
await showDialog(
context: ctx,
barrierDismissible: false,
- builder: (dialogContext) => AlertDialog(
- title: Text(
- localizedReferralErrorTitle(dialogContext, token),
- style: Theme.of(dialogContext).textTheme.bodyMedium?.copyWith(
- color: RealUnitColors.status.red600,
- ),
- ),
- content: Text(
- localizedReferralError(dialogContext, token),
- style: Theme.of(dialogContext).textTheme.bodyMedium?.copyWith(
- color: RealUnitColors.status.red600,
- ),
- ),
- actions: [
- TextButton(
- autofocus: true,
- onPressed: () => Navigator.of(dialogContext).pop(),
- child: Text(S.of(dialogContext).close),
- ),
- ],
- ),
+ builder: (dialogContext) => ReferralBindErrorDialog(token: token),
);
});
}
diff --git a/scripts/assemble-handbook-screenshots.sh b/scripts/assemble-handbook-screenshots.sh
index f1a3dbae3..73aee07fd 100755
--- a/scripts/assemble-handbook-screenshots.sh
+++ b/scripts/assemble-handbook-screenshots.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
-# Assemble the 299 handbook screenshots from the visual-regression Golden
+# Assemble the 301 handbook screenshots from the visual-regression Golden
# baselines. The flat `NN-name.png` output layout matches what
# docs/handbook/de/index.html links to (`
`
# — the relative path resolves to `docs/handbook/screenshots/NN-name.png`).
@@ -322,7 +322,7 @@ MAPPING=(
"273-handbook-persona-mix=screens/dashboard/goldens/macos/handbook_persona_mix.png"
"274-handbook-persona-scale=screens/dashboard/goldens/macos/handbook_persona_scale.png"
"275-handbook-persona-exit-1j=screens/dashboard/goldens/macos/handbook_persona_exit_1j.png"
- # 276–290: referral/promo goldens. No matching .maestro/handbook flow —
+ # 276–292: referral/promo goldens. No matching .maestro/handbook flow —
# eligibility (KYC 30 + 70 REALU) is not reachable in the 01–26 chain.
"276-referral-overview=screens/referral/goldens/macos/referral_overview_page_default.png"
"277-kyc-registration-referral=screens/kyc/goldens/macos/kyc_registration_referral_step_default.png"
@@ -339,6 +339,8 @@ MAPPING=(
"288-transaction-history-referral-payout=screens/transaction_history/goldens/macos/transaction_history_page_referral_payout.png"
"289-dashboard-referral-entry-and-payout=screens/dashboard/goldens/macos/dashboard_referral_entry_and_payout.png"
"290-kyc-registration-referral-promo=screens/kyc/goldens/macos/kyc_registration_referral_step_promo.png"
+ "291-referral-bind-error-invalid=screens/referral/goldens/macos/referral_bind_error_invalid.png"
+ "292-referral-bind-error-already-registered=screens/referral/goldens/macos/referral_bind_error_already_registered.png"
)
missing=()
diff --git a/scripts/run-handbook-flows.sh b/scripts/run-handbook-flows.sh
index e5f7b02de..0e1a62f94 100755
--- a/scripts/run-handbook-flows.sh
+++ b/scripts/run-handbook-flows.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
#
# Tier-3 navigation smoke for the 26 .maestro/handbook/*.yaml flows
-# (01-welcome … 26-terms). Handbook pages 276–290 (referral/promo) are
+# (01-welcome … 26-terms). Handbook pages 276–292 (referral/promo) are
# golden-mapped in assemble-handbook-screenshots.sh and are not Maestro
# flows: the sequential onboarding chain cannot reach an eligible
# Empfehler (KYC Level 30 + 70 REALU).
diff --git a/test/goldens/screens/dashboard/goldens/macos/dashboard_referral_entry_and_payout.png b/test/goldens/screens/dashboard/goldens/macos/dashboard_referral_entry_and_payout.png
index f21ec2c87032f102b9e64bdc363e2d93251d7c79..48ff2357714675acf9444a1b9e9779bb3cdde685 100644
GIT binary patch
delta 47228
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