fix(manage): style Orientations tab rows by using defined CSS module classes (#1687)#1698
Conversation
7784307 to
35659b0
Compare
steilerDev
left a comment
There was a problem hiding this comment.
[ux-designer]
Reviewed PR #1698 against the ManagePage design pattern (AreasTab and TradesTab as reference).
Token / class adherence — PASS
All five previously undefined class references now resolve to valid definitions in ManagePage.module.css:
| Old (undefined) | New (defined) |
|---|---|
styles.listContainer |
styles.itemsList |
styles.listItem |
styles.itemRow |
styles.actions (edit row) |
styles.editActions |
styles.button (save) |
styles.saveButton |
styles.itemHeader |
styles.itemInfo |
styles.itemContent |
styles.itemDetails |
styles.itemMeta |
styles.itemSortOrder |
No new CSS was added — the fix is purely reuse of existing, already token-compliant classes. No hardcoded values introduced.
View-mode structure parity — PASS
The restructured view-mode JSX matches the TradesTab pattern precisely:
itemInfo > itemDetails > (span.itemName + span.itemDescription?) + span.itemSortOrder
div → span for itemName, itemDescription, and itemSortOrder is correct: these are inline text nodes inside a flex container, and span is semantically appropriate (consistent with AreasTab and TradesTab).
itemSortOrder now renders #N with a title attribute for the sort order label — matching the other tabs.
Accessibility — PASS
Edit and delete buttons carry aria-label={t('manage.orientations.edit/delete') + ' ' + orientation.name}, following the same pattern as all other tabs. No aria regressions.
No itemSwatch — correct
OrientationsTab correctly omits itemSwatch (the color swatch used by AreasTab). Orientations have no color field.
Verdict: APPROVE
The fix correctly resolves the broken CSS class references and achieves visual and structural parity with the established Manage-tab pattern. No design-system violations introduced.
|
[product-architect] APPROVE — architecture compliance, code quality, and test coverage all pass. Verdict: ApproveMinimal, mechanical CSS-class alignment fix for #1687. Verified thoroughly: Fix correctness ✅
No behavior/accessibility loss ✅
Test coverage ✅
Architecture notes
Non-blocking observationThe diff shows dependency version bumps ( |
OrientationsTab referenced undefined CSS module classes so orientation rows rendered completely unstyled. Mapped all class references to the existing defined classes used by TradesTab and other Manage tabs (itemsList/itemRow/itemInfo/itemDetails/itemSortOrder/itemActions/ editActions/saveButton) and restructured view-mode JSX to match TradesTab layout. Added 20 unit tests covering both view and edit modes of OrientationsTab, and a deep-link E2E test verifying the Orientations tab is selected when navigating directly to #orientations. Fixes #1687 Co-Authored-By: Claude dev-team-lead (Sonnet 4.6) <[email protected]> Co-Authored-By: Claude frontend-developer (Haiku 4.5) <[email protected]> Co-Authored-By: Claude qa-integration-tester (Sonnet 4.5) <[email protected]> Co-Authored-By: Claude e2e-test-engineer (Sonnet 4.5) <[email protected]>
35659b0 to
15ae12a
Compare
|
🎉 This PR is included in version 2.8.0-beta.17 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
styles.orientationRow,styles.orientationName) so all orientation rows rendered completely unstyleditemsList,itemRow,itemInfo,itemDetails,itemSortOrder,itemActions,editActions,saveButton) and restructuring view-mode JSX to match TradesTab layout#orientationsFixes #1687
Test plan
settings-manage.spec.ts) verifies#orientationshash selects the correct tabCo-Authored-By: Claude dev-team-lead (Sonnet 4.6) [email protected]
Co-Authored-By: Claude frontend-developer (Haiku 4.5) [email protected]
Co-Authored-By: Claude qa-integration-tester (Sonnet 4.5) [email protected]
Co-Authored-By: Claude e2e-test-engineer (Sonnet 4.5) [email protected]