Monday, March 16, 2026

Two-Parent Family Management 2

Two-Parent Family Management 2

Canadian Elite Volleyball Academy — Development Update • March 16, 2026

Two-Parent Family Management

What & Why

Charlie's profile shows two parents — Shayne Kulbacki (Primary) and Falon Taylor — but there's no way for the primary parent to proactively invite the other parent to create their own family dashboard account. There are also no fields to capture custody/household details (who the child lives with, custody schedule, communication preferences). This feature adds both: an outbound invite flow from the primary parent, and structured custody fields so staff and both parents have clarity.

Done looks like

  • On the family dashboard, each child card has a "Co-Guardians" section listing all other linked parents and their account status (registered / invite pending / not yet invited)
  • A primary guardian can click "Invite co-parent", enter the other parent's name, email, and relationship type, and send an invite email with a secure magic link
  • The invited parent visits the link, sees who invited them and which child, signs in (or creates an account via Replit/Google), and is automatically connected as a co-guardian — no search-and-request flow required
  • Custody/household details are editable per relationship: "Primary residence" toggle (which parent the child lives with most), "Custody notes" free-text field (e.g., "alternating weeks", "weekdays only"), and a "Receives all communications" checkbox
  • On the athlete's admin community profile page, each parent in the Emergency Contacts section shows a "Primary Residence" badge and any custody notes so staff have full context
  • Both parents see the shared child in their family dashboard and can manage registrations and the athlete's profile (subject to existing permissions)
  • Invite links expire after 7 days; the primary parent can resend if needed

Tasks

  • Schema — Add , , and columns to . Create a new table with fields: child, invited-by, invited email, invited name, proposed relationship type, token hash, expiry, and consumed timestamp.
  • Backend routes — Add (primary guardian sends invite, generates token, sends Resend email with magic link). Add (public: validates token, returns child info + inviting parent). Add (must be logged in: creates person relationship, marks token consumed). Add (lists all guardians + invite status for a child). Add (update custody notes, primaryResidence, receivesAllCommunications).
  • Accept-invite page — New page at . Public. Shows inviting parent name, child name, and relationship being offered. If not logged in: shows a "Sign in to accept" button (Replit OAuth flow, redirects back after auth). If logged in and no academy profile: guides user to create one. On confirm: POSTs to accept endpoint and redirects to family dashboard.
  • Family dashboard — co-guardian panel — Within each child's management card, add a "Co-Guardians" section. Lists each co-guardian (name, relationship, status badge). Primary guardian sees an "Invite co-parent" button that opens a dialog (name, email, relationship type). Shows "Resend invite" for pending invites. Custody details section with primary-residence toggle, custody notes field, and comms checkbox — editable by the primary guardian, read-only for the secondary.
  • Community profile admin view — On the athlete's admin profile page (Emergency Contacts section), show a "Primary Residence" badge on the relevant parent card and display custody notes as a small sub-line under the parent's contact info.
  • Relevant files

    - - - - -

    Canadian Elite Volleyball Academy
    elitevolleyball.training

    No comments:

    Post a Comment