From d4a6709149da56878fdce896d17f2f1238980d57 Mon Sep 17 00:00:00 2001 From: Joel Brock Date: Thu, 21 May 2026 12:51:01 -0700 Subject: [PATCH] Stage 1/3: add date+upload field groups; drop Stage 2 group labels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit More pair-clustering across stages: Stage 1 gets four (Preliminary Market Assessment, Preliminary Sources & Uses, Vision, Business Concept), Stage 3 gets one (Site Letter of Intent). Stage 2 groups drop their labels — the pair structure reads on its own and the extra heading was visual noise. --- config/form.ts | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/config/form.ts b/config/form.ts index d6780a0..bd6cd30 100644 --- a/config/form.ts +++ b/config/form.ts @@ -315,6 +315,25 @@ const stage1: StageSectionConfig = { civiField: `${G1}.Business_Concept_Upload`, }, ] as FieldConfig[], + // Visual clustering — each pair (date + upload) reads as one item. + fieldGroups: [ + { + id: "prelim_market_assessment", + fields: ["Preliminary_Market_Assessment", "Preliminary_Market_Assessment_Upload"], + }, + { + id: "prelim_sources_uses", + fields: ["Preliminary_Sources_Uses", "Preliminary_Sources_Uses_Upload"], + }, + { + id: "vision", + fields: ["Vision", "Vision_Upload"], + }, + { + id: "business_concept", + fields: ["Business_Concept", "Business_Concept_Upload"], + }, + ], }; // Stage 2 — Feasibility @@ -369,22 +388,18 @@ const stage2: StageSectionConfig = { fieldGroups: [ { id: "market_study", - label: "Market Study", fields: ["Market_Study_Date", "Market_Study_Upload"], }, { id: "pro_forma", - label: "Pro Forma", fields: ["Pro_Forma_date_completed", "Pro_Forma_Upload"], }, { id: "business_plan", - label: "Business Plan", fields: ["Business_Plan", "Business_Plan_Upload"], }, { id: "board_self_assessment", - label: "Board Self Assessment", fields: ["Board_Self_Assessment", "Board_Self_Assessment_Upload"], }, ], @@ -462,6 +477,9 @@ const stage3: StageSectionConfig = { help: "Are you using or considering one of these other distributors as your primary?", }, ] as FieldConfig[], + fieldGroups: [ + { id: "site", fields: ["Site_Letter_of_Intent_Date", "Site_Letter_of_Intent_Upload"] } + ], }; // Stage 4 — Excite & Build @@ -521,8 +539,11 @@ const stage4: StageSectionConfig = { type: "file", civiField: `${G4}.Mission_Transition_Plan_Upload`, }, - ] as FieldConfig[], + fieldGroups: [ + { id: "gm", label: "General Manager", fields: ["General_Manager_Date_of_Hire", "General_Manager_Background", "General_Manager_Name", "General_Manager_Phone", "GM_Email", "GM_Support_Training", "GM_Support_Team"] }, + { id: "mission_transition", fields: ["Missions_Transition_Plan_Date", "Mission_Transition_Plan_Upload"] } + ], }; // Stage 5 — Fulfill & Stabilize. Field machine names have historical