diff --git a/src/app/[locale]/checkout/page.tsx b/src/app/[locale]/checkout/page.tsx index cc79135..71ec887 100644 --- a/src/app/[locale]/checkout/page.tsx +++ b/src/app/[locale]/checkout/page.tsx @@ -244,7 +244,7 @@ export default function CheckoutPage() { } console.log("Step 2: Shipping method set successfully"); - console.log("Step 3: Saving phone number..."); + console.log("Step 3: Saving metadata..."); const metadataResult = await saleorClient.mutate({ mutation: CHECKOUT_METADATA_UPDATE, variables: { @@ -252,6 +252,8 @@ export default function CheckoutPage() { metadata: [ { key: "phone", value: shippingAddress.phone }, { key: "shippingPhone", value: shippingAddress.phone }, + { key: "userLanguage", value: locale }, + { key: "userLocale", value: locale }, ], }, }); @@ -316,7 +318,16 @@ export default function CheckoutPage() { }); if (emailResult.data?.checkoutEmailUpdate?.errors && emailResult.data.checkoutEmailUpdate.errors.length > 0) { - throw new Error(`Email update failed: ${emailResult.data.checkoutEmailUpdate.errors[0].message}`); + const errorMessage = emailResult.data.checkoutEmailUpdate.errors[0].message; + // Check if checkout no longer exists + if (errorMessage.includes("Couldn't resolve to a node")) { + console.error("Checkout not found, clearing cart..."); + localStorage.removeItem('cart'); + localStorage.removeItem('checkoutId'); + window.location.href = `/${locale}/products`; + return; + } + throw new Error(`Email update failed: ${errorMessage}`); } console.log("Step 1: Email updated successfully");