From 06589600bd4424d047617aa5a761c935c6c864eb Mon Sep 17 00:00:00 2001 From: Alireza Hassani Date: Fri, 2 Oct 2026 23:00:48 +0330 Subject: [PATCH] Improve customer orders: own list, payment/order status, and transaction details. Also widen order item modals, link FA product names, and polish related dashboard UI. Co-authored-by: Cursor --- .../src/components/OrderItemsModal.module.css | 28 +- .../src/components/OrderItemsModal.tsx | 29 +- .../src/components/PageContent.module.css | 36 +++ .../src/components/StoreItemCard.module.css | 5 +- apps/business/src/pages/BrandsPage.module.css | 7 + apps/business/src/pages/HomePage.tsx | 56 +++- apps/business/src/services/orderService.ts | 2 + .../src/components/DashboardDocumentTitle.tsx | 10 + .../src/components/OrderItemsModal.module.css | 38 ++- .../src/components/OrderItemsModal.tsx | 25 +- .../src/components/OrderRow.module.css | 26 ++ apps/customer/src/components/OrderRow.tsx | 64 +++- .../OrderTransactionsModal.module.css | 143 +++++++++ .../src/components/OrderTransactionsModal.tsx | 284 ++++++++++++++++++ .../src/components/PageContent.module.css | 25 ++ .../checkout/CheckoutLayout.module.css | 21 +- apps/customer/src/i18n/messages.ts | 74 ++++- apps/customer/src/lib/routeTitles.ts | 4 +- apps/customer/src/pages/HomePage.tsx | 23 +- apps/customer/src/pages/OrdersPage.module.css | 10 +- apps/customer/src/pages/OrdersPage.tsx | 13 +- apps/customer/src/services/orderService.ts | 16 +- apps/customer/src/utils/productWebsiteUrl.ts | 33 ++ .../src/hooks/useDashboardDocumentTitle.ts | 9 +- 24 files changed, 911 insertions(+), 70 deletions(-) create mode 100644 apps/customer/src/components/OrderTransactionsModal.module.css create mode 100644 apps/customer/src/components/OrderTransactionsModal.tsx create mode 100644 apps/customer/src/utils/productWebsiteUrl.ts diff --git a/apps/business/src/components/OrderItemsModal.module.css b/apps/business/src/components/OrderItemsModal.module.css index a6c896b..bbba0fe 100644 --- a/apps/business/src/components/OrderItemsModal.module.css +++ b/apps/business/src/components/OrderItemsModal.module.css @@ -1,5 +1,6 @@ .modalWide { - max-width: 720px; + max-width: 960px; + width: min(960px, calc(100vw - 32px)); } .body { @@ -42,7 +43,7 @@ .itemRow { display: grid; - grid-template-columns: 64px minmax(0, 1fr) 72px 120px 120px; + grid-template-columns: 64px minmax(220px, 1.6fr) 64px 110px 110px; align-items: center; gap: 10px; padding: 10px 12px; @@ -105,7 +106,7 @@ .tableHead { display: grid; - grid-template-columns: 64px minmax(0, 1fr) 72px 120px 120px; + grid-template-columns: 64px minmax(220px, 1.6fr) 64px 110px 110px; gap: 10px; padding: 0 12px 2px; font-size: 11px; @@ -176,10 +177,10 @@ display: flex; flex-direction: column; gap: 6px; - padding: 10px; - border: 1px solid rgba(148, 163, 184, 0.22); - border-radius: var(--radius-sm); - background: var(--surface); + padding: 8px 0; + border: none; + border-radius: 0; + background: transparent; } .shippingGroupHeader { @@ -218,6 +219,19 @@ color: var(--text-secondary); } +.itemTitleLink { + display: inline; + font-size: 13px; + font-weight: 600; + color: var(--primary); + line-height: 1.3; + text-decoration: none; +} + +.itemTitleLink:hover { + text-decoration: underline; +} + .totalsBlock { display: flex; flex-direction: column; diff --git a/apps/business/src/components/OrderItemsModal.tsx b/apps/business/src/components/OrderItemsModal.tsx index 3a673d4..f15f292 100644 --- a/apps/business/src/components/OrderItemsModal.tsx +++ b/apps/business/src/components/OrderItemsModal.tsx @@ -5,6 +5,7 @@ import { useT } from '../i18n/useT' import type { Order } from '../services/orderService' import { formatCellForDisplay } from '../lib/cellNumber' import { formatIrtPrice } from '../utils/irtPrice' +import { buildWebsiteContentUrl } from '../utils/websiteLinks' import modalStyles from './VariationsModal.module.css' import styles from './OrderItemsModal.module.css' @@ -181,7 +182,7 @@ export function OrderItemsModal({ open, order, onClose }: OrderItemsModalProps) {group.methodLabel ? (
{group.methodLabel}
) : null} - {group.itemNames.length > 0 ? ( + {shippingInfo.groups.length > 1 && group.itemNames.length > 0 ? (