diff --git a/docs/ux/exchange-workspace.md b/docs/ux/exchange-workspace.md index f828190..10c6a48 100644 --- a/docs/ux/exchange-workspace.md +++ b/docs/ux/exchange-workspace.md @@ -302,6 +302,31 @@ that contradicts displayed balances or usage without explaining the fixtures. - Keep unrelated accounts/history accessible during a pending operation. Do not block the whole product behind an exchange spinner. +## Empty currency accounts (task #66) + +The shared empty-account message used on Accounts and transfer screens explains +that no currency accounts have been set up and directs the customer to support +to request setup. English and Russian no longer suggest that refreshing creates +accounts or imply that automatic provisioning is underway. This follows the +existing support guidance for missing funding and payout setup. The application +has no configured support contact channel; the message therefore provides text +guidance without a nonfunctional contact button or invented contact details. + +UX review: the copy names the missing resource and the next step, retains the +existing wrapping text and accessible reading order, and does not alter loading, +error or populated-state behavior. Existing manual refresh remains available for +accounts provisioned externally. This copy-only change adds no controls or +journey outcomes and requires no new analytics events. Existing transaction +journey signals and their production measurement limitations below still apply; +support resolution and external account provisioning are not measured in-app. + +Validation: `flutter gen-l10n`, `flutter analyze` in `frontend/app`, +`make test-frontend` (217 tests), and `git diff --check` passed. No Dart source +changed, so Dart formatting was not applicable. Existing responsive workspace +tests cover Russian at 320px with enlarged text; this copy-only change does not +add a dedicated empty-state rendering or native screen-reader test. No security +scan was requested. Delivery is recorded in task #66 and its pull request. + ## Journey measurement plan Reuse the typed analytics abstraction and maintain a separate journey per active diff --git a/frontend/app/lib/l10n/en.arb b/frontend/app/lib/l10n/en.arb index 11fac1d..bd9bddd 100644 --- a/frontend/app/lib/l10n/en.arb +++ b/frontend/app/lib/l10n/en.arb @@ -160,7 +160,7 @@ "wRecent": "Recent activity", "wSeeAll": "See all", "wEmptyActivity": "Your next move starts here. Your transactions will appear below.", - "wEmptyAccounts": "Your accounts are not ready yet. Try refreshing.", + "wEmptyAccounts": "No currency accounts have been set up for you yet. Contact support to request account setup.", "wRefresh": "Refresh", "wSource": "From account", "wDestination": "To account", diff --git a/frontend/app/lib/l10n/ru.arb b/frontend/app/lib/l10n/ru.arb index 2535b62..30b7c8c 100644 --- a/frontend/app/lib/l10n/ru.arb +++ b/frontend/app/lib/l10n/ru.arb @@ -160,7 +160,7 @@ "wRecent": "Последние операции", "wSeeAll": "Смотреть все", "wEmptyActivity": "Ваш следующий шаг начинается здесь. Здесь появятся ваши операции.", - "wEmptyAccounts": "Ваши счета ещё не готовы. Попробуйте обновить страницу.", + "wEmptyAccounts": "У вас ещё нет валютных счетов. Обратитесь в поддержку за помощью с их открытием.", "wRefresh": "Обновить", "wSource": "Со счёта", "wDestination": "На счёт",