Feature #3250
Updated by Bot AI about 2 months ago
### Overview Feature for the web side. 28 test case(s) generated. ### Requirement "UI Bug fixes" Attached file (read it directly for the real content): /opt/drcarrot-deploy/cross-repo-orchestration/contracts/.attachments/dev-hub-spec-twhXSJXa7BbAYdn2C-requirement-1.md Attached file (read it directly for the real content): /opt/drcarrot-deploy/cross-repo-orchestration/contracts/.attachments/dev-hub-spec-SCNiyQbx6bXCxZBaL-OMS_Screens__standalone___2_.html ### Explicit Constraints * Do not skip any requirement. _scope/implementation_ * We do not need the Status column in the Expenses List. Remove the Status column from the Expenses List. _screens/UI — Expenses List_ * Do not disable the field unless there is a specific business requirement. _screens/UI — New Expense Date field_ * Do not limit this fix only to Supplier and Project. Please review all list/table screens and identify columns that should support sorting. _scope — sorting implementation_ * No authenticated layout (Sidebar/Header) should remain visible after logout/session termination. _screens/UI — Reset Password / authentication flow_ * Do not leave stale authentication/session state in the application. _existing behavior — session/auth state_ * Fix the common/root cause wherever possible instead of creating screen-specific workarounds. _scope/implementation approach_ * Do not assume that fixing one screen means the requirement is complete. Check all applicable screens. _scope — coverage of fixes_ * The task should not be considered complete until every item above has been implemented and individually verified. _scope/completion criteria_ ### Acceptance Criteria (none extracted — spec-extract has not run for this session) ### Test Cases ☐ Every list screen that shows a Status column renders the status as a chip/badge element rather than plain text. ☐ Each status chip renders with the exact background color, text color, border/border-radius, padding, and typography specified in the OMS_Screens design reference for that status value. ☐ Status chip rendering is implemented as one reusable StatusChip component, and every list screen showing status imports and renders that same component rather than a screen-local copy. ☐ The Expenses List screen no longer renders a Status column at all. ☐ Status-related UI logic that is no longer needed (status filter controls, status-derived styling/sorting hooks tied to the removed column) is removed from the Expenses List implementation. ☐ The Date field on the New Expense screen is enabled/editable, not disabled. ☐ Clicking/triggering the New Expense Date field opens a working date picker. ☐ Selecting a different date in the New Expense date picker updates the Date field's value accordingly. ☐ The selected date on the New Expense screen is displayed using the correct, consistent date format. ☐ The date value selected on the New Expense screen is submitted correctly to the API when the expense is saved. ☐ On any list screen where the data set has only one row, the sort control/icon for that list's columns is hidden. ☐ On list screens with multiple rows, the sort control/icon is shown for columns that are sortable. ☐ The Supplier column supports sorting via the UI wherever it appears in a multi-row list. ☐ Sorting by the Supplier column is correctly applied via the backend/API, not only re-ordered client-side. ☐ The Project column supports sorting via the UI wherever it appears in a multi-row list. ☐ Sorting by the Project column is correctly applied via the backend/API, not only re-ordered client-side. ☐ Across all list/table screens, the sort icon appears only on columns that are genuinely sortable and never on non-sortable columns. ☐ Clicking a sortable column's control correctly toggles the list between ascending and descending order. ☐ The sort icon/UI state (direction indicator, active-column highlight) accurately reflects the list's actual applied sort state at all times. ☐ Backend/API sorting is correctly handled for every sortable column across all list/table screens, not just Supplier and Project. ☐ The Expenses Summary list no longer displays the literal text 'View Details' as its view action. ☐ The Expenses Summary view action is rendered as an icon matching the design's icon-based action style (icon choice, size, color, spacing, alignment) used on other list screens. ☐ Clicking the Expenses Summary view icon opens the correct Expense Summary details for that specific row. ☐ Submitting a password reset in the Reset Password flow completes successfully end to end. ☐ After a successful password reset, session/authentication state is handled by the reset flow's own logic rather than unconditionally triggering the generic logout flow. ☐ After a successful password reset, the user is redirected to the Login screen. ☐ After the Reset Password redirect (and after any logout/session termination generally), the Login screen renders standalone with no authenticated Sidebar/Header remaining. ☐ After the Reset Password flow completes, no stale authentication/session state (tokens, cached user, auth headers) remains anywhere in the application. ### Implementation Details #### Merge Request * **Repository:** oms/oms-web * **Branch:** feat/3250-oms-ui-bug-fixes-chips-s * **MR:** https://gitlab.techbumbles.co.in/oms/oms-web/-/merge_requests/10 #### Commits * fbcaca8 Contract (oms-bug-fixes) * 2fa4249 4. Dead Code (oms-bug-fixes) * 815264d UI Implementation (oms-bug-fixes) * 6002e6a Data Layer (oms-bug-fixes) ### Verification #### Quality Gates * **1. Unit Tests:** SKIPPED (populated once implementation completes — 0 passed / 0 failed, 0% coverage * (1. Unit Tests at SKIPPED (human override — see gate_override in approvals_index) could not be attached — see log above) * **2. TypeScript:** PASS — 0 error(s) * 2. TypeScript attached: W11_gate_typescript-oms-bug-fixes.txt * **3. Lint:** PASS — 0 error(s), 0 warning(s) * 3. Lint attached: W12_gate_lint-oms-bug-fixes.txt * **4. Dead Code:** PASS * 4. Dead Code attached: W13_gate_dead-code-oms-bug-fixes.txt * **5. Code & Style Quality Audit:** FAIL * 5. Code & Style Quality Audit attached: W14_gate_quality-audit-oms-bug-fixes.txt * **6. Design Consistency Audit:** FAIL * 6. Design Consistency Audit attached: design-consistency-audit-3250.txt * **7. Responsive Audit:** FAIL * 7. Responsive Audit attached: responsive-audit-3250.txt * **Code Review:** NEEDS_CHANGES * **UI Verify:** FAIL * UI Verify attached: ui-verify-3250.txt the run's completion note on this ticket for the real commit list and MR link) #### UI ### Verification FAIL * **Match:** 56/73 fields (76.7%) * **Screens verified:** Orders, Item List, Uom List, Supplier List, Project List, Expense List, Expense Summary, Project-1, Add Expense, Reset Password Business Logic Verification: FAILED * (Live (populated once verification evidence at /tmp/oms-web-w30-live-verify-evidence.txt (+ screenshot /tmp/lv-A-stuck-on-login.png) could not be attached completes — see log above) the run's completion note on this ticket for UI/live-verification evidence) --- Orchestration slug: oms-bug-fixes (side: web)