import { Accordion, Group, Text } from "@mantine/core"; import type { Shipment } from "@/services/resources/shipments"; import { ProductForm } from "@/components/Products/Form"; import type { UseFormReturnType } from "@mantine/form"; import { useMemo } from "react"; import { computePrices } from "@/pages/Contract"; export type ShipmentFormProps = { inputForm: UseFormReturnType>; shipment: Shipment; index: number; } export default function ShipmentForm({ shipment, index, inputForm, }: ShipmentFormProps) { const shipmentPrice = useMemo(() => { const values = Object .entries(inputForm.getValues()) .filter(([key]) => key.includes("planned") && key.split("-")[1] === String(shipment.id) ); return computePrices(values, shipment.products); }, [inputForm, shipment.products]); return ( {shipment.name} { Intl.NumberFormat( "fr-FR", {style: "currency", currency: "EUR"} ).format(shipmentPrice) } {shipment.date} { shipment?.products.map((product) => ( )) } ); }