diff --git a/app/home/(user)/(dashboard)/order/page.tsx b/app/home/(user)/(dashboard)/order/page.tsx index a26d6e1..98c1c4f 100644 --- a/app/home/(user)/(dashboard)/order/page.tsx +++ b/app/home/(user)/(dashboard)/order/page.tsx @@ -10,6 +10,7 @@ import { Trans } from '@kit/ui/trans'; import { HomeLayoutPageHeader } from '../../_components/home-page-header'; import OrdersTable from '../../_components/orders/orders-table'; import { withI18n } from '~/lib/i18n/with-i18n'; +import type { IOrderLineItem } from '../../_components/orders/types'; export async function generateMetadata() { const { t } = await createI18nServerInstance(); @@ -29,11 +30,17 @@ async function OrdersPage() { } const analysisPackagesType = productTypes.find(({ metadata }) => metadata?.handle === 'analysis-packages'); - const analysisPackageOrders = orders.flatMap(({ id, items, payment_status, fulfillment_status }) => items + const analysisPackageOrders: IOrderLineItem[] = orders.flatMap(({ id, items, payment_status, fulfillment_status }) => items ?.filter((item) => item.product_type_id === analysisPackagesType?.id) .map((item) => ({ item, orderId: id, orderStatus: `${payment_status}/${fulfillment_status}` })) || []); + const otherOrders: IOrderLineItem[] = orders + .filter(({ items }) => items?.some((item) => item.product_type_id !== analysisPackagesType?.id)) + .flatMap(({ id, items, payment_status, fulfillment_status }) => items + ?.map((item) => ({ item, orderId: id, orderStatus: `${payment_status}/${fulfillment_status}` })) + || []); + return ( <> } /> - + + ); diff --git a/app/home/(user)/_components/orders/orders-item.tsx b/app/home/(user)/_components/orders/orders-item.tsx index 26e965b..2d80f7d 100644 --- a/app/home/(user)/_components/orders/orders-item.tsx +++ b/app/home/(user)/_components/orders/orders-item.tsx @@ -5,10 +5,10 @@ import { import { Eye } from "lucide-react"; import Link from "next/link"; import { formatDate } from "date-fns"; -import { IAnalysisPackageOrder } from "./types"; +import { IOrderLineItem } from "./types"; export default function OrdersItem({ orderItem }: { - orderItem: IAnalysisPackageOrder, + orderItem: IOrderLineItem, }) { return ( diff --git a/app/home/(user)/_components/orders/orders-table.tsx b/app/home/(user)/_components/orders/orders-table.tsx index b2e4b1e..2514aab 100644 --- a/app/home/(user)/_components/orders/orders-table.tsx +++ b/app/home/(user)/_components/orders/orders-table.tsx @@ -7,12 +7,13 @@ import { TableHeader, } from '@kit/ui/table'; import OrdersItem from "./orders-item"; -import { IAnalysisPackageOrder } from "./types"; +import { IOrderLineItem } from "./types"; const IS_SHOWN_ORDER_STATUS = true as boolean; -export default function OrdersTable({ orderItems }: { - orderItems: IAnalysisPackageOrder[]; +export default function OrdersTable({ orderItems, title }: { + orderItems: IOrderLineItem[]; + title: string; }) { if (!orderItems || orderItems.length === 0) { return null; @@ -23,7 +24,7 @@ export default function OrdersTable({ orderItems }: { - + diff --git a/app/home/(user)/_components/orders/types.ts b/app/home/(user)/_components/orders/types.ts index 2ad04ce..422043e 100644 --- a/app/home/(user)/_components/orders/types.ts +++ b/app/home/(user)/_components/orders/types.ts @@ -1,6 +1,6 @@ import { StoreOrderLineItem } from "@medusajs/types"; -export interface IAnalysisPackageOrder { +export interface IOrderLineItem { item: StoreOrderLineItem; orderId: string; orderStatus: string; diff --git a/public/locales/en/orders.json b/public/locales/en/orders.json index f1f1273..33db1e6 100644 --- a/public/locales/en/orders.json +++ b/public/locales/en/orders.json @@ -3,6 +3,7 @@ "description": "View your orders", "table": { "analysisPackage": "Analysis package", + "otherOrders": "Order", "createdAt": "Ordered at" } } \ No newline at end of file diff --git a/public/locales/et/orders.json b/public/locales/et/orders.json index aa2f7ff..dcba485 100644 --- a/public/locales/et/orders.json +++ b/public/locales/et/orders.json @@ -3,6 +3,7 @@ "description": "Vaata oma tellimusi", "table": { "analysisPackage": "Analüüsi pakett", + "otherOrders": "Tellimus", "createdAt": "Tellitud" } } \ No newline at end of file