Arthur Bassi
9c7b42e96b
feat(work-orders): SH-132 FE — Due Date distinct from Schedule On + Emergency calendar modal ( #82 )
...
* feat(work-orders): align Due Date and Past Due with SH-132 FE contract [SH-132]
* fix(work-orders): highlight Schedule On for unscheduled rows
Restore forceScheduleHighlight for Unscheduled section rows while keeping Due Date highlight for past-due and attempt feedback.
Co-authored-by: Cursor <cursoragent@cursor.com>
* test(work-orders): cover unscheduled Schedule On highlight [SH-132]
Add row-level public-interface regression proving Unscheduled rows force-highlight Schedule On, not Due Date (SH-165).
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-11 13:49:41 -03:00
Alexandre Brandizzi
c0e203a090
feat(uplifts): complete SH-101 vendor workflow
2026-08-11 08:57:38 -03:00
arthur.bassi
0beb54b3a4
fix(work-orders): clear stale POCs and guard site-dialog draft state
...
Clear additional contacts on site change, omit additionalContacts from site-only patches unless dirty or known from GET, and dirty-guard Query refetch while editing.
2026-08-10 19:09:31 -03:00
arthur.bassi
5108f0e816
fix(work-orders): preserve dirty POC fields during site autofill
...
Only autofill empty POC name/phone when location detail resolves so createMode edits typed before the request finishes are not overwritten.
2026-08-10 19:09:22 -03:00
arthur.bassi
55449a9e31
merge(work-orders): sync with platform-polish tip
2026-08-10 19:07:45 -03:00
arthur.bassi
f4cfafd7a6
fix(work-orders): single Unscheduled disclosure control for a11y
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 19:07:11 -03:00
arthur.bassi
c8a8522499
fix(work-orders): send wizard status and clear POC notes on site change
...
Map draft.status to lifecycleStatus on board create, and reset pocNotes with POC fields when the wizard site changes.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 19:06:35 -03:00
arthur.bassi
d44cda05d9
merge(work-orders): sync platform-polish with wizard-board-create tip
2026-08-10 19:04:28 -03:00
arthur.bassi
e2a11926e0
fix(work-orders): use local calendar day for completedDate
...
Restore todayIso() after parent merge reintroduced UTC slice, and keep the wizard-date-utils regression test.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 19:03:07 -03:00
arthur.bassi
150eb86bf1
merge(work-orders): sync wizard-board-create with slide-over-media tip
2026-08-10 18:58:06 -03:00
arthur.bassi
a05e768115
fix(work-orders): address Bugbot findings on slide-over and vendor roster
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 18:35:28 -03:00
Arthur Bassi
c850be2aeb
fix(work-orders): compare completion labels via string helper
...
[recover] remove malicious eslint payload (was 19dfa0f9 )
2026-08-10 17:12:14 -03:00
Arthur Bassi
6fe1cd0f27
fix(work-orders): remove legacy completedDate EditWorkorder path
...
[recover] remove malicious eslint payload (was f4e6132b )
2026-08-10 17:12:14 -03:00
Arthur Bassi
2ed770bc79
fix(work-orders): separate Unscheduled header collapse and Add WO controls
...
[recover] remove malicious eslint payload (was ccec7322 )
2026-08-10 17:12:13 -03:00
Arthur Bassi
2eb5359d82
fix(work-orders): address wizard create review findings
...
[recover] remove malicious eslint payload (was 166c63e4)
2026-08-10 17:12:13 -03:00
Arthur Bassi
d72be8c505
fix(work-orders): use local calendar day for slide-over completedDate
...
[recover] remove malicious eslint payload (was 6a278c01 )
2026-08-10 17:12:13 -03:00
Arthur Bassi
cfb0e7ea45
fix(work-orders): persist additionalContacts on create and board PATCH [SH-218]
...
[recover] remove malicious eslint payload (was 3f372257 )
2026-08-10 17:12:11 -03:00
Arthur Bassi
0ce63b9740
test(work-orders): cover completed date board read mapping
...
[recover] remove malicious eslint payload (was 0548bbb4 )
2026-08-10 17:12:11 -03:00
Arthur Bassi
31c5559d23
fix(work-orders): clear uplift form state only after successful mutations
...
[recover] remove malicious eslint payload (was 380188af )
2026-08-10 17:12:10 -03:00
Arthur Bassi
ebc2e9a1e5
fix(work-orders): extract inline dialog state and enable Schedule On clear
...
[recover] remove malicious eslint payload (was 552c2daf )
2026-08-10 17:12:09 -03:00
arthur.bassi
cd4b8d27fd
fix(work-orders): seed CompDoc address after location settles [SH-116]
2026-08-06 10:14:29 -03:00
arthur.bassi
bfc230d421
fix(work-orders): harden CompDoc generate seed persist and blob revoke
2026-08-05 10:54:33 -03:00
arthur.bassi
7ea0d2c464
fix(work-orders): refresh CompDoc on Generate failure and drop EditWorkorder date helper
...
Invalidate board/location queries when Save Draft or Generate fails so partial
prerequisite writes stay authoritative, and remove the unused CompDoc
mapCompletedDateUpdateFormData EditWorkorder helper.
2026-08-04 16:27:59 -03:00
arthur.bassi
65d75ca372
fix(work-orders): persist CompDoc prerequisites before Generated status
...
Also register retry AbortControllers so cancel aborts the active upload attempt.
2026-08-04 15:03:28 -03:00
Alexandre Brandizzi
0027ecc41f
Merge remote-tracking branch 'origin/dev' into feature/wo-detail-comp-doc
2026-08-04 10:30:37 -03:00
Alexandre Brandizzi
4b88a60751
fix(vendors): remove preferred contact and fix trade ordering ( #63 )
...
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
Alexandre Brandizzi
509b3c3212
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-07-31 12:24:31 -03:00
Arthur Bassi
b2d44944ab
fix(work-orders): resolve CompDoc/dev merge type and maintainability issues
2026-07-30 11:09:05 -03:00
Arthur Bassi
e3aa69e577
chore(work-orders): sync feature/wo-detail-comp-doc with current dev
2026-07-30 10:59:22 -03:00
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
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
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
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
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
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