@burdenoff/microfe-atheletebridge 2026.1103.1 → 2026.1107.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atheletebridge/components/registration/RegistrationEntryFields.d.ts +6 -0
- package/dist/atheletebridge/components/registration/RegistrationEntryFields.d.ts.map +1 -1
- package/dist/atheletebridge/components/registration/RegistrationEntryFields.js +23 -11
- package/dist/atheletebridge/components/registration/RegistrationEntryFields.js.map +1 -1
- package/dist/atheletebridge/components/registration/entryRules.d.ts +2 -0
- package/dist/atheletebridge/components/registration/entryRules.d.ts.map +1 -1
- package/dist/atheletebridge/components/registration/entryRules.js +2 -1
- package/dist/atheletebridge/components/registration/entryRules.js.map +1 -1
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.d.ts +1 -0
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.d.ts.map +1 -1
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.js +61 -49
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.js.map +1 -1
- package/dist/atheletebridge/hooks/useRegistrationApi.d.ts +2 -2
- package/dist/atheletebridge/hooks/useRegistrationApi.d.ts.map +1 -1
- package/dist/atheletebridge/hooks/useRegistrationApi.js +1 -1
- package/dist/atheletebridge/hooks/useRegistrationApi.js.map +1 -1
- package/dist/atheletebridge/pages/registrations/RegisterPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/registrations/RegisterPage.js +4 -2
- package/dist/atheletebridge/pages/registrations/RegisterPage.js.map +1 -1
- package/dist/atheletebridge/pages/registrations/RegistrationSubmissionPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/registrations/RegistrationSubmissionPage.js +132 -107
- package/dist/atheletebridge/pages/registrations/RegistrationSubmissionPage.js.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamDetailPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamDetailPage.js +308 -287
- package/dist/atheletebridge/pages/teams/TeamDetailPage.js.map +1 -1
- package/dist/atheletebridge/types/registration.d.ts +11 -0
- package/dist/atheletebridge/types/registration.d.ts.map +1 -1
- package/dist/atheletebridge/utils/registration.d.ts +19 -0
- package/dist/atheletebridge/utils/registration.d.ts.map +1 -1
- package/dist/atheletebridge/utils/registration.js +28 -1
- package/dist/atheletebridge/utils/registration.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,12 @@ interface RegistrationEntryFieldsProps {
|
|
|
9
9
|
waiverText: string | null;
|
|
10
10
|
state: RegistrationEntryState;
|
|
11
11
|
onChange: (next: RegistrationEntryState) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Offer the "I am the athlete" choice. Only the family share-link flow sets
|
|
14
|
+
* it: there the signed-in registrant can be the athlete, and saying so lets
|
|
15
|
+
* the club add them to the team roster on acceptance (BOFF-10806).
|
|
16
|
+
*/
|
|
17
|
+
offerSelfRegistration?: boolean;
|
|
12
18
|
}
|
|
13
19
|
export declare const RegistrationEntryFields: FC<RegistrationEntryFieldsProps>;
|
|
14
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationEntryFields.d.ts","sourceRoot":"","sources":["../../../../src/atheletebridge/components/registration/RegistrationEntryFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAEV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,sBAAsB,EAAqB,MAAM,cAAc,CAAC;AAyF9E,UAAU,4BAA4B;IACpC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"RegistrationEntryFields.d.ts","sourceRoot":"","sources":["../../../../src/atheletebridge/components/registration/RegistrationEntryFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAEV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,sBAAsB,EAAqB,MAAM,cAAc,CAAC;AAyF9E,UAAU,4BAA4B;IACpC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACjD;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,CA0KpE,CAAC"}
|
|
@@ -63,11 +63,11 @@ var o = ({ field: n, value: r, onChange: o }) => {
|
|
|
63
63
|
hint: n.helpText ?? void 0,
|
|
64
64
|
children: l
|
|
65
65
|
});
|
|
66
|
-
}, s = ({ fields: s, fees: c, currency: l, waiverText: u, state: d, onChange: f }) => {
|
|
67
|
-
let
|
|
66
|
+
}, s = ({ fields: s, fees: c, currency: l, waiverText: u, state: d, onChange: f, offerSelfRegistration: p = !1 }) => {
|
|
67
|
+
let m = (e, t) => f({
|
|
68
68
|
...d,
|
|
69
69
|
[e]: t
|
|
70
|
-
}),
|
|
70
|
+
}), h = r(c, d.optionalFeeIds);
|
|
71
71
|
return /* @__PURE__ */ a("div", {
|
|
72
72
|
className: "space-y-6",
|
|
73
73
|
children: [
|
|
@@ -88,10 +88,22 @@ var o = ({ field: n, value: r, onChange: o }) => {
|
|
|
88
88
|
id: "participantName",
|
|
89
89
|
className: t,
|
|
90
90
|
value: d.participantName,
|
|
91
|
-
onChange: (e) =>
|
|
91
|
+
onChange: (e) => m("participantName", e.target.value),
|
|
92
92
|
placeholder: "Athlete's full name"
|
|
93
93
|
})
|
|
94
94
|
}),
|
|
95
|
+
p && /* @__PURE__ */ a("label", {
|
|
96
|
+
className: "flex items-start gap-2.5 text-sm text-text-primary",
|
|
97
|
+
children: [/* @__PURE__ */ i("input", {
|
|
98
|
+
type: "checkbox",
|
|
99
|
+
checked: d.participantIsRegistrant,
|
|
100
|
+
onChange: (e) => m("participantIsRegistrant", e.target.checked),
|
|
101
|
+
className: "mt-0.5 h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)]"
|
|
102
|
+
}), /* @__PURE__ */ a("span", { children: ["I am the athlete", /* @__PURE__ */ i("span", {
|
|
103
|
+
className: "block text-xs text-text-secondary",
|
|
104
|
+
children: "Tick this if you are registering yourself, so the club can add you to the team roster when they accept. Leave it clear when registering a child."
|
|
105
|
+
})] })]
|
|
106
|
+
}),
|
|
95
107
|
/* @__PURE__ */ a("div", {
|
|
96
108
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
|
|
97
109
|
children: [
|
|
@@ -103,7 +115,7 @@ var o = ({ field: n, value: r, onChange: o }) => {
|
|
|
103
115
|
id: "contactName",
|
|
104
116
|
className: t,
|
|
105
117
|
value: d.contactName,
|
|
106
|
-
onChange: (e) =>
|
|
118
|
+
onChange: (e) => m("contactName", e.target.value)
|
|
107
119
|
})
|
|
108
120
|
}),
|
|
109
121
|
/* @__PURE__ */ i(e, {
|
|
@@ -114,7 +126,7 @@ var o = ({ field: n, value: r, onChange: o }) => {
|
|
|
114
126
|
type: "email",
|
|
115
127
|
className: t,
|
|
116
128
|
value: d.contactEmail,
|
|
117
|
-
onChange: (e) =>
|
|
129
|
+
onChange: (e) => m("contactEmail", e.target.value)
|
|
118
130
|
})
|
|
119
131
|
}),
|
|
120
132
|
/* @__PURE__ */ i(e, {
|
|
@@ -125,7 +137,7 @@ var o = ({ field: n, value: r, onChange: o }) => {
|
|
|
125
137
|
type: "tel",
|
|
126
138
|
className: t,
|
|
127
139
|
value: d.contactPhone,
|
|
128
|
-
onChange: (e) =>
|
|
140
|
+
onChange: (e) => m("contactPhone", e.target.value)
|
|
129
141
|
})
|
|
130
142
|
})
|
|
131
143
|
]
|
|
@@ -142,7 +154,7 @@ var o = ({ field: n, value: r, onChange: o }) => {
|
|
|
142
154
|
}), s.map((e) => /* @__PURE__ */ i(o, {
|
|
143
155
|
field: e,
|
|
144
156
|
value: d.answers[e.key],
|
|
145
|
-
onChange: (t) =>
|
|
157
|
+
onChange: (t) => m("answers", {
|
|
146
158
|
...d.answers,
|
|
147
159
|
[e.key]: t
|
|
148
160
|
})
|
|
@@ -168,7 +180,7 @@ var o = ({ field: n, value: r, onChange: o }) => {
|
|
|
168
180
|
checked: !t || d.optionalFeeIds.includes(e.id),
|
|
169
181
|
disabled: !t,
|
|
170
182
|
"aria-label": `${e.name}${t ? " (optional)" : " (required)"}`,
|
|
171
|
-
onChange: (t) =>
|
|
183
|
+
onChange: (t) => m("optionalFeeIds", t.target.checked ? [...d.optionalFeeIds, e.id] : d.optionalFeeIds.filter((t) => t !== e.id)),
|
|
172
184
|
className: "mt-0.5 h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)] disabled:opacity-60"
|
|
173
185
|
}), /* @__PURE__ */ a("span", { children: [
|
|
174
186
|
e.name,
|
|
@@ -191,7 +203,7 @@ var o = ({ field: n, value: r, onChange: o }) => {
|
|
|
191
203
|
children: [/* @__PURE__ */ i("span", { children: "Total due" }), /* @__PURE__ */ i("span", {
|
|
192
204
|
className: "tabular-nums",
|
|
193
205
|
"data-testid": "registration-total",
|
|
194
|
-
children: n(
|
|
206
|
+
children: n(h, l)
|
|
195
207
|
})]
|
|
196
208
|
})]
|
|
197
209
|
})]
|
|
@@ -215,7 +227,7 @@ var o = ({ field: n, value: r, onChange: o }) => {
|
|
|
215
227
|
/* @__PURE__ */ i("input", {
|
|
216
228
|
type: "checkbox",
|
|
217
229
|
checked: d.waiverAccepted,
|
|
218
|
-
onChange: (e) =>
|
|
230
|
+
onChange: (e) => m("waiverAccepted", e.target.checked),
|
|
219
231
|
className: "h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)]"
|
|
220
232
|
}),
|
|
221
233
|
"I have read and accept the waiver",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationEntryFields.js","names":[],"sources":["../../../../src/atheletebridge/components/registration/RegistrationEntryFields.tsx"],"sourcesContent":["/**\n * Registration entry fields (BOFF-4135)\n * @module atheletebridge/components/registration\n *\n * Renders a registration form's participant/contact block, its questions, its\n * fees (REQUIRED always included, OPTIONAL opt-in) and its waiver. Shared by\n * the family-facing share-link page and the staff \"record a registration\"\n * page so both collect exactly what the server validates.\n */\n\nimport type { FC } from 'react';\nimport { FormField, fieldInputClass } from '../form';\nimport { formatMoney } from '../../utils/money';\nimport type {\n AthRegistrationAnswerValue,\n AthRegistrationFee,\n AthRegistrationField,\n} from '../../types/registration';\nimport { type RegistrationEntryState, registrationTotal } from './entryRules';\n\ninterface QuestionInputProps {\n field: AthRegistrationField;\n value: AthRegistrationAnswerValue | undefined;\n onChange: (value: AthRegistrationAnswerValue) => void;\n}\n\nconst QuestionInput: FC<QuestionInputProps> = ({ field, value, onChange }) => {\n const id = `q-${field.key}`;\n if (field.fieldType === 'CHECKBOX') {\n return (\n <label className=\"flex items-start gap-2.5 text-sm text-text-primary\" htmlFor={id}>\n <input\n id={id}\n type=\"checkbox\"\n checked={value === true}\n onChange={(e) => onChange(e.target.checked)}\n className=\"mt-0.5 h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)]\"\n />\n <span>\n {field.label}\n {field.required && <span className=\"ml-0.5 text-status-error-text\">*</span>}\n {field.helpText && (\n <span className=\"block text-xs text-text-secondary\">{field.helpText}</span>\n )}\n </span>\n </label>\n );\n }\n\n const text = value === undefined ? '' : String(value);\n let control;\n if (field.fieldType === 'LONG_TEXT') {\n control = (\n <textarea\n id={id}\n rows={3}\n className={fieldInputClass}\n value={text}\n onChange={(e) => onChange(e.target.value)}\n />\n );\n } else if (field.fieldType === 'SELECT') {\n control = (\n <select\n id={id}\n className={fieldInputClass}\n value={text}\n onChange={(e) => onChange(e.target.value)}\n >\n <option value=\"\">Select…</option>\n {field.options.map((option) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n );\n } else {\n const inputType: Record<string, string> = {\n EMAIL: 'email',\n PHONE: 'tel',\n NUMBER: 'number',\n DATE: 'date',\n };\n control = (\n <input\n id={id}\n type={inputType[field.fieldType] ?? 'text'}\n className={fieldInputClass}\n value={text}\n onChange={(e) => onChange(e.target.value)}\n />\n );\n }\n\n return (\n <FormField\n label={field.label}\n htmlFor={id}\n required={field.required}\n hint={field.helpText ?? undefined}\n >\n {control}\n </FormField>\n );\n};\n\ninterface RegistrationEntryFieldsProps {\n fields: AthRegistrationField[];\n fees: AthRegistrationFee[];\n currency: string;\n waiverText: string | null;\n state: RegistrationEntryState;\n onChange: (next: RegistrationEntryState) => void;\n}\n\nexport const RegistrationEntryFields: FC<RegistrationEntryFieldsProps> = ({\n fields,\n fees,\n currency,\n waiverText,\n state,\n onChange,\n}) => {\n const set = <K extends keyof RegistrationEntryState>(key: K, value: RegistrationEntryState[K]) =>\n onChange({ ...state, [key]: value });\n const total = registrationTotal(fees, state.optionalFeeIds);\n\n return (\n <div className=\"space-y-6\">\n <section className=\"space-y-4\" aria-labelledby=\"reg-participant\">\n <h2 id=\"reg-participant\" className=\"text-base font-semibold text-text-primary\">\n Participant\n </h2>\n <FormField label=\"Participant name\" htmlFor=\"participantName\" required>\n <input\n id=\"participantName\"\n className={fieldInputClass}\n value={state.participantName}\n onChange={(e) => set('participantName', e.target.value)}\n placeholder=\"Athlete's full name\"\n />\n </FormField>\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-3\">\n <FormField\n label=\"Contact name\"\n htmlFor=\"contactName\"\n hint=\"Parent or guardian, if applicable.\"\n >\n <input\n id=\"contactName\"\n className={fieldInputClass}\n value={state.contactName}\n onChange={(e) => set('contactName', e.target.value)}\n />\n </FormField>\n <FormField label=\"Contact email\" htmlFor=\"contactEmail\">\n <input\n id=\"contactEmail\"\n type=\"email\"\n className={fieldInputClass}\n value={state.contactEmail}\n onChange={(e) => set('contactEmail', e.target.value)}\n />\n </FormField>\n <FormField label=\"Contact phone\" htmlFor=\"contactPhone\">\n <input\n id=\"contactPhone\"\n type=\"tel\"\n className={fieldInputClass}\n value={state.contactPhone}\n onChange={(e) => set('contactPhone', e.target.value)}\n />\n </FormField>\n </div>\n </section>\n\n {fields.length > 0 && (\n <section className=\"space-y-4\" aria-labelledby=\"reg-questions\">\n <h2 id=\"reg-questions\" className=\"text-base font-semibold text-text-primary\">\n Questions\n </h2>\n {fields.map((field) => (\n <QuestionInput\n key={field.id}\n field={field}\n value={state.answers[field.key]}\n onChange={(value) => set('answers', { ...state.answers, [field.key]: value })}\n />\n ))}\n </section>\n )}\n\n {fees.length > 0 && (\n <section className=\"space-y-3\" aria-labelledby=\"reg-fees\">\n <h2 id=\"reg-fees\" className=\"text-base font-semibold text-text-primary\">\n Fees\n </h2>\n <ul className=\"divide-y divide-border-seam rounded-lg border border-border-seam\">\n {fees.map((fee) => {\n const optional = fee.feeType === 'OPTIONAL';\n const checked = !optional || state.optionalFeeIds.includes(fee.id);\n return (\n <li key={fee.id} className=\"flex items-center justify-between gap-3 px-4 py-3\">\n <label className=\"flex items-start gap-2.5 text-sm text-text-primary\">\n <input\n type=\"checkbox\"\n checked={checked}\n disabled={!optional}\n aria-label={`${fee.name}${optional ? ' (optional)' : ' (required)'}`}\n onChange={(e) =>\n set(\n 'optionalFeeIds',\n e.target.checked\n ? [...state.optionalFeeIds, fee.id]\n : state.optionalFeeIds.filter((feeId) => feeId !== fee.id)\n )\n }\n className=\"mt-0.5 h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)] disabled:opacity-60\"\n />\n <span>\n {fee.name}\n <span className=\"ml-1.5 text-xs text-text-secondary\">\n {optional ? 'Optional' : 'Required'}\n </span>\n {fee.description && (\n <span className=\"block text-xs text-text-secondary\">{fee.description}</span>\n )}\n </span>\n </label>\n <span className=\"text-sm font-medium tabular-nums text-text-primary\">\n {formatMoney(fee.amount, currency)}\n </span>\n </li>\n );\n })}\n <li className=\"flex items-center justify-between px-4 py-3 text-sm font-semibold text-text-primary\">\n <span>Total due</span>\n <span className=\"tabular-nums\" data-testid=\"registration-total\">\n {formatMoney(total, currency)}\n </span>\n </li>\n </ul>\n </section>\n )}\n\n {waiverText && (\n <section className=\"space-y-3\" aria-labelledby=\"reg-waiver\">\n <h2 id=\"reg-waiver\" className=\"text-base font-semibold text-text-primary\">\n Waiver\n </h2>\n <p className=\"whitespace-pre-line rounded-lg border border-border-seam bg-bg-sunken p-4 text-sm text-text-secondary\">\n {waiverText}\n </p>\n <label className=\"flex items-center gap-2.5 text-sm text-text-primary\">\n <input\n type=\"checkbox\"\n checked={state.waiverAccepted}\n onChange={(e) => set('waiverAccepted', e.target.checked)}\n className=\"h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)]\"\n />\n I have read and accept the waiver\n <span className=\"text-status-error-text\">*</span>\n </label>\n </section>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RegistrationEntryFields.js","names":[],"sources":["../../../../src/atheletebridge/components/registration/RegistrationEntryFields.tsx"],"sourcesContent":["/**\n * Registration entry fields (BOFF-4135)\n * @module atheletebridge/components/registration\n *\n * Renders a registration form's participant/contact block, its questions, its\n * fees (REQUIRED always included, OPTIONAL opt-in) and its waiver. Shared by\n * the family-facing share-link page and the staff \"record a registration\"\n * page so both collect exactly what the server validates.\n */\n\nimport type { FC } from 'react';\nimport { FormField, fieldInputClass } from '../form';\nimport { formatMoney } from '../../utils/money';\nimport type {\n AthRegistrationAnswerValue,\n AthRegistrationFee,\n AthRegistrationField,\n} from '../../types/registration';\nimport { type RegistrationEntryState, registrationTotal } from './entryRules';\n\ninterface QuestionInputProps {\n field: AthRegistrationField;\n value: AthRegistrationAnswerValue | undefined;\n onChange: (value: AthRegistrationAnswerValue) => void;\n}\n\nconst QuestionInput: FC<QuestionInputProps> = ({ field, value, onChange }) => {\n const id = `q-${field.key}`;\n if (field.fieldType === 'CHECKBOX') {\n return (\n <label className=\"flex items-start gap-2.5 text-sm text-text-primary\" htmlFor={id}>\n <input\n id={id}\n type=\"checkbox\"\n checked={value === true}\n onChange={(e) => onChange(e.target.checked)}\n className=\"mt-0.5 h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)]\"\n />\n <span>\n {field.label}\n {field.required && <span className=\"ml-0.5 text-status-error-text\">*</span>}\n {field.helpText && (\n <span className=\"block text-xs text-text-secondary\">{field.helpText}</span>\n )}\n </span>\n </label>\n );\n }\n\n const text = value === undefined ? '' : String(value);\n let control;\n if (field.fieldType === 'LONG_TEXT') {\n control = (\n <textarea\n id={id}\n rows={3}\n className={fieldInputClass}\n value={text}\n onChange={(e) => onChange(e.target.value)}\n />\n );\n } else if (field.fieldType === 'SELECT') {\n control = (\n <select\n id={id}\n className={fieldInputClass}\n value={text}\n onChange={(e) => onChange(e.target.value)}\n >\n <option value=\"\">Select…</option>\n {field.options.map((option) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n );\n } else {\n const inputType: Record<string, string> = {\n EMAIL: 'email',\n PHONE: 'tel',\n NUMBER: 'number',\n DATE: 'date',\n };\n control = (\n <input\n id={id}\n type={inputType[field.fieldType] ?? 'text'}\n className={fieldInputClass}\n value={text}\n onChange={(e) => onChange(e.target.value)}\n />\n );\n }\n\n return (\n <FormField\n label={field.label}\n htmlFor={id}\n required={field.required}\n hint={field.helpText ?? undefined}\n >\n {control}\n </FormField>\n );\n};\n\ninterface RegistrationEntryFieldsProps {\n fields: AthRegistrationField[];\n fees: AthRegistrationFee[];\n currency: string;\n waiverText: string | null;\n state: RegistrationEntryState;\n onChange: (next: RegistrationEntryState) => void;\n /**\n * Offer the \"I am the athlete\" choice. Only the family share-link flow sets\n * it: there the signed-in registrant can be the athlete, and saying so lets\n * the club add them to the team roster on acceptance (BOFF-10806).\n */\n offerSelfRegistration?: boolean;\n}\n\nexport const RegistrationEntryFields: FC<RegistrationEntryFieldsProps> = ({\n fields,\n fees,\n currency,\n waiverText,\n state,\n onChange,\n offerSelfRegistration = false,\n}) => {\n const set = <K extends keyof RegistrationEntryState>(key: K, value: RegistrationEntryState[K]) =>\n onChange({ ...state, [key]: value });\n const total = registrationTotal(fees, state.optionalFeeIds);\n\n return (\n <div className=\"space-y-6\">\n <section className=\"space-y-4\" aria-labelledby=\"reg-participant\">\n <h2 id=\"reg-participant\" className=\"text-base font-semibold text-text-primary\">\n Participant\n </h2>\n <FormField label=\"Participant name\" htmlFor=\"participantName\" required>\n <input\n id=\"participantName\"\n className={fieldInputClass}\n value={state.participantName}\n onChange={(e) => set('participantName', e.target.value)}\n placeholder=\"Athlete's full name\"\n />\n </FormField>\n {offerSelfRegistration && (\n <label className=\"flex items-start gap-2.5 text-sm text-text-primary\">\n <input\n type=\"checkbox\"\n checked={state.participantIsRegistrant}\n onChange={(e) => set('participantIsRegistrant', e.target.checked)}\n className=\"mt-0.5 h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)]\"\n />\n <span>\n I am the athlete\n <span className=\"block text-xs text-text-secondary\">\n Tick this if you are registering yourself, so the club can add you to the team\n roster when they accept. Leave it clear when registering a child.\n </span>\n </span>\n </label>\n )}\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-3\">\n <FormField\n label=\"Contact name\"\n htmlFor=\"contactName\"\n hint=\"Parent or guardian, if applicable.\"\n >\n <input\n id=\"contactName\"\n className={fieldInputClass}\n value={state.contactName}\n onChange={(e) => set('contactName', e.target.value)}\n />\n </FormField>\n <FormField label=\"Contact email\" htmlFor=\"contactEmail\">\n <input\n id=\"contactEmail\"\n type=\"email\"\n className={fieldInputClass}\n value={state.contactEmail}\n onChange={(e) => set('contactEmail', e.target.value)}\n />\n </FormField>\n <FormField label=\"Contact phone\" htmlFor=\"contactPhone\">\n <input\n id=\"contactPhone\"\n type=\"tel\"\n className={fieldInputClass}\n value={state.contactPhone}\n onChange={(e) => set('contactPhone', e.target.value)}\n />\n </FormField>\n </div>\n </section>\n\n {fields.length > 0 && (\n <section className=\"space-y-4\" aria-labelledby=\"reg-questions\">\n <h2 id=\"reg-questions\" className=\"text-base font-semibold text-text-primary\">\n Questions\n </h2>\n {fields.map((field) => (\n <QuestionInput\n key={field.id}\n field={field}\n value={state.answers[field.key]}\n onChange={(value) => set('answers', { ...state.answers, [field.key]: value })}\n />\n ))}\n </section>\n )}\n\n {fees.length > 0 && (\n <section className=\"space-y-3\" aria-labelledby=\"reg-fees\">\n <h2 id=\"reg-fees\" className=\"text-base font-semibold text-text-primary\">\n Fees\n </h2>\n <ul className=\"divide-y divide-border-seam rounded-lg border border-border-seam\">\n {fees.map((fee) => {\n const optional = fee.feeType === 'OPTIONAL';\n const checked = !optional || state.optionalFeeIds.includes(fee.id);\n return (\n <li key={fee.id} className=\"flex items-center justify-between gap-3 px-4 py-3\">\n <label className=\"flex items-start gap-2.5 text-sm text-text-primary\">\n <input\n type=\"checkbox\"\n checked={checked}\n disabled={!optional}\n aria-label={`${fee.name}${optional ? ' (optional)' : ' (required)'}`}\n onChange={(e) =>\n set(\n 'optionalFeeIds',\n e.target.checked\n ? [...state.optionalFeeIds, fee.id]\n : state.optionalFeeIds.filter((feeId) => feeId !== fee.id)\n )\n }\n className=\"mt-0.5 h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)] disabled:opacity-60\"\n />\n <span>\n {fee.name}\n <span className=\"ml-1.5 text-xs text-text-secondary\">\n {optional ? 'Optional' : 'Required'}\n </span>\n {fee.description && (\n <span className=\"block text-xs text-text-secondary\">{fee.description}</span>\n )}\n </span>\n </label>\n <span className=\"text-sm font-medium tabular-nums text-text-primary\">\n {formatMoney(fee.amount, currency)}\n </span>\n </li>\n );\n })}\n <li className=\"flex items-center justify-between px-4 py-3 text-sm font-semibold text-text-primary\">\n <span>Total due</span>\n <span className=\"tabular-nums\" data-testid=\"registration-total\">\n {formatMoney(total, currency)}\n </span>\n </li>\n </ul>\n </section>\n )}\n\n {waiverText && (\n <section className=\"space-y-3\" aria-labelledby=\"reg-waiver\">\n <h2 id=\"reg-waiver\" className=\"text-base font-semibold text-text-primary\">\n Waiver\n </h2>\n <p className=\"whitespace-pre-line rounded-lg border border-border-seam bg-bg-sunken p-4 text-sm text-text-secondary\">\n {waiverText}\n </p>\n <label className=\"flex items-center gap-2.5 text-sm text-text-primary\">\n <input\n type=\"checkbox\"\n checked={state.waiverAccepted}\n onChange={(e) => set('waiverAccepted', e.target.checked)}\n className=\"h-4 w-4 rounded border-border-seam text-action-primary-bg focus:ring-[var(--color-focus-ring)]\"\n />\n I have read and accept the waiver\n <span className=\"text-status-error-text\">*</span>\n </label>\n </section>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export interface RegistrationEntryState {
|
|
|
8
8
|
answers: Record<string, AthRegistrationAnswerValue>;
|
|
9
9
|
optionalFeeIds: string[];
|
|
10
10
|
waiverAccepted: boolean;
|
|
11
|
+
/** Self-service only: the signed-in registrant is the athlete (BOFF-10806). */
|
|
12
|
+
participantIsRegistrant: boolean;
|
|
11
13
|
}
|
|
12
14
|
export declare const EMPTY_REGISTRATION_ENTRY: RegistrationEntryState;
|
|
13
15
|
/** Total due for the current fee selection, in minor units. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entryRules.d.ts","sourceRoot":"","sources":["../../../../src/atheletebridge/components/registration/entryRules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACpD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"entryRules.d.ts","sourceRoot":"","sources":["../../../../src/atheletebridge/components/registration/entryRules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACpD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,+EAA+E;IAC/E,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,wBAAwB,EAAE,sBAStC,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAI9F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,oBAAoB,EAAE,EAC9B,KAAK,EAAE,sBAAsB,GAC5B,MAAM,GAAG,IAAI,CAcf;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,GAClD,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAM5C"}
|
|
@@ -6,7 +6,8 @@ var e = {
|
|
|
6
6
|
contactPhone: "",
|
|
7
7
|
answers: {},
|
|
8
8
|
optionalFeeIds: [],
|
|
9
|
-
waiverAccepted: !1
|
|
9
|
+
waiverAccepted: !1,
|
|
10
|
+
participantIsRegistrant: !1
|
|
10
11
|
};
|
|
11
12
|
function t(e, t) {
|
|
12
13
|
return e.filter((e) => e.feeType === "REQUIRED" || t.includes(e.id)).reduce((e, t) => e + t.amount, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entryRules.js","names":[],"sources":["../../../../src/atheletebridge/components/registration/entryRules.ts"],"sourcesContent":["/**\n * Pure rules for the registration entry form (BOFF-4135).\n * @module atheletebridge/components/registration\n */\n\nimport type {\n AthRegistrationAnswerValue,\n AthRegistrationFee,\n AthRegistrationField,\n} from '../../types/registration';\n\nexport interface RegistrationEntryState {\n participantName: string;\n contactName: string;\n contactEmail: string;\n contactPhone: string;\n answers: Record<string, AthRegistrationAnswerValue>;\n optionalFeeIds: string[];\n waiverAccepted: boolean;\n}\n\nexport const EMPTY_REGISTRATION_ENTRY: RegistrationEntryState = {\n participantName: '',\n contactName: '',\n contactEmail: '',\n contactPhone: '',\n answers: {},\n optionalFeeIds: [],\n waiverAccepted: false,\n};\n\n/** Total due for the current fee selection, in minor units. */\nexport function registrationTotal(fees: AthRegistrationFee[], optionalFeeIds: string[]): number {\n return fees\n .filter((fee) => fee.feeType === 'REQUIRED' || optionalFeeIds.includes(fee.id))\n .reduce((total, fee) => total + fee.amount, 0);\n}\n\n/**\n * Client-side pre-check mirroring the server's required-answer rule, so the\n * family sees what is missing before a round trip. The server stays the\n * authority on every rule.\n */\nexport function missingRequiredAnswer(\n fields: AthRegistrationField[],\n state: RegistrationEntryState\n): string | null {\n if (!state.participantName.trim()) return 'Participant name';\n for (const field of fields) {\n if (!field.required) continue;\n const value = state.answers[field.key];\n if (\n field.fieldType === 'CHECKBOX'\n ? value !== true\n : value === undefined || String(value).trim() === ''\n ) {\n return field.label;\n }\n }\n return null;\n}\n\n/** Strip blank answers so optional unanswered questions are simply omitted. */\nexport function cleanAnswers(\n answers: Record<string, AthRegistrationAnswerValue>\n): Record<string, AthRegistrationAnswerValue> {\n return Object.fromEntries(\n Object.entries(answers).filter(\n ([, value]) => !(typeof value === 'string' && value.trim() === '')\n )\n );\n}\n"],"mappings":";
|
|
1
|
+
{"version":3,"file":"entryRules.js","names":[],"sources":["../../../../src/atheletebridge/components/registration/entryRules.ts"],"sourcesContent":["/**\n * Pure rules for the registration entry form (BOFF-4135).\n * @module atheletebridge/components/registration\n */\n\nimport type {\n AthRegistrationAnswerValue,\n AthRegistrationFee,\n AthRegistrationField,\n} from '../../types/registration';\n\nexport interface RegistrationEntryState {\n participantName: string;\n contactName: string;\n contactEmail: string;\n contactPhone: string;\n answers: Record<string, AthRegistrationAnswerValue>;\n optionalFeeIds: string[];\n waiverAccepted: boolean;\n /** Self-service only: the signed-in registrant is the athlete (BOFF-10806). */\n participantIsRegistrant: boolean;\n}\n\nexport const EMPTY_REGISTRATION_ENTRY: RegistrationEntryState = {\n participantName: '',\n contactName: '',\n contactEmail: '',\n contactPhone: '',\n answers: {},\n optionalFeeIds: [],\n waiverAccepted: false,\n participantIsRegistrant: false,\n};\n\n/** Total due for the current fee selection, in minor units. */\nexport function registrationTotal(fees: AthRegistrationFee[], optionalFeeIds: string[]): number {\n return fees\n .filter((fee) => fee.feeType === 'REQUIRED' || optionalFeeIds.includes(fee.id))\n .reduce((total, fee) => total + fee.amount, 0);\n}\n\n/**\n * Client-side pre-check mirroring the server's required-answer rule, so the\n * family sees what is missing before a round trip. The server stays the\n * authority on every rule.\n */\nexport function missingRequiredAnswer(\n fields: AthRegistrationField[],\n state: RegistrationEntryState\n): string | null {\n if (!state.participantName.trim()) return 'Participant name';\n for (const field of fields) {\n if (!field.required) continue;\n const value = state.answers[field.key];\n if (\n field.fieldType === 'CHECKBOX'\n ? value !== true\n : value === undefined || String(value).trim() === ''\n ) {\n return field.label;\n }\n }\n return null;\n}\n\n/** Strip blank answers so optional unanswered questions are simply omitted. */\nexport function cleanAnswers(\n answers: Record<string, AthRegistrationAnswerValue>\n): Record<string, AthRegistrationAnswerValue> {\n return Object.fromEntries(\n Object.entries(answers).filter(\n ([, value]) => !(typeof value === 'string' && value.trim() === '')\n )\n );\n}\n"],"mappings":";AAuBA,IAAa,IAAmD;CAC9D,iBAAiB;CACjB,aAAa;CACb,cAAc;CACd,cAAc;CACd,SAAS,CAAC;CACV,gBAAgB,CAAC;CACjB,gBAAgB;CAChB,yBAAyB;AAC3B;AAGA,SAAgB,EAAkB,GAA4B,GAAkC;CAC9F,OAAO,EACJ,QAAQ,MAAQ,EAAI,YAAY,cAAc,EAAe,SAAS,EAAI,EAAE,CAAC,EAC7E,QAAQ,GAAO,MAAQ,IAAQ,EAAI,QAAQ,CAAC;AACjD;AAOA,SAAgB,EACd,GACA,GACe;CACf,IAAI,CAAC,EAAM,gBAAgB,KAAK,GAAG,OAAO;CAC1C,KAAK,IAAM,KAAS,GAAQ;EAC1B,IAAI,CAAC,EAAM,UAAU;EACrB,IAAM,IAAQ,EAAM,QAAQ,EAAM;EAClC,IACE,EAAM,cAAc,aAChB,MAAU,KACV,MAAU,KAAA,KAAa,OAAO,CAAK,EAAE,KAAK,MAAM,IAEpD,OAAO,EAAM;CAEjB;CACA,OAAO;AACT;AAGA,SAAgB,EACd,GAC4C;CAC5C,OAAO,OAAO,YACZ,OAAO,QAAQ,CAAO,EAAE,QACrB,GAAG,OAAW,EAAE,OAAO,KAAU,YAAY,EAAM,KAAK,MAAM,GACjE,CACF;AACF"}
|
|
@@ -37,6 +37,7 @@ export declare const useUpdateTeam: () => import('@tanstack/react-query').UseMut
|
|
|
37
37
|
input: AthUpdateTeamInput;
|
|
38
38
|
}, unknown>;
|
|
39
39
|
export declare const useArchiveTeam: () => import('@tanstack/react-query').UseMutationResult<boolean, Error, string, unknown>;
|
|
40
|
+
export declare const useUnarchiveTeam: () => import('@tanstack/react-query').UseMutationResult<boolean, Error, string, unknown>;
|
|
40
41
|
export declare const useAddMember: () => import('@tanstack/react-query').UseMutationResult<AthMember, Error, AthAddMemberInput, unknown>;
|
|
41
42
|
export declare const useRemoveMember: (teamId?: string) => import('@tanstack/react-query').UseMutationResult<boolean, Error, string, unknown>;
|
|
42
43
|
export interface FixtureFilters {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAthleteBridgeApi.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/useAthleteBridgeApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useAthleteBridgeApi.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/useAthleteBridgeApi.ts"],"names":[],"mappings":"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"}
|