docs: approve routed ZarinPal redesign

This commit is contained in:
2026-08-20 20:44:22 +03:30
parent 23147cd60d
commit d8eeff57cd
5 changed files with 170 additions and 12 deletions

View File

@@ -1,7 +1,7 @@
# Design System — ZarinPal Merchant Analytics
- Status: Approved baseline — implementation authorized 2026-08-20
- Version: 0.3.3
- Version: 0.4.0
- Last updated: 2026-08-20
- Direction: Persian-first RTL
@@ -79,8 +79,8 @@ Light and dark modes are first-class variants of the same semantic token system.
- Base spacing unit: 4 px; common sequence `4, 8, 12, 16, 24, 32, 48, 64`.
- Control height: 40 px desktop; interactive touch target at least 44×44 px on touch layouts.
- Card radius: 12 px for dense dashboard cards; 16–20 px for feature/empty-state surfaces.
- Button/input radius: 8–10 px; pill radius only for compact statuses and segmented controls.
- Card radius: 8 px for dense dashboard cards and tables; 12 px only for spacious explanatory or empty-state surfaces.
- Button/input radius: 6–8 px; pill radius only for compact statuses and segmented controls.
- Card border is preferred over shadow. Default elevation is subtle (`0 1px 3px rgb(25 25 26 / 0.08)`); overlays may use stronger elevation.
- Content width is bounded for scanning; tables/charts may use the full available dashboard column.
@@ -88,8 +88,8 @@ Light and dark modes are first-class variants of the same semantic token system.
### Desktop (≥ 1024 px)
- Fixed right sidebar, approximately 248–272 px wide.
- Top utility bar remains visually quiet.
- Fixed right sidebar, 256 px expanded and 72 px collapsed, with icon-only collapse matching the supplied panel reference.
- A 56 px top utility bar spans the viewport and carries the supplied ZarinPal wordmark, sidebar trigger, theme, notification, and account actions.
- Main content uses a centered, fluid container with 24–32 px gutters.
- Overview uses a 12-column grid. Primary analytics get 8 columns; secondary summaries get 4 where useful.
- Do not create large empty regions merely to mimic the reference screenshot; use the density required by real content.
@@ -109,15 +109,16 @@ Light and dark modes are first-class variants of the same semantic token system.
## Navigation and information architecture
Initial authenticated routes:
Authenticated routes:
1. ورود (login)
2. پیشخوان (overview)
3. عملکرد پرداخت (success, retries, failures, timing)
4. کارمزد و درآمد (real merchant fee amounts and rates in Rial)
5. مقایسه با هم‌گروه‌ها (anonymized category/cohort benchmark)
6. کیفیت داده / درباره شاخص‌ها (definitions, freshness, limitations)
7. حساب کاربری / خروج
2. پیشخوان (`/dashboard`)
3. تراکنش‌ها (`/transactions` and `/transactions/[sessionId]`)
4. عملکرد پرداخت (`/payments`)
5. کارمزد و درآمد (`/fees`)
6. مقایسه با هم‌گروه‌ها (`/peers`)
7. کیفیت داده / درباره شاخص‌ها (`/methodology`)
8. حساب کاربری / خروج
Navigation labels should describe merchant tasks, not internal database concepts. Active location is conveyed by color plus a bar/background and `aria-current`.
@@ -184,6 +185,7 @@ Navigation labels should describe merchant tasks, not internal database concepts
| Version | Date | Decision |
|---|---|---|
| 0.4.0 | 2026-08-20 | Adopted the supplied current ZarinPal panel as the closer interaction reference: added the top wordmark bar, 256/72 px collapsible right sidebar, less-rounded 8 px data surfaces, routed sections, URL-backed period/terminal filters, payment-history chart, filtered transaction table, routed attempt history, formula help, and supportive human-readable insights. |
| 0.3.3 | 2026-08-20 | Replaced merchant/cohort revision freshness language with the approved immutable completed-import dataset snapshot. This changes trace labels only; cache age still does not imply stale data. |
| 0.3.2 | 2026-08-20 | Made the licensed Iran Yekan X FaNum variable WOFF2 and its required license file Git-tracked frontend assets, eliminating a separate private build-injection path. |
| 0.3.1 | 2026-08-20 | Verified the purchased Iran Yekan X Professional FaNum variable assets and required a private, reproducible injection path for public repositories. Added merchant-owned detail CSV export as an MVP component contract. |