diff --git a/src/app/messages/setup/page.tsx b/src/app/messages/setup/page.tsx
index 3c4e167f..487d2e62 100644
--- a/src/app/messages/setup/page.tsx
+++ b/src/app/messages/setup/page.tsx
@@ -6,6 +6,7 @@ import { useAuth } from '@/contexts/AuthContext';
import { isOAuthUser, getOAuthProvider } from '@/lib/auth/oauth-utils';
import { sendWelcomeMessageOnSetup } from '@/lib/messaging/welcome/send-welcome-message';
import { createLogger } from '@/lib/logger/logger';
+import Icon from '@/components/atomic/Icon';
const logger = createLogger('app:messages:setup');
@@ -264,7 +265,10 @@ export default function MessagingSetupPage() {
className="btn btn-ghost btn-sm absolute top-1/2 right-1 -translate-y-1/2"
aria-label={showPassword ? 'Hide password' : 'Show password'}
>
- {showPassword ? '👁️' : '👁️🗨️'}
+ {/* Decorative (#385): the button's aria-label already
+ says Show/Hide password, and the two emoji were nearly
+ indistinguishable at button size. */}
+
diff --git a/src/components/GlobalNav.tsx b/src/components/GlobalNav.tsx index 952cf362..b3d2a7e6 100644 --- a/src/components/GlobalNav.tsx +++ b/src/components/GlobalNav.tsx @@ -350,8 +350,13 @@ export function GlobalNav() { )}
diff --git a/tests/e2e/tests/mobile-touch-targets.spec.ts b/tests/e2e/tests/mobile-touch-targets.spec.ts index 7ae0cda9..07d7c8a8 100644 --- a/tests/e2e/tests/mobile-touch-targets.spec.ts +++ b/tests/e2e/tests/mobile-touch-targets.spec.ts @@ -53,6 +53,24 @@ test.describe('Touch Target Standards', () => { await dismissCookieBanner(page); await waitForLayoutStability(page); + // OPEN THE MOBILE MENU FIRST. Without this the gate is very nearly inert: + // measured on a clean page at 390px, the selector below matched 58 + // elements and exactly ONE was visible — the hamburger itself. The other + // 57 sit inside the closed dropdown, `isVisible()` skips them, and the + // test reports green having checked a single 44px button. + // + // The nav is a DaisyUI `dropdown` held open by `:focus-within`, so + // focusing the trigger opens it (#378 will add more of these). + const menuTrigger = page.locator('[aria-label="Navigation menu"]'); + if (await menuTrigger.count()) { + // click(), not focus(): a DaisyUI dropdown is held open by + // :focus-within, and a programmatic focus on the