2.7 KiB
2.7 KiB
Frontend Specification: Final Polish
1. Current State & Objective
The multi-tenancy migration is functionally complete and successful. The frontend has been refactored to a robust, household-scoped application using JWT-based authentication. All legacy .js tests have been removed, and the codebase is clean.
The objective is to complete the final remaining UI feature to officially close out the project.
2. Final Tasks
This checklist represents all remaining work.
-
1. Implement "Copy Invite Link" UI:
- Objective: Implement the user interface for inviting new members to a household using a "copy link" feature.
- File:
src/views/HouseholdSettings.vue - Action:
The backend team will provide a new endpoint that, when called, returns a JSON object with an✅ Backend API already exists and returnsinvite_link.InviteLinkResponsewithinvite_linkfield.Update the "Invite" button logic to call this new endpoint.✅ CreatedcreateInviteLink()function insrc/api/invitations.ts.On a successful response, use the browser's Clipboard API (✅ Implemented innavigator.clipboard.writeText(response.invite_link)) to copy the link.onCopyInviteLink()handler.Display a confirmation toast to the user (e.g., "Invite link copied to clipboard!").✅ UsinguseAlert()composable to show success toast.
- Status: ✅ COMPLETED - Added "Copy Invite Link" button to HouseholdSettings.vue with full clipboard integration and toast notification.
-
2. Final Codebase Sweep:
- Objective: Perform a final search for and remove any dead code, comments, or variables related to the old system.
- Action: Search the entire codebase for the following keywords:
legacy,old,previous,workaround,fallback,person. - Outcome: ✅ COMPLETED - Removed all legacy comments from:
src/composables/useAuth.ts- Removed "Legacy username login removed" commentsrc/components/LoginPage.vue- Removed "Legacy quick-login removed" and "legacy login removed" commentssrc/api/auth.ts- Removed "Legacy username login has been removed" commentsrc/api/sdk.ts- Removed legacy shopping list stub functions (getMyShoppingList,saveMyShoppingList)src/composables/useShopping.ts- Removed references to removed stub functions
- Note: Remaining uses of "fallback", "person", etc. are legitimate application logic, not legacy code.
-
3. Mark Project as Complete:
- Objective: Once the above tasks are done, this document is complete.
- Action: ✅ PROJECT COMPLETE - All migration tasks successfully completed on November 2, 2025.