Skip to content

fix(frontend): restore hover/click on Community rail rows - #63

Merged
reik merged 2 commits into
masterfrom
fix/community-rail-hover-click
Aug 20, 2026
Merged

fix(frontend): restore hover/click on Community rail rows#63
reik merged 2 commits into
masterfrom
fix/community-rail-hover-click

Conversation

@reik

@reik reik commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • The playdate-badge PR (feat(frontend): playdate badge + City, State in Community sidebar #57) wrapped each Community rail row in a div with an absolutely-positioned full-row Link underneath, but also gave the avatar and name/city content relative z-0 — same z-index, later in DOM order, so those decorative elements painted and hit-tested above the link.
  • Result: clicking the avatar or the family name (the two most obvious click targets) hit inert <span>/<img> elements instead of navigating, and the cursor never showed a pointer over them. Only clicking the empty padding around them worked.
  • Fix: swap relative z-0 for pointer-events-none on the decorative avatar/name content so clicks and hover fall through to the underlying link, and add pointer-events-auto to the nested Playdate badge link so it stays independently clickable above the row link.

Verification

  • Reproduced the exact before/after CSS in an isolated Playwright harness (no app/backend needed): before, elementFromPoint at the name's coordinates resolved to the name <div> (cursor: auto) and a real coordinate click there produced no navigation; after, it resolves to the row <a> (cursor: pointer) and the click fires correctly. The Playdate badge remained independently clickable in both cases.
  • tsc --noEmit clean.
  • Full frontend unit suite: 135/135 passing.
  • Added frontend/e2e/home-community-rail.spec.ts (clicks directly on the name text and on the avatar, plus a pointer-cursor assertion) — written to this repo's Playwright conventions but not run live against the deployed Supabase environment in this session (no local credentials).

Test plan

  • npm run test:e2e --workspace frontend -- home-community-rail against a real environment
  • npm run typecheck --workspace frontend
  • npm run test --workspace frontend -- --run

🤖 Generated with Claude Code

reik added 2 commits August 19, 2026 20:37
The playdate-badge commit (848a5f5) wrapped each row in a plain div with
an absolutely-positioned full-row Link underneath, but also gave the
avatar and name/city content their own `relative z-0`. Same z-index +
later DOM order meant those decorative elements painted (and hit-tested)
above the link, so clicking the avatar or the family name — the two most
obvious click targets — hit inert spans instead of navigating, and the
cursor never showed a hand over them.

Swap `relative z-0` for `pointer-events-none` on the decorative avatar/
name content so clicks and hover fall through to the underlying link,
and add `pointer-events-auto` to the nested Playdate badge link so it
stays independently clickable above the row link.

Verified with a standalone Playwright repro of the exact before/after
CSS: before, elementFromPoint at the name's coordinates resolved to the
name div (cursor: auto) and a real click there produced no navigation;
after, it resolves to the row link (cursor: pointer) and the click
fires correctly, with the Playdate badge unaffected in both cases.

Adds frontend/e2e/home-community-rail.spec.ts covering direct clicks on
the name and the avatar, plus the pointer-cursor affordance.
…test

seed-dummy.ts backfilled dicebear avatars onto the dummy families after
this branch was cut, so the Davis family row may now render an <img>
instead of the aria-hidden initials span this test originally assumed.
@vercel

vercel Bot commented Aug 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
fofafu-frontend Ready Ready Preview Aug 20, 2026 3:38am

@reik
reik merged commit f1ed36f into master Aug 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant