fix(goal_contributions/preview): rename templateNonZero -> templateNonzero so Stimulus matches the data attribute

Stimulus converts the JS value name templateNonZero to a kebab-cased
attribute by splitting on each capital letter, giving
data-...-template-non-zero-value. Rails' dataset helper converts the
Ruby key :goal_contribution_preview_template_nonzero_value to
data-...-template-nonzero-value (no hyphen between non and zero).

Result: the Stimulus controller resolved templateNonzeroValue to ""
and the preview pane went blank as soon as the user typed an amount.

Renaming the JS value to templateNonzero closes the conversion gap.
Verified live via Playwright: at $500 the preview reads "Will bring
you to 28% saved ($13,750 of $50,000)."; at $40,000 it flips to
"Will reach your $50,000 target."
This commit is contained in:
Guillem Arias
2026-05-11 20:34:11 +02:00
parent f4b360bb96
commit 8a414e4777

View File

@@ -11,7 +11,7 @@ export default class extends Controller {
targetAmount: Number,
currency: String,
templateZero: String,
templateNonZero: String,
templateNonzero: String,
templateReached: String,
};
@@ -37,7 +37,7 @@ export default class extends Controller {
.replaceAll("{current}", this.#money(this.currentBalanceValue))
.replaceAll("{target}", this.#money(target));
} else {
text = this.templateNonZeroValue
text = this.templateNonzeroValue
.replaceAll("{percent}", percent.toString())
.replaceAll("{newTotal}", this.#money(newTotal))
.replaceAll("{target}", this.#money(target));