## Summary This PR merges the completed new-appeal refactor stream (Slices 1–8) into SIPS-Development. This refactor was executed in controlled slices with regression validation at each step. ## Scope Structural and readability improvements only: - XML/form derivation extraction - payload and file helper extraction - side-effect facade introduction - BuildSection and BuildCheckSection decomposition - BuildCheckRow formatter map refactor - nested prop boundary cleanup - start-flow cleanup (CreateCase / AboutYou) ## Behaviour No intended behavioural changes. The following were explicitly preserved: - S78 journey behaviour - payload shapes and field names/ids - HASCAS mapping logic - appellant/agent branching - validation rules and messages - redirect/query parameters (`lpa`, `apt`, `id`) - navigation and side-effect sequencing - EN/CY output parity ## Validation Full regression has been performed on: - start flow (CreateCase / AboutYou) - save and resume flows - file upload handling - check answers rendering - submit/finalisation sequence - confirmation flow - CRM insertion path - EN/CY parity Additional checks: - docsOffline branch behaviour - completion and partial-save email paths - negative-path validation scenarios - lint (warnings baseline unchanged) ## Risk Low: - changes are structural only - no business logic changes - no contract changes ## Rollback Safe rollback via reverting this merge commit. ## Notes This refactor reduces coupling and prepares the new-appeal flow for future appeal-type expansion. Related work items: #22570, #22576, #22577, #22583, #22586, #22587, #22588, #22590
64 lines
2.3 KiB
JavaScript
64 lines
2.3 KiB
JavaScript
const ConfirmationCheckboxGroup = ({
|
|
downloadAppealForm,
|
|
onDownloadChange,
|
|
onConfirmChange,
|
|
downloadLabel,
|
|
confirmLabel,
|
|
paragraphOne,
|
|
paragraphTwo,
|
|
paragraphTwoLink
|
|
}) => {
|
|
return (
|
|
<div className="govuk-form-group ">
|
|
<fieldset className="govuk-fieldset">
|
|
<div className="govuk-checkboxes govuk-checkboxes--small">
|
|
<div className="govuk-checkboxes__item">
|
|
<input
|
|
name="pinswg_downloadAppealForm"
|
|
id="pinswg_downloadAppealForm"
|
|
type="checkbox"
|
|
className="govuk-checkboxes__input"
|
|
checked={downloadAppealForm}
|
|
onChange={onDownloadChange}
|
|
/>
|
|
<label
|
|
className="govuk-label govuk-checkboxes__label"
|
|
htmlFor="pinswg_downloadAppealForm"
|
|
>
|
|
{downloadLabel}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div className="govuk-checkboxes govuk-checkboxes--small">
|
|
<div className="govuk-checkboxes__item">
|
|
<input
|
|
name="pinswg_checkconfirmation"
|
|
id="pinswg_checkconfirmation"
|
|
type="checkbox"
|
|
className="govuk-checkboxes__input"
|
|
value=""
|
|
onChange={onConfirmChange}
|
|
/>
|
|
<label
|
|
className="govuk-label govuk-checkboxes__label"
|
|
htmlFor="pinswg_checkconfirmation"
|
|
>
|
|
{confirmLabel}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<div>
|
|
<p className="govuk-body">{paragraphOne}</p>
|
|
</div>
|
|
<div>
|
|
<p className="govuk-body">
|
|
{paragraphTwo} {paragraphTwoLink}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default ConfirmationCheckboxGroup;
|