From d89e7d7dbdee7a04cfcce55eede9f6623dcf7f38 Mon Sep 17 00:00:00 2001 From: Tim <47184194+imgde@users.noreply.github.com> Date: Thu, 12 Jun 2025 14:18:55 +0200 Subject: [PATCH] Payment order submitting, fix customer submit --- 01-frontend/src/pages/Payment.tsx | 38 +++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/01-frontend/src/pages/Payment.tsx b/01-frontend/src/pages/Payment.tsx index 1cc8c8d..03a10fb 100644 --- a/01-frontend/src/pages/Payment.tsx +++ b/01-frontend/src/pages/Payment.tsx @@ -1,4 +1,5 @@ import { + Alert, Box, Button, Container, @@ -105,20 +106,20 @@ export default function Payment() { const { refetch: refetchCustomer } = useQuery({ queryKey: ["submitCustomer", customerData], queryFn: () => submitCustomer(customerData), - retry: 3, + retry: 0, retryDelay: 1000, enabled: false, }); - const { refetch: refetchSubmit } = useQuery({ - queryKey: ["submitOrder", submitOrderData], - queryFn: () => submitOrder(submitOrderData), - retry: 3, - retryDelay: 1000, - enabled: false, - }); + const showAlert = () => { + return + //TODO: + + }; const handleNext = async () => { + var next: boolean = true; + if (activeStep === steps.length - 2) { // Simulate order placement and generate order number const generatedOrderNumber = `ORD-${Math.floor(Math.random() * 1000000)}`; @@ -126,13 +127,26 @@ export default function Payment() { if (user) { submitOrderData.customerId = user.customerId; // Use logged-in user's customer ID } else { - void refetchCustomer(); // Submit customer data if not logged in - submitOrderData.customerId = JSON.parse((await refetchCustomer()).data as string).customerId; // Get the customer ID from the response + console.log(await (await refetchCustomer()).data.id); + submitOrderData.customerId = await (await refetchCustomer()).data.id; // Get the customer ID from the response } - //TODO Wenn nicht eingeloggt Customer anlegen, ansosnten Accountdaten laden + const { refetch: refetchSubmit, isError: orderIsError } = useQuery({ + queryKey: ["submitOrder", submitOrderData], + queryFn: () => submitOrder(submitOrderData), + retry: 0, + retryDelay: 1000, + enabled: false, + }); void refetchSubmit(); // Submit order data + if(orderIsError) { + next = false + } + } + if(next) { + setActiveStep((prevStep) => prevStep + 1); + } else { + showAlert(); } - setActiveStep((prevStep) => prevStep + 1); }; const handleBack = () => {