diff --git a/DESIGN.md b/DESIGN.md index 804eaaa..1bbef57 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -1,7 +1,7 @@ # Design System — ZarinPal Merchant Analytics - Status: Draft baseline for approval -- Version: 0.1.0 +- Version: 0.1.1 - Last updated: 2026-08-20 - Direction: Persian-first RTL @@ -124,7 +124,7 @@ Navigation labels should describe merchant tasks, not internal database concepts - Root UI is `lang="fa" dir="rtl"`. - Technical identifiers, URLs, hashes, and mixed Latin values use isolated LTR spans (`dir="ltr"`) to prevent bidi corruption. -- Use `Intl.NumberFormat`/`Intl.DateTimeFormat`; specifications must choose Persian vs Latin digits, Jalali vs Gregorian display, timezone, and Rial/Toman terminology before implementation. +- Use `Intl.NumberFormat`/`Intl.DateTimeFormat`. Display merchant-facing dates in the Jalali calendar and `Asia/Tehran`; API instants remain ISO-8601 UTC. Specifications must still choose Persian vs Latin digits and Rial/Toman terminology before implementation. - Do not concatenate translated fragments. Write complete Persian strings with correct نیم‌فاصله. - Authentication errors must not reveal whether a username exists. @@ -142,6 +142,7 @@ Navigation labels should describe merchant tasks, not internal database concepts | Version | Date | Decision | |---|---|---| +| 0.1.1 | 2026-08-20 | Fixed merchant-facing time presentation to the Jalali calendar in `Asia/Tehran`, with explicit UTC API instants. | | 0.1.0 | 2026-08-20 | Established ZarinPal-inspired RTL foundation from supplied public/panel screenshots; fixed SvelteKit/Svelte/TypeScript/Tailwind stack; defined responsive shell, core components, accessibility, chart, and motion rules. | Any material token/component/interaction change increments this version and adds a row describing why it changed. A surprising or difficult-to-reverse change also receives an ADR. @@ -150,8 +151,6 @@ Any material token/component/interaction change increments this version and adds 1. Licensed Yekan-family assets vs open `Vazirmatn` fallback. 2. Persian or Latin digits for dashboard values. -3. Jalali display with Gregorian API values, and the authoritative reporting timezone. -4. Rial-only vs Toman display and conversion wording. -5. Exact information architecture and MVP metric set after the analytics spec. -6. Whether a dark theme is required; it is not assumed merely because the public site uses dark feature sections. - +3. Rial-only vs Toman display and conversion wording. +4. Exact information architecture and MVP metric set after the analytics spec. +5. Whether a dark theme is required; it is not assumed merely because the public site uses dark feature sections. diff --git a/docs/DASHBOARD-SPEC.md b/docs/DASHBOARD-SPEC.md index c028fc1..0f4bf14 100644 --- a/docs/DASHBOARD-SPEC.md +++ b/docs/DASHBOARD-SPEC.md @@ -24,6 +24,7 @@ Give a non-technical merchant a fast, trustworthy Persian RTL view of payment pe 6. Filters and pagination are reflected in the URL where sharing/reload is useful. 7. Every screen implements loading, empty, partial-data, stale, unauthorized, forbidden, and recoverable-error behavior as applicable. 8. Responsive behavior and component contracts follow `DESIGN.md`. +9. Merchant-facing dates use the Jalali calendar in `Asia/Tehran`; API instants remain explicit ISO-8601 UTC and filtering sends unambiguous boundaries. ## Frontend architecture baseline @@ -51,4 +52,3 @@ Give a non-technical merchant a fast, trustworthy Persian RTL view of payment pe - OpenAPI/interface contract and error format - Decisions listed in `DESIGN.md` - Static adapter fallback/routing behavior under the final Nginx configuration -