Commit graph

73 commits

Author SHA1 Message Date
Arthur Bassi
d268ca3389 style(work-orders): fix prettier formatting on not-required actions
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 10:26:56 -03:00
Arthur Bassi
36d8e54d6d fix(work-orders): type comp-doc seed status for tsc
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 10:17:55 -03:00
Arthur Bassi
db2ca4d933 fix(work-orders): split comp-doc dialog hook under max-lines gate
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 10:10:54 -03:00
arthur.bassi
31dd9d5b72 fix(work-orders): wire slide-over media retry and cancel [SH-116] 2026-08-06 10:03:37 -03:00
arthur.bassi
118d2042e6 fix(work-orders): harden CompDoc state, persist rollback, and close gate 2026-08-05 10:07:34 -03:00
arthur.bassi
346760b973 fix(work-orders): harden CompDoc generate order and media abort ownership
Session owns AbortControllers for retry/cancel; refresh board state on Generate
prerequisite failures; remove dead EditWorkorder completedDate mapper.
2026-08-04 16:32:40 -03:00
Alexandre Brandizzi
c0d5e556f2 fix(work-orders): persist date before Generate and fix media retry cancel
Keep CompDoc from marking Generated until completedDate is saved.
Bind retry AbortControllers to the uploader cancel map with upsert-by-localId.
2026-08-04 15:10:37 -03:00
Alexandre Brandizzi
9074841125 fix(work-orders): restore patchField options and harden mutations tests
keep slide-over save callbacks working with the board patch queue.
2026-08-04 15:10:37 -03:00
Alexandre Brandizzi
e7fb8d6122 fix(work-orders): persist completedDate via board and media sh-116
leave EditWorkorder for completedDate; await mutations before draft saved
toast; upload-then-categorize with MIME allowlist, progress, cancel, retry.
2026-08-04 15:10:37 -03:00
Arthur Bassi
5ea79ce8d1 fix(work-orders): use completedDate in CompDoc without lifecycle Completed 2026-08-04 15:10:37 -03:00
Arthur Bassi
e1daf94be2 refactor(work-orders): split slide-over and CompDoc for governance
Extract focused hooks and sibling components so CompDoc, slide-over,
media uploader, and list page meet maintainability ratchets.
2026-08-04 15:10:37 -03:00
Arthur Bassi
ba80dbf961 fix(work-orders): preserve slide-over draft baseline on failed save 2026-08-04 15:10:37 -03:00
Arthur Bassi
8e0737f7fb fix(work-orders): preserve slide-over draft and gate media close 2026-08-04 15:10:37 -03:00
Arthur Bassi
6c481eaf7c fix(work-orders): preserve comment draft until mutation succeeds 2026-08-04 15:10:37 -03:00
Arthur Bassi
bbca86c9a7 feat(work-orders): board slide-over detail with comments, audit and media
# Conflicts:
#	src/app/(protected)/workorders/_components/comp-doc/comp-doc-dialog.tsx
#	src/app/(protected)/workorders/_components/detail/work-order-assignee-menu.tsx
#	src/app/(protected)/workorders/_components/detail/work-order-detail-sections.tsx
#	src/app/(protected)/workorders/_components/detail/work-order-slide-over.tsx
#	src/app/(protected)/workorders/_components/detail/work-order-status-menu.tsx
#	src/app/(protected)/workorders/_components/media/media-upload-modal.tsx
2026-08-04 15:10:37 -03:00
Alexandre Brandizzi
ca7829036f
feat(vendors): add company roster workflows (SH-198) (#64)
Some checks failed
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
* feat(vendors): support company roster workflows

* fix(vendors): address roster review feedback

* test(vendors): preserve draft on roster load failure

* fix(vendors): preserve current roster selection
2026-08-04 09:53:48 -03:00
Alexandre Brandizzi
4b88a60751
fix(vendors): remove preferred contact and fix trade ordering (#63)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
* fix(vendors): address SH-180 and SH-182

* refactor(vendors): satisfy maintainability gates
2026-08-03 17:53:39 -03:00
Arthur Bassi
e5300da9fb chore(work-orders): sync feature/wo-board-api with current dev 2026-07-30 09:05:33 -03:00
Alexandre Brandizzi
bcf63dffad refactor(vendors): satisfy maintainability gates 2026-07-28 17:27:34 -03:00
Alexandre Brandizzi
e6a3899f4c fix(vendors): make navigation and PO filters responsive 2026-07-28 17:16:50 -03:00
Alexandre Brandizzi
95cbfff301 fix(vendors): allow sparse reactivation updates 2026-07-28 17:16:07 -03:00
Arthur Bassi
6e99dc0af2 refactor(work-orders): pass board-api governance maintainability gate
Split oversized API/mapper/UI modules and extract focused helpers so the
exact head satisfies godfile and complexity ratchets without relaxing thresholds.
2026-07-28 09:56:27 -03:00
Arthur Bassi
e1ea198319 fix(work-orders): make board-api head build in isolation
Include wizard-service-notes-fields in this slice, keep ApiError export,
and align JSX/boolean lint plus save-id wiring after rebase onto dev.
2026-07-27 10:59:28 -03:00
Arthur Bassi
8ae54a6173 fix(work-orders): use overdue=true and harden board patch overlays 2026-07-27 10:26:35 -03:00
Arthur Bassi
3ea136ce3c feat(work-orders): integrate board list, search and field patch API 2026-07-27 10:19:34 -03:00
Alexandre Brandizzi
66cc892107 Merge remote-tracking branch 'origin/dev' into codex/pr44-current-base 2026-07-24 18:52:29 -03:00
Alexandre Brandizzi
09ed3693f6 refactor: enforce dispatch detail quality gates 2026-07-24 18:51:50 -03:00
Alexandre Brandizzi
fce531aeb0 Merge remote-tracking branch 'origin/dev' into codex/pr30-lint-fix 2026-07-24 18:46:55 -03:00
Alexandre Brandizzi
ea76a5d0ba chore: integrate repaired wizard foundation 2026-07-24 18:45:46 -03:00
Alexandre Brandizzi
07c8799a3f Merge remote-tracking branch 'origin/dev' into codex/pr30-lint-fix 2026-07-24 18:43:30 -03:00
Alexandre Brandizzi
ca9d9e9c2a chore: integrate current dev into board foundation 2026-07-24 18:43:22 -03:00
Alexandre Brandizzi
1c451e07b4 Merge remote-tracking branch 'origin/dev' into codex/pr43-dev-integration 2026-07-24 18:41:42 -03:00
Alexandre Brandizzi
2f5ee30020 refactor: align work order wizard with frontend standards 2026-07-24 18:41:30 -03:00
Alexandre Brandizzi
5b8d8a1dfc
refactor(work-orders): split advanced search state and sections (#54) 2026-07-24 17:35:53 -04:00
Alexandre Brandizzi
caecc05b68 Merge remote-tracking branch 'origin/dev' into codex/pr43-dev-integration
# Conflicts:
#	src/app/(protected)/workorders/index.tsx
#	src/test/app/(protected)/workorders/work-orders-board-core-affordances.test.tsx
2026-07-24 18:13:54 -03:00
Alexandre Brandizzi
45909e7aa6
Complete vendor operations roadmap frontend (#52)
* feat(vendors): complete operations roadmap frontend

* test(vendors): cover work order assignment flow

* fix(vendors): address review feedback

* fix(vendors): prevent stale preference saves

* fix(vendors): require truthful appointment bounds
2026-07-24 18:10:45 -03:00
Arthur Bassi
52e77dc197
feat(work-orders): add board advanced search UI (#42)
* feat(work-orders): add board advanced search UI

* fix(work-orders): wire Advanced Search sheet and cover SH-121 flow

* style(work-orders): format board fixture

---------

Co-authored-by: Arthur Bassi <arthur.winiarski.ranger@outlook.com>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-07-24 20:59:47 +00:00
Alexandre Brandizzi
ed12f59255 chore(work-orders): merge origin/dev into table-core branch
Integrate origin/dev (vendor module + maintainability conventions) after PR #39.

- Resolve src/app/(protected)/workorders/index.tsx conflict by keeping the
  PR #40 table rewrite (WoTable + WorkOrdersFilterBar); dev's only change to
  this file was a {Boolean(error)} lint fix on legacy filter UI that the
  rewrite already removed.
- work-order-mapper.ts auto-merged cleanly.
- Conform PR #40 table-core code to dev's new maintainability lint rules
  (seahaven/no-non-boolean-jsx-and, shared Text component for raw p/h
  elements, logical-AND for one-sided conditionals) using narrowing-preserving
  guards (!= null) where values flow into typed props, preserving behavior.

Validation (Node v24.14.0 / npm 11.9.0): npm ci, format:check, lint, build,
test (156/156) all green.
2026-07-24 14:04:15 -03:00
Alexandre Brandizzi
4f99406388 chore(work-orders): merge origin/dev into pr39 integration branch
Integrate current origin/dev (vendor-core completion plus frontend
maintainability) into the work-order board shell branch.

Resolved semantic conflicts against the new frontend-maintainability
ESLint conventions introduced on dev: guard non-boolean && left
operands with Boolean()/!=null and replace raw <p> with the shared
Text component (media-upload-modal). PR #39 board shell/detail modules
and hooks preserved; merged vendor-core behavior and Text/ESLint
conventions preserved.
2026-07-24 13:45:16 -03:00
Alexandre Brandizzi
9a88f0583b
Merge pull request #51 from Sea-Haven-Industries/codex/frontend-maintainability
chore(frontend): enforce maintainable text rendering
2026-07-24 13:24:35 -03:00
Alexandre Brandizzi
392af77b91 refactor(ui): enforce maintainable conditional feedback 2026-07-24 11:32:58 -03:00
Arthur Bassi
40c6e3cb3d fix(work-orders): never attribute checklist completion to viewer 2026-07-24 10:11:43 -03:00
Arthur Bassi
d2ff345965 feat(work-orders): add dispatch detail shell 2026-07-24 10:11:43 -03:00
Arthur Bassi
faa6396e56 fix(work-orders): mount New WO wizard on board page 2026-07-24 10:11:37 -03:00
Arthur Bassi
7fb4334405 feat(work-orders): add board wizard shell UI 2026-07-24 10:11:37 -03:00
Arthur Bassi
7df076f011 fix(work-orders): wire Advanced Search sheet and cover SH-121 flow 2026-07-24 10:11:32 -03:00
Arthur Bassi
4550acf1ea feat(work-orders): add board advanced search UI 2026-07-24 10:11:31 -03:00
Alexandre Brandizzi
6ca45bc0ae fix(vendors): preserve phone data across edits 2026-07-23 19:17:14 -03:00
Alexandre Brandizzi
21b7de57a1 chore(frontend): enforce maintainable text rendering 2026-07-23 18:48:15 -03:00
Alexandre Brandizzi
922d6c9a57 feat(vendors): edit assigned vendor from work order 2026-07-23 17:44:53 -03:00