diff --git a/.cursor/worktrees.json b/.cursor/worktrees.json new file mode 100644 index 00000000..77e9744d --- /dev/null +++ b/.cursor/worktrees.json @@ -0,0 +1,5 @@ +{ + "setup-worktree": [ + "npm install" + ] +} diff --git a/apps/portal/src/features/orders/views/OrderDetail.tsx b/apps/portal/src/features/orders/views/OrderDetail.tsx index 3f511716..ec75fd1d 100644 --- a/apps/portal/src/features/orders/views/OrderDetail.tsx +++ b/apps/portal/src/features/orders/views/OrderDetail.tsx @@ -329,69 +329,60 @@ export function OrderDetailContainer() {
{/* Header Section */}
-
-
-
-
- {serviceIcon} -
-
-

{serviceLabel}

-

- Order #{data.orderNumber || String(data.id).slice(-8)} - {placedDate ? ` • ${placedDate}` : null} -

-
+
+ {/* Row 1: Title, Date, Pricing */} +
+
+

{serviceLabel}

+ {placedDate && ( +

{placedDate}

+ )}
- {statusDescriptor && ( -
- - {statusDescriptor.description} - {statusDescriptor.timeline && ( - - - {statusDescriptor.timeline} - - )} - {statusDescriptor.nextAction && ( - - Next: {statusDescriptor.nextAction} - - )} -
- )} + {/* Pricing Section */} +
+ {totals.monthlyTotal > 0 && ( +
+

Monthly

+

+ {yenFormatter.format(totals.monthlyTotal)} +

+
+ )} + {totals.oneTimeTotal > 0 && ( +
+

One-Time

+

+ {yenFormatter.format(totals.oneTimeTotal)} +

+
+ )} +
- {/* Pricing Section */} -
- {totals.monthlyTotal > 0 && ( -
-

Monthly

-

- {yenFormatter.format(totals.monthlyTotal)} -

-
- )} - {totals.oneTimeTotal > 0 && ( -
-

One-Time

-

- {yenFormatter.format(totals.oneTimeTotal)} -

-
- )} -
+ {/* Row 2: Status */} + {statusDescriptor && ( +
+ + {statusDescriptor.nextAction && ( + {statusDescriptor.nextAction} + )} +
+ )}
-
- {/* Status Section */} +
{/* Order Items Section */}
-

Order Details

-
+

Order Details

+
{displayItems.length === 0 ? (
No items found on this order. @@ -407,7 +398,7 @@ export function OrderDetailContainer() { return (
{showBundleStart && ( -
+
Bundled @@ -416,49 +407,54 @@ export function OrderDetailContainer() { )}
0 && "border-t-0 rounded-t-none" )} > + {/* Icon + Title & Category | Price */}
- +
-
-

- {item.name} -

-

- {categoryConfig.label} -

-
-
-
- {item.charges.map((charge, index) => { - const descriptor = describeCharge(charge); - if (charge.amount > 0) { - return ( -
- - {yenFormatter.format(charge.amount)} - - {descriptor} -
- ); - } +
+
+

+ {item.name} +

+

+ {categoryConfig.label} +

+
+ {/* Price - Right aligned */} +
+ {item.charges.map((charge, index) => { + const descriptor = describeCharge(charge); + if (charge.amount > 0) { + return ( +
+ + {yenFormatter.format(charge.amount)} + + {descriptor} +
+ ); + } - return ( -
- Included {descriptor} -
- ); - })} + return ( +
+ Included {descriptor} +
+ ); + })} +
+
@@ -473,11 +469,9 @@ export function OrderDetailContainer() {
-

Additional fees may apply

-

- Weekend installation, express setup, or specialised configuration work can - add extra costs. We'll always confirm with you before applying any - additional charges. +

Additional fees may apply

+

+ Weekend installation, express setup, or specialised configuration work can add extra costs. We'll always confirm with you before applying any additional charges.