diff --git a/frontend-spec.md b/frontend-spec.md index 039b4b8..98acaab 100644 --- a/frontend-spec.md +++ b/frontend-spec.md @@ -85,7 +85,7 @@ This plan is adapted to the existing codebase, focusing on refactoring rather th - Build the `Welcome.vue` view for creating the first household. - Build the `CreateAccount.vue` view. - Build the "Accept Invitation" page (`/invitations/accept?token=...`). It should take the token from the URL, call the API, and redirect on success. - - Status: Welcome page now implements create-household flow using `POST /api/v1/households` and redirects to `/:slug/mealplan`. Create Account and Invitation Accept remain TODO. + - Status: Welcome page implements create-household flow using `POST /api/v1/households` and redirects to `/:slug/mealplan`. Create Account UI is implemented with email/displayName/password form calling `useAuth.createAccount`; Invitation Accept remains TODO. 4. **[~] Integrate Household Context into the App**: - **Create `src/composables/useHousehold.ts`**: Implemented. Extracts `householdSlug` from route and binds provider to API client. @@ -123,8 +123,8 @@ What exists today Gaps vs requirements - Authentication & onboarding - - Partial: Added `loginWithPassword` shim and `logout`. Still missing Google OAuth, account creation, JWT storage/refresh beyond cookie. - - Missing `CreateAccount.vue`, `Welcome.vue`, invitation acceptance flow. + - Implemented: JWT `loginWithPassword`, `logout`, account creation via `createAccount` with token provider wiring. + - UI: `LoginPage.vue` shows email/password form under feature flag; `CreateAccount.vue` view implemented; `Welcome.vue` creates household; Invitation Accept pending; Google OAuth pending. - Routing & URL-based tenancy - Partial: Feature-flagged nesting implemented; still need guard logic for fetching households and redirects. - `useHousehold.ts` and `HouseholdSwitcher.vue` added; further wiring to fetch households pending. @@ -161,7 +161,8 @@ Progress Log (Nov 1, 2025) - Implemented `useHousehold.ts`, header + auth providers in API client, minimal `HouseholdSwitcher.vue`, and mounted it. Added a header injection test. - Implemented JWT login/register in `auth.ts` and wired token to client provider. `useAuth` updated with households fetching. - Router guard updated to handle public/multitenant routing and redirects. -- Next: Update `LoginPage.vue` to email/password UI using `useAuth.loginWithPassword`; implement Create Account UI; wire `Welcome.vue` to create household. +- Added `useAuth.createAccount` with state update and tests for it; implemented `CreateAccount.vue` with form and navigation. +- Next: Implement Invitation Accept flow and Household Settings (invite members form), then remove legacy Person UI. --- diff --git a/src/components/HouseholdSwitcher.vue b/src/components/HouseholdSwitcher.vue index f2b0213..87802c0 100644 --- a/src/components/HouseholdSwitcher.vue +++ b/src/components/HouseholdSwitcher.vue @@ -1,9 +1,18 @@ + + diff --git a/src/views/Welcome.vue b/src/views/Welcome.vue index fd91ee5..a46975c 100644 --- a/src/views/Welcome.vue +++ b/src/views/Welcome.vue @@ -5,8 +5,14 @@

Create a new household

- - + +
@@ -14,7 +20,6 @@

To join a household, ask an existing member to send an invitation to your email address.

-