import { redirect } from 'next/navigation'; import { listOrders } from '~/medusa/lib/data/orders'; import { createI18nServerInstance } from '@/lib/i18n/i18n.server'; import { listProductTypes } from '@lib/data/products'; import { PageBody } from '@kit/ui/makerkit/page'; import { pathsConfig } from '@kit/shared/config'; import { Trans } from '@kit/ui/trans'; import { HomeLayoutPageHeader } from '../../_components/home-page-header'; import { getAnalysisOrders } from '~/lib/services/order.service'; import OrderBlock from '../../_components/orders/order-block'; import React from 'react'; import { Divider } from '@medusajs/ui'; import { withI18n } from '~/lib/i18n/with-i18n'; export async function generateMetadata() { const { t } = await createI18nServerInstance(); return { title: t('orders:title'), }; } async function OrdersPage() { const medusaOrders = await listOrders(); const analysisOrders = await getAnalysisOrders(); const { productTypes } = await listProductTypes(); if (!medusaOrders || !productTypes) { redirect(pathsConfig.auth.signIn); } const analysisPackagesType = productTypes.find(({ metadata }) => metadata?.handle === 'analysis-packages')!; return ( <> } description={} /> {analysisOrders.map((analysisOrder) => { const medusaOrder = medusaOrders.find(({ id }) => id === analysisOrder.medusa_order_id); if (!medusaOrder) { return null; } const medusaOrderItems = medusaOrder.items || []; const medusaOrderItemsAnalysisPackages = medusaOrderItems.filter((item) => item.product_type_id === analysisPackagesType?.id); const medusaOrderItemsOther = medusaOrderItems.filter((item) => item.product_type_id !== analysisPackagesType?.id); return ( ) })} {analysisOrders.length === 0 && (
)}
); } export default withI18n(OrdersPage);