diff --git a/.changeset/grumpy-rice-bake.md b/.changeset/grumpy-rice-bake.md
new file mode 100644
index 000000000..0467307d1
--- /dev/null
+++ b/.changeset/grumpy-rice-bake.md
@@ -0,0 +1,5 @@
+---
+"@bigcommerce/catalyst-core": patch
+---
+
+Add delete address functionality for account
diff --git a/apps/core/app/[locale]/(default)/(faceted)/_components/pagination.tsx b/apps/core/app/[locale]/(default)/(faceted)/_components/pagination.tsx
index f93fba9b2..f3efea782 100644
--- a/apps/core/app/[locale]/(default)/(faceted)/_components/pagination.tsx
+++ b/apps/core/app/[locale]/(default)/(faceted)/_components/pagination.tsx
@@ -28,12 +28,18 @@ export const Pagination = ({
const beforeSearchParams = new URLSearchParams(searchParams);
beforeSearchParams.delete('after');
- beforeSearchParams.set('before', String(startCursor));
+
+ if (startCursor) {
+ beforeSearchParams.set('before', String(startCursor));
+ }
const afterSearchParams = new URLSearchParams(searchParams);
afterSearchParams.delete('before');
- afterSearchParams.set('after', String(endCursor));
+
+ if (endCursor) {
+ afterSearchParams.set('after', String(endCursor));
+ }
return (
{countryCode}
-
+ 1}
+ onDelete={setAddressBook}
+ />
),
)}
diff --git a/apps/core/app/[locale]/(default)/account/[tab]/_components/modal.tsx b/apps/core/app/[locale]/(default)/account/[tab]/_components/modal.tsx
new file mode 100644
index 000000000..ba66ea155
--- /dev/null
+++ b/apps/core/app/[locale]/(default)/account/[tab]/_components/modal.tsx
@@ -0,0 +1,69 @@
+'use client';
+
+import { Button } from '@bigcommerce/components/button';
+import {
+ Dialog,
+ DialogAction,
+ DialogCancel,
+ DialogContent,
+ DialogDescription,
+ DialogOverlay,
+ DialogPortal,
+ DialogTitle,
+ DialogTrigger,
+} from '@bigcommerce/components/dialog';
+import { X } from 'lucide-react';
+import { MouseEventHandler, PropsWithChildren } from 'react';
+
+interface Props extends PropsWithChildren {
+ actionHandler?: MouseEventHandler;
+ title: string;
+ descriptionText?: string;
+ confirmationText?: string;
+ abortText?: string;
+}
+
+export const Modal = ({
+ abortText = 'Cancel',
+ actionHandler,
+ confirmationText = 'OK',
+ descriptionText,
+ title,
+ children,
+}: Props) => {
+ return (
+
+ );
+};
diff --git a/apps/core/app/[locale]/(default)/account/[tab]/page.tsx b/apps/core/app/[locale]/(default)/account/[tab]/page.tsx
index b474d2883..784c39c66 100644
--- a/apps/core/app/[locale]/(default)/account/[tab]/page.tsx
+++ b/apps/core/app/[locale]/(default)/account/[tab]/page.tsx
@@ -54,9 +54,16 @@ export default async function AccountTabPage({ params: { tab, locale }, searchPa
notFound();
}
- const { addresses, pageInfo } = customerAddressesDetails;
-
- return ;
+ const { addresses, pageInfo, addressesCount } = customerAddressesDetails;
+
+ return (
+
+ );
}
case 'wishlists':
diff --git a/apps/core/messages/en.json b/apps/core/messages/en.json
index db79e2b4b..eccb81249 100644
--- a/apps/core/messages/en.json
+++ b/apps/core/messages/en.json
@@ -190,7 +190,9 @@
"alternativeAddress": "Alternative",
"addNewAddress": "Add new address",
"editButton": "Edit",
- "deleteButton": "Delete"
+ "deleteButton": "Delete",
+ "confirmDeleteAddress": "Delete address",
+ "deleteModalTitle": "Are you sure you want to delete Address"
},
"Login": {
"heading": "Log In",