Alexandre Brandizzi
40ce66fbb3
fix(vendors): keep Company label visible after scroll ( #150 )
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
* fix(vendors): keep Company label visible after scroll
* test(vendors): align Add Vendor visual baseline with CI
* test(vendors): prove full label visibility after scroll
---------
Co-authored-by: Codex Review Integration <codex-review@local.invalid>
2026-08-27 20:52:42 +00:00
Alexandre Brandizzi
7ec522e8ea
fix: complete SH-283 vendor QA paths ( #148 )
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
Co-authored-by: Codex Review Integration <codex-review@local.invalid>
2026-08-27 15:03:36 -03:00
Alexandre Brandizzi
3b1fe016fe
fix(vendors): clarify required company fields ( #146 )
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
* fix(vendors): clarify required company fields
* test(vendors): refresh company label snapshots
* refactor(vendors): isolate contact fields
---------
Co-authored-by: Codex Review Integration <codex-review@local.invalid>
Co-authored-by: Adam Moussa <166072409+amoussa1229@users.noreply.github.com>
2026-08-27 13:01:53 -04:00
Codex Review Integration
01a7a22c07
fix(vendors): remove obsolete trade reorder controls (SH-182)
2026-08-21 11:42:06 -03:00
Alexandre Brandizzi
326ac18eb0
Merge branch 'dev' into feat/sh-254-fe-deactivate-confirm
2026-08-20 11:15:10 -03:00
Codex Review Integration
670d03d572
test(vendors): update the deactivation e2e to the confirmation flow (SH-254)
...
The browser smoke encoded the behaviour this ticket changes: it asserted
the Deactivate button was disabled when work orders were linked. It now
asserts the opposite — the work orders are listed as links, "Deactivate
anyway" is enabled, and confirming sends confirmOpenWorkOrders=true.
Also fixes the mock's DELETE route, whose anchored pattern stopped
matching once the request carried a query string. The raced-409 case is
unchanged and still preserves the vendor.
2026-08-19 14:29:01 -03:00
Codex Review Integration
9624c264de
fix(vendors): send only user-edited company fields on additive add (SH-250)
...
Adversarial review found a last-writer-wins window: after a stale 409 the
roster is refetched while the form keeps its pre-conflict values, so the
form-vs-roster diff resent our stale value for any company field another
user changed in that window, silently reverting their edit.
Transmit only fields the user actually edited, taken from react-hook-form
dirty state. Selecting a company calls reset(), so loaded values are never
dirty and only genuine edits are sent.
dirtyFields is resolved during render: formState is a Proxy that only tracks
properties read at render time, so reading it inside the submit callback
returned empty. The vendors E2E caught that; unit tests could not, since
they pass the flags in directly.
2026-08-18 14:42:01 -03:00
Codex Review Integration
4d1f02b87d
test(vendors): e2e asserts additive PATCH and no destructive PUT from add flow (SH-250, SH-246)
2026-08-18 13:13:04 -03:00
Alexandre Brandizzi
c0e203a090
feat(uplifts): complete SH-101 vendor workflow
2026-08-11 08:57:38 -03:00
Alexandre Brandizzi
cc0df8f569
fix(vendors): complete shell and visual parity gates
2026-08-10 12:11:38 -03:00
Alexandre Brandizzi
fca5487f6d
fix(vendors): enforce prototype visual geometry
2026-08-06 23:30:23 -03:00
Alexandre Brandizzi
b61d46ce4b
fix(vendors): match prototype directory experience
2026-08-06 22:23:30 -03:00
Alexandre Brandizzi
ca7829036f
feat(vendors): add company roster workflows (SH-198) ( #64 )
...
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 )
...
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
b1cf3a0678
test(vendors): isolate mutable reactivation state
2026-07-28 17:22:42 -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
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
Alexandre Brandizzi
6ca45bc0ae
fix(vendors): preserve phone data across edits
2026-07-23 19:17:14 -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 )
...
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