From 99fd2584e4c9454117336f294cdec8fd71401497 Mon Sep 17 00:00:00 2001 From: yiekheng Date: Sun, 10 May 2026 09:11:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(web):=20drop=20 + aria-label={account.status === "unpaired" ? "Pair WhatsApp" : "Re-pair WhatsApp"} + className="absolute inset-0 w-full rounded-xl bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" + /> )} @@ -130,27 +134,27 @@ export default async function AccountDetailPage({ params }: AccountDetailPagePro {/* Unpair — entire card opens the confirm dialog */} - +
+

Unpair

+

+ Disconnect from WhatsApp; keep the account so you can re-pair later +

+
+ + + +
@@ -178,27 +182,27 @@ export default async function AccountDetailPage({ params }: AccountDetailPagePro {/* Delete — entire card opens the confirm dialog */} - +
+

Delete Account

+

+ Remove the account and all its reminders, groups, and history +

+
+ + + +
diff --git a/apps/web/src/components/accounts-list-view.test.tsx b/apps/web/src/components/accounts-list-view.test.tsx index c1aac06..a3174f4 100644 --- a/apps/web/src/components/accounts-list-view.test.tsx +++ b/apps/web/src/components/accounts-list-view.test.tsx @@ -109,17 +109,20 @@ describe("AccountsListView", () => { expect(html).toMatch(/MyBiz<\/strong>/); }); - it("delete card is a button with the destructive aria-label", () => { + it("delete card is a focusable trigger element with the destructive aria-label", () => { const html = renderToStaticMarkup( , ); - // Order of attributes in the rendered + +
+ +
+
+

Delete account

+

+ Remove {account.label} and its reminders & groups +

+
+
+