fix: add back email update step in checkout

This commit is contained in:
Unchained
2026-03-28 18:09:57 +02:00
parent bcf74e1fd1
commit 322c4c805b

View File

@@ -283,7 +283,29 @@ export default function CheckoutPage() {
try { try {
console.log("Completing order..."); console.log("Completing order...");
console.log("Step 1: Updating billing address..."); console.log("Step 1: Updating email...");
const emailResult = await saleorClient.mutate<EmailUpdateResponse>({
mutation: CHECKOUT_EMAIL_UPDATE,
variables: {
checkoutId: checkout.id,
email: shippingAddress.email,
},
});
if (emailResult.data?.checkoutEmailUpdate?.errors && emailResult.data.checkoutEmailUpdate.errors.length > 0) {
const errorMessage = emailResult.data.checkoutEmailUpdate.errors[0].message;
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");
console.log("Step 2: Updating billing address...");
const billingResult = await saleorClient.mutate<BillingAddressUpdateResponse>({ const billingResult = await saleorClient.mutate<BillingAddressUpdateResponse>({
mutation: CHECKOUT_BILLING_ADDRESS_UPDATE, mutation: CHECKOUT_BILLING_ADDRESS_UPDATE,
variables: { variables: {
@@ -304,9 +326,9 @@ export default function CheckoutPage() {
if (billingResult.data?.checkoutBillingAddressUpdate?.errors && billingResult.data.checkoutBillingAddressUpdate.errors.length > 0) { if (billingResult.data?.checkoutBillingAddressUpdate?.errors && billingResult.data.checkoutBillingAddressUpdate.errors.length > 0) {
throw new Error(`Billing address update failed: ${billingResult.data.checkoutBillingAddressUpdate.errors[0].message}`); throw new Error(`Billing address update failed: ${billingResult.data.checkoutBillingAddressUpdate.errors[0].message}`);
} }
console.log("Step 1: Billing address updated successfully"); console.log("Step 2: Billing address updated successfully");
console.log("Step 2: Setting shipping method..."); console.log("Step 3: Setting shipping method...");
const shippingMethodResult = await saleorClient.mutate<ShippingMethodUpdateResponse>({ const shippingMethodResult = await saleorClient.mutate<ShippingMethodUpdateResponse>({
mutation: CHECKOUT_SHIPPING_METHOD_UPDATE, mutation: CHECKOUT_SHIPPING_METHOD_UPDATE,
variables: { variables: {
@@ -318,9 +340,9 @@ export default function CheckoutPage() {
if (shippingMethodResult.data?.checkoutShippingMethodUpdate?.errors && shippingMethodResult.data.checkoutShippingMethodUpdate.errors.length > 0) { if (shippingMethodResult.data?.checkoutShippingMethodUpdate?.errors && shippingMethodResult.data.checkoutShippingMethodUpdate.errors.length > 0) {
throw new Error(`Shipping method update failed: ${shippingMethodResult.data.checkoutShippingMethodUpdate.errors[0].message}`); throw new Error(`Shipping method update failed: ${shippingMethodResult.data.checkoutShippingMethodUpdate.errors[0].message}`);
} }
console.log("Step 2: Shipping method set successfully"); console.log("Step 3: Shipping method set successfully");
console.log("Step 3: Saving metadata..."); console.log("Step 4: Saving metadata...");
const metadataResult = await saleorClient.mutate<MetadataUpdateResponse>({ const metadataResult = await saleorClient.mutate<MetadataUpdateResponse>({
mutation: CHECKOUT_METADATA_UPDATE, mutation: CHECKOUT_METADATA_UPDATE,
variables: { variables: {
@@ -337,10 +359,10 @@ export default function CheckoutPage() {
if (metadataResult.data?.updateMetadata?.errors && metadataResult.data.updateMetadata.errors.length > 0) { if (metadataResult.data?.updateMetadata?.errors && metadataResult.data.updateMetadata.errors.length > 0) {
console.warn("Failed to save phone metadata:", metadataResult.data.updateMetadata.errors); console.warn("Failed to save phone metadata:", metadataResult.data.updateMetadata.errors);
} else { } else {
console.log("Step 3: Phone number saved successfully"); console.log("Step 4: Phone number saved successfully");
} }
console.log("Step 4: Completing checkout..."); console.log("Step 5: Completing checkout...");
const completeResult = await saleorClient.mutate<CheckoutCompleteResponse>({ const completeResult = await saleorClient.mutate<CheckoutCompleteResponse>({
mutation: CHECKOUT_COMPLETE, mutation: CHECKOUT_COMPLETE,
variables: { variables: {