From 86b2d02a8fd33baf58d50d8de1c7d76d129fed6e Mon Sep 17 00:00:00 2001 From: Danel Kungla Date: Wed, 22 Oct 2025 10:29:07 +0300 Subject: [PATCH] fix tto order tables --- app/home/(user)/(dashboard)/order/page.tsx | 19 +++--- .../_components/booking/location-selector.tsx | 28 ++++++--- .../_components/cart/mobile-cart-items.tsx | 10 +-- .../cart/mobile-cart-service-items.tsx | 17 +++--- .../_components/cart/mobile-table-row.tsx | 9 +-- .../(user)/_components/orders/order-block.tsx | 3 +- .../_components/orders/order-items-table.tsx | 61 +++++++++++-------- app/home/(user)/_lib/server/actions.ts | 20 ++++++ app/home/(user)/_lib/server/cart-actions.ts | 5 +- app/home/(user)/_lib/server/load-category.ts | 21 ++++++- lib/services/order.service.ts | 1 + .../medusa-storefront/src/lib/data/cart.ts | 4 +- public/locales/et/orders.json | 3 +- 13 files changed, 130 insertions(+), 71 deletions(-) diff --git a/app/home/(user)/(dashboard)/order/page.tsx b/app/home/(user)/(dashboard)/order/page.tsx index dfcde84..0dbd65b 100644 --- a/app/home/(user)/(dashboard)/order/page.tsx +++ b/app/home/(user)/(dashboard)/order/page.tsx @@ -66,14 +66,16 @@ async function OrdersPage() { ({ medusa_order_id }) => medusa_order_id === medusaOrder.id, ); - const ttoReservation = ttoOrders.find(({ id }) => { - const connectedOnlineReservationId = - medusaOrder?.items && - medusaOrder.items.find( - ({ metadata }) => !!metadata?.connectedOnlineReservationId, - )?.metadata?.connectedOnlineReservationId; - return id === connectedOnlineReservationId; - }); + const orderIds = new Set( + (medusaOrder?.items ?? []) + .map((i) => i?.metadata?.connectedOnlineReservationId) + .filter(Boolean) + .map(String), + ); + + const ttoReservation = ttoOrders.find((o) => + orderIds.has(String(o.id)), + ); const medusaOrderItems = medusaOrder.items || []; const medusaOrderItemsAnalysisPackages = medusaOrderItems.filter( @@ -105,7 +107,6 @@ async function OrdersPage() { medusaOrderId={medusaOrder.id} analysisOrder={analysisOrder} ttoReservation={ttoReservation} - medusaOrderStatus={medusaOrder.status} itemsAnalysisPackage={medusaOrderItemsAnalysisPackages} itemsTtoService={medusaOrderItemsTtoServices} itemsOther={medusaOrderItemsOther} diff --git a/app/home/(user)/_components/booking/location-selector.tsx b/app/home/(user)/_components/booking/location-selector.tsx index 4cb02aa..07a5247 100644 --- a/app/home/(user)/_components/booking/location-selector.tsx +++ b/app/home/(user)/_components/booking/location-selector.tsx @@ -1,5 +1,4 @@ import { Label } from '@medusajs/ui'; -import { useTranslation } from 'react-i18next'; import { RadioGroup, RadioGroupItem } from '@kit/ui/radio-group'; import { Card } from '@kit/ui/shadcn/card'; @@ -8,7 +7,6 @@ import { Trans } from '@kit/ui/trans'; import { useBooking } from './booking.provider'; const LocationSelector = () => { - const { t } = useTranslation(); const { selectedLocationId, setSelectedLocationId, locations } = useBooking(); const onLocationSelect = (locationId: number | string | null) => { @@ -16,6 +14,15 @@ const LocationSelector = () => { setSelectedLocationId(Number(locationId)); }; + const uniqueLocations = locations?.filter((item, index, self) => { + return ( + index === + self.findIndex( + (loc) => loc.sync_id === item.sync_id && loc.name === item.name, + ) + ); + }); + return (
@@ -26,20 +33,23 @@ const LocationSelector = () => { className="mb-2 flex flex-col" onValueChange={(val) => onLocationSelect(val)} > -
+ {/*
- -
- {locations?.map((location) => ( + +
*/} + {uniqueLocations?.map((location, index) => (