docs(design): define typography and dark theme
This commit is contained in:
@@ -43,6 +43,9 @@ Give a non-technical merchant a fast, trustworthy Persian RTL view of payment pe
|
||||
25. First dashboard access defaults to the latest complete Jalali month containing data. The comparison is the immediately previous equivalent complete month; if unavailable/empty, the UI explicitly says comparison is unavailable and does not silently substitute another baseline.
|
||||
26. Overview KPI order is bank-paid amount, bank-paid session count, payment success rate, then verification completion. Retry, processing-time, and fee analysis follow below.
|
||||
27. Read-only drill-downs are available for unverified-paid, failed, and retried sessions. They exclude payer tokens and peer-level data and may distinguish zero-attempt/reached-bank stages without inventing failure causes.
|
||||
28. A deterministic insight is promoted into an actionable card only when at least 100 relevant sessions contribute and the comparison changes by at least 3 percentage points for a rate or 20 percent for an amount/count. Smaller changes remain available as metrics without an action claim.
|
||||
29. All merchant-facing values use Persian digits and monetary values use Rial only. Technical identifiers remain canonical and are directionally isolated.
|
||||
30. Light and dark modes are supported from the first release through the semantic token contract in `DESIGN.md`; system preference is the default and an explicit accessible user choice persists locally.
|
||||
|
||||
## Frontend architecture baseline
|
||||
|
||||
@@ -60,6 +63,9 @@ Give a non-technical merchant a fast, trustworthy Persian RTL view of payment pe
|
||||
- Critical flows work at 360 px, 768 px, 1024 px, and a wide desktop viewport in RTL.
|
||||
- Login, navigation drawer, filters, chart alternatives, and logout are keyboard complete and screen-reader understandable.
|
||||
- Values visibly specify period and unit; missing/suppressed/zero states are distinct.
|
||||
- Merchant-facing digits are Persian, money is labeled in Rial only, and technical identifiers remain uncorrupted in RTL layouts.
|
||||
- Light and dark modes both meet the documented contrast, focus, chart, state, and reduced-motion requirements at all acceptance viewports, with no first-paint theme flash.
|
||||
- Below-threshold comparisons never produce actionable insight language, while qualifying insight cards expose their numeric evidence and limitation.
|
||||
- Success views include `Paid` plus `Verified`, verification-completion views separate them, and unverified paid sessions are never styled or described as failures.
|
||||
- Paid volume and merchant fee values reconcile at session grain; fee totals remain unchanged when a session has additional attempts.
|
||||
- Retry recovery includes eventual `Paid` or `Verified`, and timing percentiles never treat missing values as zero.
|
||||
@@ -85,5 +91,5 @@ Give a non-technical merchant a fast, trustworthy Persian RTL view of payment pe
|
||||
- Approved analytics interface contract for the metric catalogue and cohort policy
|
||||
- Approved authentication/session API
|
||||
- OpenAPI/interface contract and error format
|
||||
- Decisions listed in `DESIGN.md`
|
||||
- Delivery of the licensed Iran Yekan X Professional FaNum variable webfont
|
||||
- Static adapter fallback/routing behavior under the final Nginx configuration
|
||||
|
||||
Reference in New Issue
Block a user