shoc-frontend-new/src/test/app/v
npal a93747f119 refactor(vendor-portal,settings): move state and fetch logic into hooks (SH-378)
vendor-portal-provider.tsx and task-templates.tsx mixed data-fetching,
state, and rendering in one file, with no caching and hand-rolled form
state. This is a pure refactor with no behavior change.

- vendor-portal-provider.tsx: replace manual useEffect/useState fetch
  with useVendorPortalSession (useQuery), closing the token race
  condition the old key={token} remount was working around
- task-templates.tsx: split into useTaskTemplateEditor hook plus 4
  presentational components; replace hand-rolled form state with
  react-hook-form + zod validation; replace the "new" string sentinel
  with a NEW_TEMPLATE_ID constant
- add 29 tests (hook, component, and full-page integration) confirming
  identical behavior to the original code
2026-09-17 18:05:06 -05:00
..
dispatch-detail-sections.test.tsx feat(uplifts): complete SH-101 vendor workflow 2026-08-11 08:57:38 -03:00
dispatch-snapshot-details.test.tsx fix(vendor-portal): align locked banner with comments-only actions 2026-08-12 11:25:41 -03:00
refuse-dispatch-dialog.test.tsx fix(vendor-portal): clear stale refusal state 2026-08-10 18:25:57 -03:00
signoff-section.test.tsx fix(vendor-portal): clear stale refusal state 2026-08-10 18:25:57 -03:00
uplift-request-form.test.tsx fix(uplifts): align revise validation contract 2026-08-11 13:49:03 -03:00
vendor-portal-documents.test.tsx Complete vendor operations roadmap frontend (#52) 2026-07-24 18:10:45 -03:00
vendor-portal-provider.test.tsx refactor(vendor-portal,settings): move state and fetch logic into hooks (SH-378) 2026-09-17 18:05:06 -05:00