# Operator/Auditor mode toggle ## Module Web ## Status VERIFIED ## Description View mode service, toggle component, and operator-only/auditor-only directives implement two-mode UI with different default levels of detail. ## Implementation Details - **Feature directories**: - `src/Web/StellaOps.Web/src/app/core/services/` - `src/Web/StellaOps.Web/src/app/shared/components/view-mode-toggle/` - `src/Web/StellaOps.Web/src/app/shared/directives/` - **Components**: - `view-mode-toggle` (`src/Web/StellaOps.Web/src/app/shared/components/view-mode-toggle/view-mode-toggle.component.ts`) - **Services**: - `view-mode.service` (`src/Web/StellaOps.Web/src/app/core/services/view-mode.service.ts`) - **Directives**: - `stellaOperatorOnly` (`src/Web/StellaOps.Web/src/app/shared/directives/operator-only.directive.ts`) - `stellaAuditorOnly` (`src/Web/StellaOps.Web/src/app/shared/directives/auditor-only.directive.ts`) - **Verification harness**: - `src/Web/StellaOps.Web/src/tests/workspaces/operator-auditor-mode-toggle.spec.ts` - **Source**: SPRINT_20260211_006_FE_web_feature_verification_batch24 ## E2E Test Plan - **Setup**: - [ ] Log in with a user that has appropriate permissions - [ ] Navigate to a page that includes mode toggle and role-gated sections - [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed) - **Core verification**: - [ ] Verify operator mode renders operator-only content - [ ] Verify mode switch to auditor updates role-gated content - [ ] Verify selected mode persists across user interactions - **Edge cases**: - [ ] Verify graceful handling when browser storage is unavailable - [ ] Verify responsive layout at different viewport sizes - [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes) ## Verification - Run: `docs/qa/feature-checks/runs/web/operator-auditor-mode-toggle/run-001/` - Tier 0 (source): pass (`tier0-source-check.json`) - Tier 1 (build/tests): pass (`tier1-build-check.json`) - Tier 2 (behavior): pass (`tier2-e2e-check.json`) - Verified on (UTC): `2026-02-11T09:40:30.6754472Z`