Commit graph

176 commits

Author SHA1 Message Date
Arthur Bassi
d6179fcec5 refactor(work-orders): extract WoTableRow under maintainability limits 2026-07-30 10:40:55 -03:00
Arthur Bassi
3004d039aa fix(work-orders): address SH-116 CompDoc review blockers
Gate CompDoc on selected service, use real pm titles only,
make Address editable via location update, and wire media
to the board API with categories instead of blob state.
2026-07-30 09:04:03 -03:00
Arthur Bassi
2d64c34898 fix(work-orders): extract docStatus mapper for governance ratchet
Keep work-order-mapper under the frozen line cap and cap addDispatchSignoff params.
2026-07-29 09:31:15 -03:00
Arthur Bassi
6869ef70ee chore(work-orders): sync feature/wo-detail-comp-doc with current dev 2026-07-29 09:24:51 -03:00
Arthur Bassi
188499155e fix(work-orders): persist docStatus via board PATCH with NotNeeded mapping
Map API NotNeeded to UI NN on read. Emit board PATCH Yes|No|NotNeeded on
write, and keep DocStatus off the EditWorkorder payload.
2026-07-29 09:23:34 -03:00
Alexandre Brandizzi
2d0917f052
chore(deps): apply controlled security updates (#56)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
2026-07-29 07:20:23 -03:00
Arthur Bassi
b7056f569e fix(work-orders): persist completion doc fields without race
Map docStatus through the real update payload, serialize concurrent
table patches per work order, and split CompDoc UI for governance.
2026-07-28 12:49:51 -03:00
Arthur Bassi
725efd2703 feat(work-orders): slim completion-doc UI onto current dev
Keep SH-116 CompDocDialog wiring and completedDate board contract.
Drop slide-over ownership (SH-112) so it stays in PR #32.
2026-07-27 09:47:46 -03:00
Alexandre Brandizzi
94bd10245b
Merge pull request #44 from Sea-Haven-Industries/feature/wo-dispatch-shell
Some checks failed
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
feat(work-orders): add dispatch detail shell
2026-07-24 18:56:51 -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
4845494af5
Merge pull request #30 from Sea-Haven-Industries/feature/wo-board-foundation
feat(ui): add loading/error primitives and FormData upload fix
2026-07-24 18:51:32 -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
2d2fe0d9f9
Merge pull request #43 from Sea-Haven-Industries/feature/wo-wizard-shell
feat(work-orders): add board wizard shell UI
2026-07-24 18:46:16 -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
4337cc662b
chore(governance): enforce frontend quality system (#53)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
* chore(governance): make React/TS conventions mandatory via executable gates

Add AGENTS.md, QUALITY_GATES.md, ARCHITECTURE_AND_CODE_QUALITY.md, and
REVIEW_AND_PR_FRAMEWORK.md as the binding conventions and PR review
contract for humans and all coding/review agents.

Add a single 'npm run verify' command (format + lint + build + test +
governance) and 'npm run governance', which runs a dependency-free godfile
ratchet (whole-repo, baseline in scripts/governance-baseline.json) and a
changed-file maintainability gate (complexity<=20, function<=150, params<=4,
depth<=4) via ESLint. Legacy is handled by ratchets, not relaxation: 5
godfiles over 500 lines are grandfathered debt; maintainability thresholds
apply to changed TS/TSX (72 legacy violations across ~51 files otherwise).

Add a repo-owned 'governance' CI job that runs 'npm run verify' so every
gate is guaranteed from this repository, independent of the org reusable
workflow.

* fix(governance): make frontend ratchets fail closed
2026-07-24 16:47:34 -03:00
Alexandre Brandizzi
33001aac74
Merge pull request #40 from Sea-Haven-Industries/feature/wo-table-core
Some checks are pending
CI / ci (push) Waiting to run
Deploy / deploy (push) Waiting to run
feat(work-orders): add board table core and filters
2026-07-24 14:08:45 -03: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
45f4272cf7
Merge pull request #39 from Sea-Haven-Industries/feature/wo-board-shell
feat(work-orders): add weekly board page shell and list chrome
2026-07-24 13:50:29 -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
afb8ce67aa
Merge pull request #50 from Sea-Haven-Industries/codex/vendor-core-completion-frontend
Complete vendor directory and work-order vendor editing
2026-07-24 13:24:29 -03:00
Alexandre Brandizzi
17ab9845fb fix(test): remove unused week helper import 2026-07-24 13:10:44 -03:00
Alexandre Brandizzi
620ac65153 fix(lint): enforce error typography composition 2026-07-24 11:36:30 -03:00
Alexandre Brandizzi
392af77b91 refactor(ui): enforce maintainable conditional feedback 2026-07-24 11:32:58 -03:00
Arthur Bassi
01351b3f33 test(work-orders): cover missing checklist completedBy provenance
Regression: null/empty/whitespace completedBy shows Unknown, never the viewer.
2026-07-24 10:11:43 -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
878e1d6a92 test(work-orders): cover New WO wizard open/close affordance 2026-07-24 10:11:38 -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
Arthur Bassi
df2b5803a1 fix(test): cast canceled status in board-core fixture 2026-07-24 10:10:20 -03:00
Arthur Bassi
5e30c07c79 fix(test): align board-core affordance fixtures with WorkOrderTableRow 2026-07-24 10:07:15 -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
Alexandre Brandizzi
bbbb51aed5 feat(vendors): complete core vendor workflows 2026-07-23 17:36:21 -03:00
Alexandre Brandizzi
20237f8142
feat(vendors): align directory UI with current prototype (#46)
Some checks are pending
CI / ci (push) Waiting to run
Deploy / deploy (push) Waiting to run
* feat(vendors): align directory UI with prototype

* fix(vendors): report the filtered total

* fix(vendors): keep company input in sync

* fix(vendors): scope facets to directory status
2026-07-23 15:23:03 -03:00
Arthur Bassi
c97d752dd6 fix(work-orders): hide CompDoc affordance until dialog slice
Omit onOpenCompDoc on board-core so View Doc/Draft are not no-ops.
2026-07-23 14:06:05 -03:00
Arthur Bassi
becc4913e3 fix(work-orders): hide unfinished affordances and route View to detail 2026-07-23 13:49:53 -03:00