Commit graph

310 commits

Author SHA1 Message Date
arthur.bassi
99724f831c fix(work-orders): adapt Add-On indicator unstack onto independently approvable base
Extract inline schedule cell for the maintainability gate, drop completedDate
patch coverage that is not on WorkOrderTableRow on dev, and align range create
expectations with assignWizardScheduleFields.
2026-08-11 15:42:29 -03:00
arthur.bassi
8398a08b76 fix(work-orders): add completedDate to unscheduled highlight fixture
Unblocks tsc after merging origin/dev with the required table-row field.
2026-08-11 15:41:49 -03:00
Arthur Bassi
017820ac4b fix(work-orders): add completedDate to unscheduled highlight fixture
Keep the merged origin/dev test building against WorkOrderTableRow after
the CompDoc completedDate field landed on this branch.
2026-08-11 15:35:42 -03:00
arthur.bassi
94f07fb66f chore(work-orders): merge origin/dev into completedDate column branch
Align merge-base so vendor files matching dev drop out of the PR diff.
2026-08-11 15:31:57 -03:00
arthur.bassi
c9637afbd8 fix(work-orders): drop unrelated vendor changes from completedDate PR
Keep SH-216 scoped to the completedDate board column only.
2026-08-11 15:29:44 -03:00
arthur.bassi
dd60b1d72e fix(work-orders): allow comp-doc generate without existing completion document
canGenerateCompDoc now ignores the completion-document closability gap so PM/Overdue drafts can enter generation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 15:28:00 -03:00
arthur.bassi
67c4ee8119 fix(work-orders): only block Completed on evidenced pending uplift
Absence of optional uplift fields means no pending, per SH-188.
2026-08-11 15:28:00 -03:00
arthur.bassi
a3e9a20477 fix(work-orders): fail closed on unknown uplift status 2026-08-11 15:28:00 -03:00
arthur.bassi
ccfb3d9e6d fix(work-orders): split status cell to satisfy max-lines-per-function 2026-08-11 15:27:59 -03:00
arthur.bassi
6b415f732c fix(work-orders): unify closability with sh-114 and pending uplift 2026-08-11 15:26:21 -03:00
arthur.bassi
f5414e4b14 feat(work-orders): block completed when uplift is pending 2026-08-11 15:26:21 -03:00
Arthur Bassi
1005186ea7 Merge branch 'dev' into feature/wo-detail-comp-doc 2026-08-11 15:23:55 -03:00
Arthur Bassi
f666ee215d test(work-orders): cover site dialog POC autofill races 2026-08-11 15:15:02 -03:00
arthur.bassi
56f007bcf2 style(work-orders): format addon-indicator doc after unstack rebase 2026-08-11 15:13:51 -03:00
Arthur Bassi
8a2bc21845 fix(work-orders): sync addon-indicator with platform-polish parent
[recover] remove malicious eslint payload (was 692598b7)
2026-08-11 15:08:27 -03:00
Alexandre Brandizzi
2cf33ca6c1
Merge pull request #114 from Sea-Haven-Industries/feat/sh-101-uplift-lifecycle
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
CI / vendor-visual-regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
feat(uplifts): complete vendor approval lifecycle (SH-101)
2026-08-11 15:01:09 -03:00
Arthur Bassi
969f99a576 fix(work-orders): send workOrderVersion on media categorize/delete
Align CompDoc media mutations with backend PR #47 so categorize and
delete no longer return 422 WorkOrderVersionRequired.
2026-08-11 14:52:41 -03:00
Adam Moussa
4949508d43
Merge branch 'dev' into feat/sh-101-uplift-lifecycle 2026-08-11 13:35:55 -04:00
Arthur Bassi
f35fce9bd5
feat(work-orders): comment @mentions autocomplete (SH-217) (#91)
* docs(work-orders): add pending BE contract checklist for design parity gaps

* feat(work-orders): add mentions in work-order comments composer

* docs(work-orders): align pr description with jira and qa residuals

* refactor(workorders): split work order view page into view components

* fix(work-orders): export comment assignment vendor input types for view hook

* fix(work-orders): drop preferredContact from vendor update payload

Align with WorkOrderVendorUpdatePayload on current dev so the mentions branch typechecks.

* fix(work-orders): remove Preferred Contact from WO vendor editor (SH-180)

EOF

* fix(work-orders): harden comment mentions and clear draft on success

* fix(work-orders): harden mention highlight boundary and submit catch [SH-217]

* fix(work-orders): keep mention cursor sync on current value [SH-217]

* fix(work-orders): keep mention menu open after typing @

Pass live text into syncCursor instead of a render-time valueRef.
Add a composer interaction regression for @ autocomplete visibility.

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 14:07:02 -03:00
arthur.bassi
4637f3ab14 chore: merge origin/dev into slide-over media branch
Sync with latest dev and add completedDate to the unscheduled highlight
fixture so the merge build stays type-safe.
2026-08-11 14:02:42 -03:00
Arthur Bassi
a30ac73d29
feat(work-orders): draft technician until vendor dialog save (SH-193) (#89)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
CI / vendor-visual-regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
* docs(work-orders): add pending BE contract checklist for design parity gaps

* feat(work-orders): add technician affordance in wo vendor dialog

* fix(work-orders): defer technician create until vendor dialog save

* docs(work-orders): align pr description with jira and qa residuals

* fix(vendors): harden draft technician optional field typing

* refactor(workorders): extract vendor dialog body footer and save hook

* fix(work-orders): coerce null company vendor for add-technician prop

* fix(work-orders): preserve draft technician staging on save [SH-193]

* fix(work-orders): select technicians by stable id [SH-193]

Keep selectedKey as explicit dialog state (SiteDialog pattern) so same-name drafts do not collide with existing vendors, and cover the regression with interaction tests.

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 14:01:31 -03:00
arthur.bassi
251edd9c61 fix(work-orders): drop vendor collateral from slide-over PR
Restore vendors and page-header to origin/dev so this PR stays the WO
slide-over/media slice only. Remove stale godfile baseline entries now
under the 500-line cap.
2026-08-11 13:54:31 -03:00
Alexandre Brandizzi
b177987081
Merge branch 'dev' into feat/sh-101-uplift-lifecycle 2026-08-11 13:52:26 -03:00
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
95fb97ea3f
Merge branch 'dev' into feat/sh-101-uplift-lifecycle 2026-08-11 13:49:38 -03:00
Alexandre Brandizzi
34ebad390f fix(uplifts): align revise validation contract 2026-08-11 13:49:03 -03:00
dependabot[bot]
ced5405746
chore(deps): bump the npm_and_yarn group across 1 directory with 3 updates (#113)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
CI / vendor-visual-regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
Bumps the npm_and_yarn group with 3 updates in the / directory: [fast-uri](https://github.com/fastify/fast-uri), [js-yaml](https://github.com/nodeca/js-yaml) and [postcss](https://github.com/postcss/postcss).


Updates `fast-uri` from 3.1.4 to 3.1.5
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5)

Updates `js-yaml` from 4.3.0 to 4.3.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.0...4.3.1)

Updates `postcss` from 8.5.18 to 8.5.26
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.18...8.5.26)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: js-yaml
  dependency-version: 4.3.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-version: 8.5.26
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-11 10:21:42 -03:00
Arthur Bassi
f66284d78c Merge remote-tracking branch 'origin/dev' into feature/wo-detail-comp-doc 2026-08-11 09:47:20 -03:00
Alexandre Brandizzi
889812f90f
Merge branch 'dev' into feat/sh-101-uplift-lifecycle 2026-08-11 09:02:37 -03:00
Alexandre Brandizzi
47272a0afc
Merge pull request #97 from Sea-Haven-Industries/feat/sh-98-portal-lifecycle-recovered
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
CI / vendor-visual-regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
feat(vendor-portal): complete request lifecycle (SH-98)
2026-08-11 09:01:54 -03:00
Alexandre Brandizzi
c0e203a090 feat(uplifts): complete SH-101 vendor workflow 2026-08-11 08:57:38 -03:00
Alexandre Brandizzi
bd12351c87
Merge branch 'dev' into feat/sh-98-portal-lifecycle-recovered 2026-08-11 08:53:28 -03:00
Alexandre Brandizzi
1cba10b9a8
Merge pull request #93 from Sea-Haven-Industries/feat/sh-237-sh-238
fix(vendors): complete shell and visual parity gates
2026-08-11 08:52:51 -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
d52df52de6 fix(vendors): restore blank-tech filter and deactivation gate
Omit empty new technician rows on save and route Active to Inactive through VendorDeactivationDialog, blocking sparse isActive:false updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 19:08:01 -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
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
Alexandre Brandizzi
bc5659eb2a fix(vendor-portal): clear stale refusal state 2026-08-10 18:25:57 -03:00
arthur.bassi
767f0df43f Merge remote-tracking branch 'origin/dev' into feature/wo-detail-comp-doc 2026-08-10 18:13:40 -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
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
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
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
Alexandre Brandizzi
3f4d64d7b6 fix: guard pending refusal dialog 2026-08-10 13:31:12 -03:00
Alexandre Brandizzi
4d2ee40d60 feat(vendor-portal): complete request lifecycle (SH-98) 2026-08-10 13:16:26 -03:00
Alexandre Brandizzi
cc0df8f569 fix(vendors): complete shell and visual parity gates 2026-08-10 12:11:38 -03:00
Alexandre Brandizzi
78ed8571a0
Merge pull request #76 from Sea-Haven-Industries/albrand/vendor-prototype-parity
Some checks failed
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
fix(vendors): match prototype directory experience
2026-08-07 15:43:39 -03:00
Alexandre Brandizzi
e9d556cf9a Merge remote-tracking branch 'origin/dev' into albrand/vendor-prototype-parity
# Conflicts:
#	e2e/vendors/vendors.spec.ts
#	src/app/(protected)/vendors/_components/vendors-list-toolbar.tsx
#	src/app/(protected)/vendors/_components/vendors-table.tsx
2026-08-07 11:32:36 -03:00
Arthur Bassi
88216520d8
fix(vendors): align Vendors list UI with design specs (SH-219) (#92)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
* docs(work-orders): add pending BE contract checklist for design parity gaps

* fix(vendors): align list header, Total Jobs, and Filters with design (SH-219)

* test(vendors): align e2e subtitle with SH-219 technicians copy

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 11:12:45 -03:00
Alexandre Brandizzi
fca5487f6d fix(vendors): enforce prototype visual geometry 2026-08-06 23:30:23 -03:00