Build Log · August 15, 2026
MedinaCHF Navigation Refinement + Ideas Administration
Member nav reworked (Community replaces Connect on the bottom bar, Connect/My Family renamed and reordered into the hamburger) and Leadership gained full administrative control over the Ideas library, on top of member ownership that turned out to be missing entirely.
- MedinaCHF
- Navigation
- IA
- Ideas
- Leadership
- files changed
- 16
- new server actions
- 4
- real gap found (member idea edit/delete never existed)
- 1
files changed
new server actions
real gap found (member idea edit/delete never existed)
Timeline
Start
Received Court's brief
Nav IA rework (Community vs Connect confusion) + Leadership Ideas admin, explicitly scoped away from Community's own redesign
Orient
Read actual codebase
Traced every Connect/My Family reference, distinguished public /connect (Contact) from member-area Connect (directory) before touching anything
Build
Nav rename/reorder shipped
Bottom nav, desktop nav, hamburger, page titles, help text, internal links
Build
Leadership Ideas admin shipped
+Add Idea, Edit/Delete any idea, confirmation dialog, reusing existing coordinator page
Gap found
Member idea edit/delete didn't exist
Brief said 'preserve' but the action never existed in code — surfaced to Zeb, built it
Verify
tsc clean, dev server walkthrough
Zeb confirmed working in browser as both member and coordinator
Ship
Deployed to production
medinachf.forgekits.build — build succeeded, live routes verified via curl
What shipped
products/medinaCHF/components/MemberMobileNav.tsx — bottom nav: Home | Calendar | Plan | Community (Community replaces Connect, new chat-bubble icon)
products/medinaCHF/app/member/layout.tsx — desktop nav: Community promoted to primary row, secondary row reordered to Member Directory, My Profile, Settings, Help
products/medinaCHF/components/MobileNav.tsx — hamburger reordered: Announcements, Member Directory, My Profile, Settings, Help (Leadership stays separated below, unchanged)
products/medinaCHF/app/member/directory/page.tsx — renamed Connect -> Member Directory (title + function name)
products/medinaCHF/app/member/directory/[familyId]/page.tsx — back-link label updated
products/medinaCHF/app/member/profile/page.tsx — renamed My Family -> My Profile (title + function name), 'My Family' kept as internal section heading, CTA link text updated
products/medinaCHF/app/member/help/page.tsx — Q&A section relabeled and rewritten for the new names
products/medinaCHF/components/MyAdultProfileForm.tsx — stray 'Connect' reference in photo-required helper text fixed
products/medinaCHF/lib/actions/planning-board.ts — added updateOpportunityByCoordinator, deleteOpportunityByCoordinator (Leadership, requireCoordinator-gated), updateMyIdea, deleteMyIdea (member, createdByFamilyId-ownership-gated)
products/medinaCHF/components/coordinator/IdeaAdminControls.tsx — new: Leadership inline edit + two-step delete confirmation on any idea
products/medinaCHF/components/IdeaOwnerControls.tsx — new: member inline edit + delete confirmation, rendered only on the member's own submitted ideas
products/medinaCHF/app/coordinator/planning-board/page.tsx — '+ Add Idea' framing on existing CreateOpportunityForm, 'All Ideas' section now carries IdeaAdminControls per row
products/medinaCHF/lib/queries/planning-board.ts — added isMine to the IdeaCard type/listMemberIdeas so the UI can gate owner controls without a second query
products/medinaCHF/components/IdeaCard.tsx — renders IdeaOwnerControls when isMine
“Court's brief said to 'preserve' member idea edit/delete — but the code showed that capability never existed at all.”