Build Log
Hearth: Phase 3 UI
June 22, 2026
Wired /today to real access helpers, built /me, /people, /people/[profileId], and added the capture destination selector — HOUSEHOLD_ID hardcode gone from the critical path.
Timeline
What shipped
lib/access.ts — getHouseholdForUser(userId): maps Clerk userId to { householdId, memberId }
/today/page.tsx — replaced hardcoded HOUSEHOLD_ID with auth() + getHouseholdForUser() + getSharedHearthItems()
/me/page.tsx — personal view: getMemberPersonalItems(), shows private tasks + assigned items, grouped by type
/people/page.tsx — profile list grouped by type (adult/child/pet/house/vehicle), links to profile pages
/people/[profileId]/page.tsx — profile page: getProfileItems(), today + upcoming items, 404 on unknown profileId
/capture/page.tsx — loads sharedSpace + personalSpace + profiles, builds typed destination[] array
capture/actions.ts — routeToDate accepts optional { spaceId, visibility } destination
NotebookList.tsx — CaptureDestination type exported, destinations prop, selector renders when >1 option
layout.tsx — My Space (/me) + People (/people) added to desktop sidebar + mobile overflow nav
“The hardcode is gone. The auth bridge is in. The household knows who you are.”