Copy: "member(s)" → "member-owner(s)" in user-facing strings

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.
This commit is contained in:
Joel Brock
2026-05-21 14:08:06 -07:00
parent 5e7774795b
commit 8766de5ed0
3 changed files with 24 additions and 24 deletions
+4 -4
View File
@@ -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
</h2>
<p className="mt-0.5 text-xs text-ink-mute">
Member count tracked over time against the goal set for the org&apos;s
Member-owner count tracked over time against the goal set for the org&apos;s
current stage.
</p>
</div>
@@ -884,7 +884,7 @@ function MembershipChart({
<span className="relative -top-[3px] left-1/2 -translate-x-1/2 inline-block h-1.5 w-1.5 rounded-full bg-leaf-700" />
</span>
<span>
Actual{membersField?.label && membersField.label !== "Members (current)" ? ` (${membersField.label})` : ""}
Actual{membersField?.label && membersField.label !== "Member-Owners (current)" ? ` (${membersField.label})` : ""}
</span>
</li>
<li className="inline-flex items-center gap-2">
@@ -892,7 +892,7 @@ function MembershipChart({
<span className="relative -top-[3px] left-1/2 -translate-x-1/2 inline-block h-1.5 w-1.5 rounded-full bg-clay-600" />
</span>
<span>
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})` : ""}
</span>
</li>
</ul>