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 = () => {