Commit Graph
382 Commits
Author SHA1 Message Date
Robert Bond 05d83822f2 Merged PR 2261: added in text and ui redesign for rep type selection
added in text and ui redesign for rep type selection

Related work items: #22574
2026-04-21 04:59:01 +00:00
Robert Bond 37a81522d5 Merged PR 2260: refactor(representations): complete slice-based refactor of representations flow
## Representations Refactor — Behaviour-Preserving Structural Improvements

This PR delivers a full refactor of the representations flow, improving structure, readability, and maintainability while preserving all existing behaviour.

The work was completed using a controlled, slice-based approach with strict guardrails and regression validation at each step. No changes have been made to user journeys, payloads, routing, or EN/CY behaviour.

The result is a cleaner, more maintainable codebase with reduced coupling and clearer separation of concerns, ready for future enhancements without increased risk.

---

## What Was Done

The refactor was delivered incrementally across the following slices:

- **R1** — Representation entry logic extraction
- **R2** — Page loader separation (SSR/data orchestration)
- **R3** — Journey step resolution extraction
- **R4** — Flow shell decomposition
- **R5** — Representation elements normalisation
- **R6** — Data/service layer cleanup
- **R7** — Summary rendering proof slice
- **R8** — Submission/finalisation boundary isolation
- **R9** — Summary rollout (Batch 1)

Each slice:
- was isolated to a single concern
- followed strict guardrails
- was validated before merge

Full detail is available in:
`context/representations-refactor-tracker.md`

---

## Key Improvements

- Reduced coupling across the representations journey
- Separated data loading, orchestration, and rendering concerns
- Simplified complex conditional logic into testable helpers
- Standardised summary rendering using shared primitives (`SummaryCard`, `SummaryRow`)
- Isolated submission/finalisation sequencing into explicit boundaries
- Improved overall readability and maintainability

---

## Behaviour Preservation

This refactor does **not** change:

- User journeys (APP / IP / Agent / LPA)
- Route and query behaviour
- Payload contracts and API interactions
- Redux state shape and usage
- Validation rules and messaging
- EN/CY behaviour
- File upload / PDF / email sequencing
- Linked-case logic

All changes are structural only.

---

## Validation

### Automated

- `npm run lint` — passed (warnings only, no new errors)
- `npm run test:reps` — passed (7/7)

### Manual

Validated end-to-end across:

- APP
- IP
- Agent
- LPA

Including:

- representation creation
- editing/resuming representations
- submission flow
- confirmation/completion behaviour
- summary rendering across case types
- EN/CY parity

---

## Risk Management

The refactor targeted several high-risk areas:

- Case summary entry logic
- Representation submission/finalisation sequencing
- Dual-mode entry (new vs existing representation)

Risk was controlled through:

- small, incremental slices
- one branch per slice
- regression validation per slice
- strict behaviour-preservation guardrails
- controlled rollout for summary rendering changes

---

## Reviewer Guidance

Suggested areas to focus on:

- End-to-end representation journey (create → submit → complete)
- S...
2026-04-20 13:09:07 +00:00
Robert Bond c8b08a04a6 Merged PR 2250: fixed typo
Related work items: #22632
2026-04-16 10:47:54 +00:00
robbond 59d3ed287c 22541 expand breadcrumb route-state helpers for label and dns path reuse 2026-04-09 09:26:19 +01:00
robbond 1c06ef1639 22541 extract breadcrumb route-state helper and align phase22 auth locale test 2026-04-09 09:23:22 +01:00
robbond 1f5be7c9a2 pass in locale to questionnaire for welsh version 2026-04-08 16:50:47 +01:00
robbond c754e04034 batch uploads on frontend 2026-04-02 16:09:56 +01:00
robbond 13cd2514c7 ip app lpa ip can raise final comments 2026-03-30 12:34:48 +01:00
robbond 2c4d645d56 22151 multiple files issue 2026-03-27 11:25:41 +00:00
robbond 8ff1af00b7 updated query and display logic for post determination fields 2026-03-17 12:00:30 +00:00
robbond 8ecde91bd9 removed app if not an app in capacity 2026-03-17 11:15:54 +00:00
robbond c64c47ca1f languge check for relevant template language 2026-03-17 10:29:00 +00:00
robbond 7c84344d5d applied downloadable checkbox on submit of new appeal 2026-03-16 13:58:02 +00:00
robbond 071fcc0dab updated copy on representation complete submit 2026-03-16 12:07:39 +00:00
robbond 344b6efed1 chore(lint): unblock next lint and fix current eslint errors 2026-03-13 06:24:38 +00:00
robbond c4ad9ab7a2 refactor(actions): complete priority-1 consumer import migration pass 2026-03-12 13:26:48 +00:00
robbond a0a633a9ea refactor phase 3a components chunk 1 targeted actions imports 2026-03-12 12:13:29 +00:00
robbond aeec5e0f59 refactor phase 3 targeted actions imports 2026-03-12 07:39:06 +00:00
robbond f947821afa adjusted logic to cater for viewl all path and dnsapplications 2026-03-11 10:40:48 +00:00
robbond df311e131a fixed breacrumb and label 2026-03-10 18:02:37 +00:00
robbond 3e48f8cd28 correctly go back to the previous page search results 2026-03-10 10:31:16 +00:00
robbond 96e180040d fix for pdf formatting and hyperlinks 2026-03-09 13:11:28 +00:00
robbond 2c6d110d9b chekc box to download questionnaire 2026-03-09 12:13:24 +00:00
robbond 0e9a4da4be regex update to include apostrophe 2026-02-27 09:41:40 +00:00
robbond cfe732f299 included emdash in doc upload validation 2026-02-26 13:04:28 +00:00
robbond 5e46495e79 reference ticket number not title, caters for long titles 2026-02-20 11:58:35 +00:00
robbond 5013b967f3 reinstate sips rep button logic 2026-02-20 07:40:27 +00:00
robbond 53540911cc 21254 youtube media player 2026-02-04 11:22:11 +00:00
robbond ec067e62a5 21254 media tab 2026-02-04 11:21:05 +00:00
robbond 1b586da1ae 21187 implement helper function on summary 2026-01-27 11:58:40 +00:00
robbond 49374640e5 21187 add bilingual helper function 2026-01-27 11:57:44 +00:00
robbond dd12dc99da 21099 api serverside validation check 2026-01-21 13:17:03 +00:00
robbond e6b0b0763a 21099 update filename validation with # 2026-01-20 15:20:54 +00:00
robbond 4710d3e420 21097 remove ui for further details 2026-01-19 13:15:50 +00:00
robbond 9241fe0b84 updated restriction to disallow partial reps and appeals from being submitted when not docapi 2026-01-15 13:20:07 +00:00
robbond 5889c4093b Merge branch 'Development' into SIPS-Development 2025-12-02 14:03:48 +00:00
Robert Bond ab1df81745 Merged PR 2009: partial synch with ph2 updates
partial synch with ph2 updates

Related work items: #20553
2025-11-28 08:50:01 +00:00
robbond 3f4bd8d52e partial synch with ph2 updates 2025-11-28 08:45:13 +00:00
robbond 6a7806f5ea fixed ui misaligned button and wrong text 2025-11-18 07:57:09 +00:00
robbond 02a83700ba docoffline dependant appeals and reps 2025-11-10 06:22:31 +00:00
robbond 84aed438f8 19548 remove setcaseinvolvement 2025-10-28 11:17:08 +00:00
robbond 0b3cb9778b queued downloads and stream not buffer of downloads 2025-09-23 12:45:20 +01:00
robbond e9fc8816c1 url encode values corect for hash and remove .zip files allowed 2025-09-11 10:51:14 +01:00
robbond 92ceacb57b Merge branch 'Development' into SIPS-Development 2025-08-20 12:11:55 +01:00
robbond 95d5164b2f updated right click actions 2025-08-18 18:24:42 +01:00
robbond 21bba4a131 use ticketnumber not ref/title/pinswg_name 2025-08-12 12:52:43 +01:00
robbond 6fa2418b19 use ticketnumber not ref/title/pinswg_name 2025-08-12 07:20:17 +01:00
robbond f6cd76ed38 added chaining and a blank 2025-07-17 12:21:26 +01:00
robbond 8c07850486 added scrol ltop on complete 2025-07-08 09:11:50 +01:00
robbond 103c548e32 added scrolltop 2025-07-08 09:08:13 +01:00