From 1ecdc29daad0363b8bd033afd586de67744c34f2 Mon Sep 17 00:00:00 2001 From: safavimohadeseh78 Date: Tue, 11 Aug 2026 18:11:43 +0200 Subject: [PATCH] Improve order tracking timeline, receipt gating, and numeric/dark UI polish. Co-authored-by: Cursor --- src/assets/styles/main.css | 1 + src/components/orders/OrderStatusHero.vue | 20 +- .../orders/OrderTrackingTimeline.vue | 17 +- src/components/ui/BaseInput.vue | 60 ++- src/components/ui/CurrencyInput.vue | 2 +- src/components/ui/PersianDateInput.vue | 12 +- src/utils/constants.ts | 7 +- src/utils/orderInvoice.ts | 10 + src/utils/orderTracking.ts | 129 +++++- src/views/auth/RegisterView.vue | 2 + src/views/checkout/CheckFormView.vue | 11 +- src/views/orders/OrderDetailView.vue | 434 +++++++++++++----- src/views/profile/ProfileEditView.vue | 1 + 13 files changed, 543 insertions(+), 163 deletions(-) diff --git a/src/assets/styles/main.css b/src/assets/styles/main.css index 6f4d776..9d5dc2a 100644 --- a/src/assets/styles/main.css +++ b/src/assets/styles/main.css @@ -155,6 +155,7 @@ input[type='number']::-webkit-outer-spin-button { input[type='number'] { -moz-appearance: textfield; + text-align: right; } .page { diff --git a/src/components/orders/OrderStatusHero.vue b/src/components/orders/OrderStatusHero.vue index 76f7041..02f0d60 100644 --- a/src/components/orders/OrderStatusHero.vue +++ b/src/components/orders/OrderStatusHero.vue @@ -19,8 +19,10 @@ const icons = { -

{{ config.title }}

-

{{ config.description }}

+
+

{{ config.title }}

+

{{ config.description }}

+
@@ -31,6 +33,7 @@ const icons = { align-items: center; text-align: center; padding: 8px 12px 20px; + gap: 0; } .status-hero__icon { @@ -42,6 +45,7 @@ const icons = { justify-content: center; margin-bottom: 14px; color: var(--color-primary); + flex-shrink: 0; } .status-hero--waiting .status-hero__icon { @@ -59,6 +63,10 @@ const icons = { color: var(--color-primary); } +.status-hero__copy { + min-width: 0; +} + .status-hero__title { margin: 0 0 8px; font-size: 1.0625rem; @@ -80,15 +88,21 @@ const icons = { @media (min-width: 768px) { .status-hero { + flex-direction: row; align-items: flex-start; text-align: start; padding: 0; + gap: 16px; } .status-hero__icon { width: 52px; height: 52px; - margin-bottom: 12px; + margin-bottom: 0; + } + + .status-hero__title { + margin-bottom: 6px; } .status-hero__desc { diff --git a/src/components/orders/OrderTrackingTimeline.vue b/src/components/orders/OrderTrackingTimeline.vue index f455a53..9fc9d27 100644 --- a/src/components/orders/OrderTrackingTimeline.vue +++ b/src/components/orders/OrderTrackingTimeline.vue @@ -1,14 +1,18 @@