Follow-up UI polish on the /sponsor family card (app-sponsor-family-card), after the #827 declutter pass.
Problem
The card still carries redundant chrome:
Two family icons in the header — the family-icon-badge overlapping the avatar stack, plus the FAMILY pill.
Member names appear twice: the comma-separated line in the header and the per-member rows.
Profile photos (avatar stack) sit apart from the names they belong to.
The "Support their dream / Your sponsorship helps make their adventure and learning possible." panel is filler around the CTA.
The only link to the family page is a small "Meet the family" text link buried in that panel; the FAMILY pill — the obvious tap target — isn't a link.
The combined family goal (the $ tracker) is buried mid-card instead of being the headline number.
Change
FAMILY badge becomes the link to /sponsor/family/{familyKey} (chevron affordance, "Meet the family" tooltip/aria-label); the separate "Meet the family" text link is removed.
Remove family-icon-badge, the avatar stack, and the duplicated header member-names line.
Member photos move next to their names in the per-member rows.
The whole member row opens that member's spotlight (previously only the name button), with Enter/Space and hover/active states.
Combined goal $ tracker moves into the header, directly under the family name / shared dream.
Member rows and "Where they want to go" swap places — rows first, destinations after (at ≥900px the two-column grid swaps sides accordingly).
Remove the entire "Support their dream" panel; keep only the Sponsor / Donate family button, switched to the standard themed mat-raised-button color="primary" used by every other sponsor CTA (drops the hard-coded !important fill).
Drop the orphaned sponsor.family.supportTitle / supportBody keys from en.json + es.json.
Follow-up UI polish on the `/sponsor` family card (`app-sponsor-family-card`), after the #827 declutter pass.
## Problem
The card still carries redundant chrome:
- Two family icons in the header — the `family-icon-badge` overlapping the avatar stack, plus the FAMILY pill.
- Member names appear twice: the comma-separated line in the header and the per-member rows.
- Profile photos (avatar stack) sit apart from the names they belong to.
- The "Support their dream / Your sponsorship helps make their adventure and learning possible." panel is filler around the CTA.
- The only link to the family page is a small "Meet the family" text link buried in that panel; the FAMILY pill — the obvious tap target — isn't a link.
- The combined family goal (the $ tracker) is buried mid-card instead of being the headline number.
## Change
- **FAMILY badge becomes the link** to `/sponsor/family/{familyKey}` (chevron affordance, "Meet the family" tooltip/aria-label); the separate "Meet the family" text link is removed.
- Remove `family-icon-badge`, the avatar stack, and the duplicated header member-names line.
- **Member photos move next to their names** in the per-member rows.
- **The whole member row** opens that member's spotlight (previously only the name button), with Enter/Space and hover/active states.
- **Combined goal $ tracker moves into the header**, directly under the family name / shared dream.
- **Member rows and "Where they want to go" swap places** — rows first, destinations after (at ≥900px the two-column grid swaps sides accordingly).
- Remove the entire "Support their dream" panel; keep only the Sponsor / Donate family button, switched to the standard themed `mat-raised-button color="primary"` used by every other sponsor CTA (drops the hard-coded `!important` fill).
- Drop the orphaned `sponsor.family.supportTitle` / `supportBody` keys from `en.json` + `es.json`.
Related: #827.
Resolved in spikersoft-angular PRs #572 ("declutter family card — badge links, photos beside names, goal up top") and #573 (member rows as a grid on phone portrait), both merged to master. Verified against origin/master in libraries/features/sponsor-cards/src/lib/family-card/:
family-icon-badge — gone (no hits repo-wide).
The separate "Meet the family" text link — gone; the header itself is now the link: family-card.component.html:51[routerLink]="'/sponsor/family/' + family().familyKey".
Duplicated header member-names line and the avatar stack — gone.
Member photos now sit beside their names in the per-member rows (:63-:101), and the whole row is the target, with aria-controls wiring and a chevron affordance at :101.
The "Support their dream" panel is gone, and the orphaned sponsor.family.supportTitle / supportBody keys are absent from both en.json and es.json.
Member rows now precede the destinations block (:63 rows, :278 "Where they want to go").
One deviation worth recording: the combined goal $ tracker did not end up literally in the header. It lives in the CTA band at :360 (.family-goal), because #870's approved mock — which re-skinned this card afterwards — placed it there. The intent of this ticket (promote the tracker out of mid-card burial) is satisfied; the exact placement was superseded by the later approved design.
Closing.
Resolved in spikersoft-angular PRs #572 ("declutter family card — badge links, photos beside names, goal up top") and #573 (member rows as a grid on phone portrait), both merged to `master`. Verified against `origin/master` in `libraries/features/sponsor-cards/src/lib/family-card/`:
- `family-icon-badge` — gone (no hits repo-wide).
- The separate "Meet the family" text link — gone; the header itself is now the link: `family-card.component.html:51` `[routerLink]="'/sponsor/family/' + family().familyKey"`.
- Duplicated header member-names line and the avatar stack — gone.
- Member photos now sit beside their names in the per-member rows (`:63-:101`), and the **whole row** is the target, with `aria-controls` wiring and a chevron affordance at `:101`.
- The "Support their dream" panel is gone, and the orphaned `sponsor.family.supportTitle` / `supportBody` keys are absent from both `en.json` and `es.json`.
- Member rows now precede the destinations block (`:63` rows, `:278` "Where they want to go").
One deviation worth recording: the combined goal $ tracker did **not** end up literally in the header. It lives in the CTA band at `:360` (`.family-goal`), because #870's approved mock — which re-skinned this card afterwards — placed it there. The intent of this ticket (promote the tracker out of mid-card burial) is satisfied; the exact placement was superseded by the later approved design.
Closing.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Follow-up UI polish on the
/sponsorfamily card (app-sponsor-family-card), after the #827 declutter pass.Problem
The card still carries redundant chrome:
family-icon-badgeoverlapping the avatar stack, plus the FAMILY pill.Change
/sponsor/family/{familyKey}(chevron affordance, "Meet the family" tooltip/aria-label); the separate "Meet the family" text link is removed.family-icon-badge, the avatar stack, and the duplicated header member-names line.mat-raised-button color="primary"used by every other sponsor CTA (drops the hard-coded!importantfill).sponsor.family.supportTitle/supportBodykeys fromen.json+es.json.Related: #827.
Resolved in spikersoft-angular PRs #572 ("declutter family card — badge links, photos beside names, goal up top") and #573 (member rows as a grid on phone portrait), both merged to
master. Verified againstorigin/masterinlibraries/features/sponsor-cards/src/lib/family-card/:family-icon-badge— gone (no hits repo-wide).family-card.component.html:51[routerLink]="'/sponsor/family/' + family().familyKey".:63-:101), and the whole row is the target, witharia-controlswiring and a chevron affordance at:101.sponsor.family.supportTitle/supportBodykeys are absent from bothen.jsonandes.json.:63rows,:278"Where they want to go").One deviation worth recording: the combined goal $ tracker did not end up literally in the header. It lives in the CTA band at
:360(.family-goal), because #870's approved mock — which re-skinned this card afterwards — placed it there. The intent of this ticket (promote the tracker out of mid-card burial) is satisfied; the exact placement was superseded by the later approved design.Closing.