Sponsor family card: hover member tabs (locations/bio/awards) + dashboard sponsor grid layout #884

Closed
opened 2026-07-28 05:35:57 +00:00 by spikerj · 2 comments
Owner

Rework of the sponsor family card and the landing-page Sponsor a Journey section.

Family card (used on /sponsor + dashboard):

  • Remove the click-spotlight panel that inserts above the member rows (causes layout shift).
  • On desktop (fine pointer), hovering a member row selects them; selection persists. Click/tap still selects on touch.
  • Selected member's info shows in a tabbed panel where the destinations block sits: Locations (their exposed destinations), About (bio/message/interests), Awards (awards that contributed toward a location-fund monetary bonus).
  • Default (no selection): family "Where they want to go" block, close button returns to it.
  • Header: remove the tagline ("Helping this family create unforgettable memories...") everywhere; narrow widths get name / "Shared dream: X" / right-aligned "View family profile" rows.

Backend: GET api/sponsor/families members gain awards[] — paid fund-rule earnings + fund prizes (newest first, cap 6, destination fields privacy-gated by ShowDestinations/exposed codes).

Dashboard Sponsor a Journey: horizontal scroll lane becomes a grid on tablet+ (2 tracks ≥769px, 4 tracks ≥1025px; family cards span 2, individuals span 1). Mobile keeps the lane with polish (overscroll containment, proximity snap, thin scrollbar).

Rework of the sponsor family card and the landing-page Sponsor a Journey section. **Family card (used on /sponsor + dashboard):** - Remove the click-spotlight panel that inserts above the member rows (causes layout shift). - On desktop (fine pointer), hovering a member row selects them; selection persists. Click/tap still selects on touch. - Selected member's info shows in a tabbed panel where the destinations block sits: **Locations** (their exposed destinations), **About** (bio/message/interests), **Awards** (awards that contributed toward a location-fund monetary bonus). - Default (no selection): family "Where they want to go" block, close button returns to it. - Header: remove the tagline ("Helping this family create unforgettable memories...") everywhere; narrow widths get name / "Shared dream: X" / right-aligned "View family profile" rows. **Backend:** `GET api/sponsor/families` members gain `awards[]` — paid fund-rule earnings + fund prizes (newest first, cap 6, destination fields privacy-gated by ShowDestinations/exposed codes). **Dashboard Sponsor a Journey:** horizontal scroll lane becomes a grid on tablet+ (2 tracks ≥769px, 4 tracks ≥1025px; family cards span 2, individuals span 1). Mobile keeps the lane with polish (overscroll containment, proximity snap, thin scrollbar).
Author
Owner

Implementation up for review:

  • spikersoft-backend PR #502 — per-member fund-money awards[] on the families payload (paid completions + prizes, privacy-gated destinations, newest-first cap 6).
  • spikersoft-angular PR #598 — hover member tabs (Locations / About / Awards via @angular/aria/tabs) replacing the layout-shifting spotlight, tagline removed, 3-row mobile header with right-aligned profile link, and the dashboard Sponsor a Journey lane → 2/4-column grid on tablet/desktop (families span 2, individuals 1) with mobile lane polish.

Verified with unit tests (backend 32/32 builder, frontend 25/25 card + 41/41 domain) and headless-Chromium screenshots at 390/800/1280/1600px. Will close after both PRs merge.

Implementation up for review: - spikersoft-backend PR #502 — per-member fund-money `awards[]` on the families payload (paid completions + prizes, privacy-gated destinations, newest-first cap 6). - spikersoft-angular PR #598 — hover member tabs (Locations / About / Awards via @angular/aria/tabs) replacing the layout-shifting spotlight, tagline removed, 3-row mobile header with right-aligned profile link, and the dashboard Sponsor a Journey lane → 2/4-column grid on tablet/desktop (families span 2, individuals 1) with mobile lane polish. Verified with unit tests (backend 32/32 builder, frontend 25/25 card + 41/41 domain) and headless-Chromium screenshots at 390/800/1280/1600px. Will close after both PRs merge.
Author
Owner

Shipped and verified in production. Backend PR #502 and angular PR #598 both merged to master 2026-07-28; deploy runs green (backend 18925, angular 18927 publish) after the #885 outage reruns. Prod verification: learn.spikersoft.com serves the new sponsor.family i18n keys (tabAwards present, tagline removed) — hover member tabs, per-member fund awards, 3-row mobile header, and the dashboard 2/4-column sponsor grid are live. Follow-up test-mock fix landed as backend PR #503 (#882). Closing. — Opus 5 Agent

Shipped and verified in production. Backend PR #502 and angular PR #598 both merged to master 2026-07-28; deploy runs green (backend 18925, angular 18927 publish) after the #885 outage reruns. Prod verification: learn.spikersoft.com serves the new sponsor.family i18n keys (tabAwards present, tagline removed) — hover member tabs, per-member fund awards, 3-row mobile header, and the dashboard 2/4-column sponsor grid are live. Follow-up test-mock fix landed as backend PR #503 (#882). Closing. — Opus 5 Agent
Sign in to join this conversation.