From 7d9b34e2060bcd7904633107967e1cd71eeeffed Mon Sep 17 00:00:00 2001 From: bc-yevhenii-buliuk Date: Tue, 23 Jul 2024 18:49:40 +0300 Subject: [PATCH] fix(core): improve redirect behavior after creating new address --- .../_components/addresses-content/add-address.tsx | 11 ++--------- .../[tab]/_components/addresses-content/index.tsx | 12 ++++++++++++ core/app/[locale]/(default)/account/[tab]/page.tsx | 3 +++ core/messages/en.json | 1 + 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/core/app/[locale]/(default)/account/[tab]/_components/addresses-content/add-address.tsx b/core/app/[locale]/(default)/account/[tab]/_components/addresses-content/add-address.tsx index b5753f70f..a8c20dd31 100644 --- a/core/app/[locale]/(default)/account/[tab]/_components/addresses-content/add-address.tsx +++ b/core/app/[locale]/(default)/account/[tab]/_components/addresses-content/add-address.tsx @@ -120,15 +120,8 @@ export const AddAddress = ({ const submit = await addAddress({ formData, reCaptchaToken }); if (submit.status === 'success') { - form.current?.reset(); - setFormStatus({ - status: 'success', - message: t('successMessage'), - }); - - setTimeout(() => { - router.replace('/account/addresses'); - }, 3000); + router.push('/account/addresses?newaddress=true'); + return; } if (submit.status === 'error') { diff --git a/core/app/[locale]/(default)/account/[tab]/_components/addresses-content/index.tsx b/core/app/[locale]/(default)/account/[tab]/_components/addresses-content/index.tsx index e9fd2d712..3ab90cb30 100644 --- a/core/app/[locale]/(default)/account/[tab]/_components/addresses-content/index.tsx +++ b/core/app/[locale]/(default)/account/[tab]/_components/addresses-content/index.tsx @@ -9,6 +9,8 @@ import { AddressBook } from './address-book'; import { CustomerEditAddress } from './customer-edit-address'; import { CustomerNewAddress } from './customer-new-address'; +import { Message } from '~/components/ui/message'; + type CustomerAddresses = NonNullable>>; interface Props { @@ -17,6 +19,7 @@ interface Props { addressesCount: number; customerAction?: 'add-new-address' | 'edit-address'; pageInfo: CustomerAddresses['pageInfo']; + isNewAddress?: boolean; } export const AddressesContent = async ({ @@ -25,9 +28,11 @@ export const AddressesContent = async ({ activeAddressId, customerAction, pageInfo, + isNewAddress, }: Props) => { const locale = await getLocale(); const t = await getTranslations({ locale, namespace: 'Account.Home' }); + const t2 = await getTranslations({ locale, namespace: 'Account.Addresses' }); const tPagination = await getTranslations({ locale, namespace: 'Pagination' }); const { hasNextPage, hasPreviousPage, startCursor, endCursor } = pageInfo; @@ -58,6 +63,13 @@ export const AddressesContent = async ({ return ( <> + + {isNewAddress && ( + +

{t2('addNewAddressSuccessMessage')}

+
+ )} + ); } diff --git a/core/messages/en.json b/core/messages/en.json index 82caa2055..f251bdfcf 100644 --- a/core/messages/en.json +++ b/core/messages/en.json @@ -182,6 +182,7 @@ "defaultAddress": "Default", "alternativeAddress": "Alternative", "addNewAddress": "Add new address", + "addNewAddressSuccessMessage": "Address added to your account", "editButton": "Edit", "deleteButton": "Delete", "confirmDeleteAddress": "Delete address",