From 8766de5ed03395697e3d0949eee8e0795c4956d3 Mon Sep 17 00:00:00 2001 From: Joel Brock Date: Thu, 21 May 2026 14:08:06 -0700 Subject: [PATCH] =?UTF-8?q?Copy:=20"member(s)"=20=E2=86=92=20"member-owner?= =?UTF-8?q?(s)"=20in=20user-facing=20strings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sweeps every active label / help / intro / visible paragraph in the app to use 'member-owner' terminology consistently. Stub option labels for the Capital Stack (Member equity / Member loans) updated on the label side; option `value:` strings stay as the CRM-side stored values. Sentinel comparisons in ReportView's chart legend updated to track the new field labels (otherwise the `(custom label)` parenthetical would print spuriously even at default). Untouched on purpose: - Civi machine names (`Members__current_`, `Member_*`, `*_Member*`) — wire-level identifiers, must match Civi. - Option-group `value:` strings — CRM-stored values, must match. - NCG_Member / INFRA_Member option labels — these refer to a co-op's membership in distributor networks, not member-owners. - Commented-out fields and technical comments referencing Civi field names. --- app/api/data/route.ts | 2 +- components/ReportView.tsx | 8 ++++---- config/form.ts | 38 +++++++++++++++++++------------------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/app/api/data/route.ts b/app/api/data/route.ts index 70a05b5..61699df 100644 --- a/app/api/data/route.ts +++ b/app/api/data/route.ts @@ -60,7 +60,7 @@ const STUB_PAYLOAD: FormDataPayload = { 141: [{ value: "Yes", label: "Yes" }, { value: "No", label: "No" }], 142: [{ value: "Yes", label: "Yes" }, { value: "No", label: "No" }], 133: [{ value: "Viable", label: "Viable" }, { value: "Marginal", label: "Marginal" }, { value: "Not viable", label: "Not viable" }], - 134: [{ value: "Member equity", label: "Member equity" }, { value: "Member loans", label: "Member loans" }, { value: "Bank debt", label: "Bank debt" }, { value: "Grants", label: "Grants" }], + 134: [{ value: "Member equity", label: "Member-Owner equity" }, { value: "Member loans", label: "Member-Owner loans" }, { value: "Bank debt", label: "Bank debt" }, { value: "Grants", label: "Grants" }], 139: [{ value: "Yes", label: "Yes" }, { value: "No", label: "No" }], 135: [{ value: "Co-op", label: "Co-op grocery" }, { value: "Conventional", label: "Conventional grocery" }, { value: "Other", label: "Other" }], 136: [{ value: "Member", label: "Member" }, { value: "Considering", label: "Considering" }, { value: "Not a member", label: "Not a member" }], diff --git a/components/ReportView.tsx b/components/ReportView.tsx index 331bc11..855b190 100644 --- a/components/ReportView.tsx +++ b/components/ReportView.tsx @@ -549,7 +549,7 @@ const MEMBERS_ACTUAL_NAME = "Members__current_"; const MEMBERS_GOAL_NAME = "Member_Goal_for_current_Stage"; /** - * Dedicated comparison chart for the org's actual member count vs the + * Dedicated comparison chart for the org's actual member-owner count vs the * goal it set for the current stage. Renders when at least one of the * two fields has historical data. Both series are drawn as step lines * (carry-forward semantics — a measurement holds until the next one @@ -704,7 +704,7 @@ function MembershipChart({ Membership — goal vs. actual

- Member count tracked over time against the goal set for the org's + Member-owner count tracked over time against the goal set for the org's current stage.

@@ -884,7 +884,7 @@ function MembershipChart({ - Actual{membersField?.label && membersField.label !== "Members (current)" ? ` (${membersField.label})` : ""} + Actual{membersField?.label && membersField.label !== "Member-Owners (current)" ? ` (${membersField.label})` : ""}
  • @@ -892,7 +892,7 @@ function MembershipChart({ - Goal{goalField?.label && goalField.label !== "Member Goal for current Stage" ? ` (${goalField.label})` : ""} + Goal{goalField?.label && goalField.label !== "Member-Owner Goal for current Stage" ? ` (${goalField.label})` : ""}
  • diff --git a/config/form.ts b/config/form.ts index 73e8ee4..444f1d8 100644 --- a/config/form.ts +++ b/config/form.ts @@ -114,25 +114,25 @@ const stage0: StageSectionConfig = { // }, { name: "Member_Goal_for_current_Stage", - label: "Member Goal for current Stage", + label: "Member-Owner Goal for current Stage", type: "number", civiField: `${G0}.Member_Goal_for_current_Stage`, - help: "What is your member / owner goal for your current co-op development Stage?", + help: "What is your member-owner goal for your current co-op development Stage?", }, { name: "Members__current_", - label: "Members (current)", + label: "Member-Owners (current)", type: "number", civiField: `${G0}.Members__current_`, - help: "How many paid members does the co-op currently have? This can include partially paid, e.g. on installment plans.", + help: "How many paid member-owners does the co-op currently have? This can include partially paid, e.g. on installment plans.", }, { name: "Total_members_at_opening", - label: "Total members at opening", + label: "Total member-owners at opening", type: "number", civiField: `${G0}.Total_members_at_opening`, visibleWhen: visibleAtOrAfter(S.Stabilize), - help: "How many members will be required at opening for this store?", + help: "How many member-owners will be required at opening for this store?", }, // { // name: "Volunteers_Helping_In_Store", @@ -213,12 +213,12 @@ const stage0: StageSectionConfig = { // civiField: `${G0}.Member_equity_total` // }, { - name: "Member_equity_raised", - label: "Member equity raised", - type: "currency", - visibleWhen: visibleAtOrAfter(S.Stabilize), + name: "Member_equity_raised", + label: "Member-Owner equity raised", + type: "currency", + visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Member_equity_raised`, - help: "Member equity raised, as of the time of check-in", + help: "Member-owner equity raised, as of the time of check-in", }, // { // name: "Member_loans_total", @@ -227,12 +227,12 @@ const stage0: StageSectionConfig = { // civiField: `${G0}.Member_loans_total` // }, { - name: "Member_loans_raised", - label: "Member loans raised", - type: "currency", - visibleWhen: visibleAtOrAfter(S.Stabilize), + name: "Member_loans_raised", + label: "Member-Owner loans raised", + type: "currency", + visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Member_loans_raised`, - help: "Total amount (USD) raised from member loans, as of the time of check-in", + help: "Total amount (USD) raised from member-owner loans, as of the time of check-in", }, // { // name: "Member_preferred_shares_total", @@ -242,18 +242,18 @@ const stage0: StageSectionConfig = { // }, { name: "Member_preferred_shares_raised", - label: "Member preferred shares raised", + label: "Member-Owner preferred shares raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Member_preferred_shares_raised`, - help: "Total amount (USD) raised from preferred shares sold to members in the latest Sources and Uses doc", + help: "Total amount (USD) raised from preferred shares sold to member-owners in the latest Sources and Uses doc", }, // { name: "Bank_debt_total", label: "Bank debt total needed", type: "currency", civiField: `${G0}.Bank_debt_total` }, { name: "Bank_debt_raised", label: "Bank debt raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Bank_debt_raised`, help: "Total amount (USD) raised from bank debt (or other first position lender) in the latest Sources and Uses doc" }, // { name: "Grant_Donations_Needed", label: "Grants / Donations Needed", type: "currency", civiField: `${G0}.Grant_Donations_Needed` }, { name: "Grants_Donations_Raised", label: "Grants / Donations Raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Grants_Donations_Raised`, help: "Total amount (USD) raised from Grants and Donations in the latest Sources and Uses doc" }, // { name: "Other_sources_total", label: "Other sources total needed", type: "currency", civiField: `${G0}.Other_sources_total` }, - { name: "Other_sources_raised", label: "Other sources raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Other_sources_raised`, help: "Total amount (USD) successfully raised from other sources in the latest Sources and Uses doc (e.g. community loans or grants, free fill, vendor credit, landlord contribution, etc). Does not include member contributions (loans or equity) or bank debt." }, + { name: "Other_sources_raised", label: "Other sources raised", type: "currency", visibleWhen: visibleAtOrAfter(S.Stabilize), civiField: `${G0}.Other_sources_raised`, help: "Total amount (USD) successfully raised from other sources in the latest Sources and Uses doc (e.g. community loans or grants, free fill, vendor credit, landlord contribution, etc). Does not include member-owner contributions (loans or equity) or bank debt." }, // { name: "Date_Closed_Folded", label: "Date Closed / Folded", type: "date", civiField: `${G0}.Date_Closed_Folded` }, { name: "FTEs",