Repository navigation
refactor(web): reconcile sales:status* duplicate onto shared enums:status (#182) - #254
Merged
Merged
Conversation
…atus (#182) The SalesPage status-filter dropdown and the voided-payment badge rendered their labels from sales-local statusDraft/statusConfirmed/statusCancelled/ statusVoided keys — a translated duplicate of enums:status.{Draft,Confirmed, Cancelled,Voided}. Since enums joined TRANSLATED_NAMESPACES the duplicate is no longer needed to avoid English-only labels. - SalesPage: 5 sites now render via statusLabel(...) (already imported/used elsewhere on the screen); option VALUEs (the server filter param) unchanged. - Delete the 4 sales keys from en/es/tl; keep sales:allOption (filter-only chrome with no enums equivalent). Behavior-preserving: enums:status values are byte-identical to the removed sales values in all three packs. - Add a wiring test proving the filter option TEXT reads enums:status while its VALUE stays the raw code (mutation-probed). Closes the 'reconcile sales:status* duplicate' follow-up tracked on #182. HistoryPage's separate history:status* set is out of scope (own vocabulary).
Closed
20 of 21 tasks
Owner
Author
Review — unanimous approve (codex + 2 Claude agents + pi)
Independently confirmed by reviewers:
Non-blocking suggestion (pi): a future multi-site/multi-locale test (voided badge + es/tl) would add breadth. The single wiring test + the removal's symmetry (caught by Verified: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the "Reconcile the temporary
sales:status*duplicate into a then-translated sharedenums:status" follow-up tracked on #182.What
The SalesPage status-filter dropdown (4 options) and the voided-payment badge rendered their labels from sales-local
statusDraft/statusConfirmed/statusCancelled/statusVoidedkeys — a translated duplicate ofenums:status.{Draft,Confirmed,Cancelled,Voided}. That duplicate existed only to avoid English-only labels back whenenumswasn't translated; sinceenumsjoinedTRANSLATED_NAMESPACESit's dead weight.statusLabel(...)(already imported and used elsewhere on the screen for the order-row badges). Option values (the server filter param) are untouched.saleskeys. Keepsales:allOption(filter-only "no status filter" chrome — noenumsequivalent).Behavior-preserving
enums:statusvalues are byte-identical to the removedsalesvalues in all three packs:Tests
enums:status.Confirmedflows through to the filter option text while its value stays the raw"Confirmed"code (mirrors the AuditPage precedent). Mutation-probed — hardcoding the label fails it.npm run test1141 green · typecheck clean ·buildsucceeds ·i18n:scanstill 3 (false positives) ·catalogParitygreen (packs stay symmetric).Scope
HistoryPage's separate
history:status*set (its own vocabulary incl.statusSubmitted) is out of scope — the tracker item namessalesspecifically.Not included
Unrelated local working-tree edits (
deploy/docker-compose.yml,web/vite.config.ts) are deliberately not in this branch.