# Approvals Inbox with Diff-First Presentation ## Module Web ## Status IMPLEMENTED ## Description Approvals inbox showing pending approval requests with diff-first card design highlighting what changed, enabling quick triage of release promotion requests. ## Implementation Details - **Feature directory**: `src/Web/StellaOps.Web/src/app/features/approvals/` - **Routes**: `approvals.routes.ts` - **Components**: - `approval-detail-page` (`src/Web/StellaOps.Web/src/app/features/approvals/approval-detail-page.component.ts`) - `approval-detail` (`src/Web/StellaOps.Web/src/app/features/approvals/approval-detail.component.ts`) - `approvals-inbox-page` (`src/Web/StellaOps.Web/src/app/features/approvals/approvals-inbox-page.component.ts`) - `approvals-inbox` (`src/Web/StellaOps.Web/src/app/features/approvals/approvals-inbox.component.ts`) - `request-exception-modal` (`src/Web/StellaOps.Web/src/app/features/approvals/modals/request-exception-modal.component.ts`) - **Source**: SPRINT_20260118_005_FE_approvals_feature.md ## E2E Test Plan - **Setup**: - [ ] Log in with a user that has appropriate permissions - [ ] Navigate to `/approvals` - [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed) - **Core verification**: - [ ] Verify side-by-side comparison view renders correctly with two versions - [ ] Verify additions, removals, and changes are visually highlighted - [ ] Verify diff data matches the expected delta between versions - **Edge cases**: - [ ] Verify graceful handling when backend API is unavailable (error state) - [ ] Verify responsive layout at different viewport sizes - [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)