feat: admin dashboard redesign + family CRM page #22
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "21-feat-admin-dashboard-redesign-family-crm"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Redesign the admin dashboard with clickable pipeline stat cards and create a new family CRM page. Marcus can now tap any stat number to drill into the detail he needs -- registered families, active subscribers, overdue accounts, or team rosters.
Changes
admin.html-- Stat cards converted from static divs to clickable<a>tags linking to admin-families.html and admin-teams.html. "Paid Up" renamed to "Active" to match pipeline language. Removed the Overdue Families detail section (moved to CRM page). Fixed bottom nav to Dashboard | Teams | Sign Out (removed Coach View and Player links). Quick Actions now link to real pages. Payment health bar updated to 91% (48/53).admin-families.html(new) -- Family CRM page with filter tabs (All/Leads/Active/Overdue), search bar, sort dropdown (name/status/payment), and 17 placeholder family rows using real roster names (Marcus Jr, Connor, Owence, Hasip brothers, Elson, Gabrielius, Romial) plus overdue families from the old dashboard and 5 new lead entries. Each row shows player name, parent contact (tap-to-call tel: links), email, team assignment, payment status badge, and last payment date. All rows link to player-profile.html. URL param support for deep-linking filters (?filter=overdue).Review Checklist
Test Plan
Related
plan-wkq(traceability)Review
Self-review pass completed. One issue found and fixed.
Finding: Tab counts in admin-families.html were hardcoded to full pipeline numbers (All=53, Active=44) but only 17 placeholder rows exist in the HTML. The "Showing 53 families" text would display on load while only 17 rows were visible. Additionally,
applyFilters()was not called on initial page load (only on filter/search interaction), so the results count would stay stale.Fix (
def6598): Corrected tab counts to match actual row data (17/8/5/4). AddedapplyFilters()call on page load via the IIFE so the results count is always accurate from first render.All acceptance criteria verified: