Add Extra accounts page and invitation management UI#1664
Open
j-ruda-guardian wants to merge 9 commits into
Open
Add Extra accounts page and invitation management UI#1664j-ruda-guardian wants to merge 9 commits into
j-ruda-guardian wants to merge 9 commits into
Conversation
293d327 to
8acc0ed
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an “Extra accounts” management experience to MMA (currently gated behind a query param + Digital Plus), including navigation entrypoints and invitation lifecycle UI, and centralises the shared Modal component for reuse (holiday flows updated accordingly).
Changes:
- Introduces Extra Accounts page UI (banner, rows, invite form, confirmation modals) plus a
useExtraAccountshook backed by a Zustand store. - Adds an “Extra accounts” route and nav entries (left nav + dropdown), and wires in an icon + page skeleton metadata.
- Moves
Modalintoclient/components/sharedand updates Holiday modals to import it from the new location.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| client/utilities/hooks/useExtraAccounts.ts | New hook to load/gate extra accounts and handle invite/cancel/remove flows. |
| client/utilities/extraAccounts.ts | New feature gating helpers (Digital Plus + query param). |
| client/stores/ExtraAccountsStore.tsx | New Zustand store for extra accounts state + loading/error handling. |
| client/components/shared/nav/NavConfig.tsx | Adds “Extra accounts” nav item configuration and icon. |
| client/components/shared/nav/LeftSideNav.tsx | Conditionally renders the new nav item based on eligibility gate. |
| client/components/shared/nav/DropdownNav.tsx | Conditionally renders the new nav item in dropdown based on eligibility gate. |
| client/components/shared/Modal.tsx | Enhances shared modal with container CSS overrides + optional close button. |
| client/components/mma/shared/ExtraAccountsBanner.tsx | Adds an account overview banner CTA linking to extra accounts. |
| client/components/mma/shared/assets/ExtraAccountsIcon.tsx | Adds the icon used in nav for Extra Accounts. |
| client/components/mma/MMAPageSkeleton.tsx | Adds page metadata for the /extra-accounts route. |
| client/components/mma/MMAPage.tsx | Adds lazy-loaded route entry for the Extra Accounts page. |
| client/components/mma/holiday/HolidayReview.tsx | Switches holiday flow to use the shared Modal import. |
| client/components/mma/holiday/HolidayQuestionsModal.tsx | Switches holiday flow to use the shared Modal import. |
| client/components/mma/holiday/HolidayAnniversaryDateExplainerModal.tsx | Switches holiday flow to use the shared Modal import. |
| client/components/mma/holiday/ExistingHolidayStopActions.tsx | Switches holiday flow to use the shared Modal + HideFunction types. |
| client/components/mma/extraAccounts/ExtraAccounts.tsx | New main page for managing extra accounts and showing status + feedback. |
| client/components/mma/extraAccounts/ExtraAccountRow.tsx | New row UI for empty/pending/active slots and associated actions/modals. |
| client/components/mma/extraAccounts/ExtraAccountInviteForm.tsx | New invite form (email + consent) for empty slots. |
| client/components/mma/extraAccounts/ExtraAccountCancelInvitationModal.tsx | New reusable confirmation modal wrapper for cancel/remove flows. |
| client/components/mma/accountoverview/AccountOverview.tsx | Displays the Extra Accounts banner behind the current gate. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an Extra accounts MMA page for Digital Plus subscribers (gated by ?TEST_EXTRA_ACCOUNTS_FLAG=true for now)
Adds nav entry, account overview banner, and useExtraAccounts hook + Zustand store
Implements send, cancel, and remove-access flows with confirmation modals and success/error feedback
Moves Modal to client/components/shared with containerCssOverrides and hideCloseButton
Notes
API calls are mocked (2s delay); list refetch uses hardcoded data until backend is ready
###Test plan