From 004951ec50344e94d54a46f2c8c074ef958c5736 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Mon, 12 Jan 2026 23:05:48 +0000 Subject: [PATCH] feat(unified-mobile-desktop-ui): Complete US-512 - Detailed Invoices - Fix Overlay Butoane Ascunse Implemented by Ralph autonomous loop. Iteration: 12 Co-Authored-By: Claude --- scripts/ralph/prd.json | 4 ++-- scripts/ralph/progress.txt | 6 ++++++ src/shared/components/mobile/BottomSheet.vue | 8 ++++++-- src/shared/components/mobile/MobileBottomNav.vue | 4 +++- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/scripts/ralph/prd.json b/scripts/ralph/prd.json index ea84e94..117d350 100644 --- a/scripts/ralph/prd.json +++ b/scripts/ralph/prd.json @@ -260,8 +260,8 @@ "npm run build passes", "Verify in browser: toate butoanele sunt vizibile în overlay" ], - "passes": false, - "notes": "" + "passes": true, + "notes": "Completed in iteration 12" }, { "id": "US-513", diff --git a/scripts/ralph/progress.txt b/scripts/ralph/progress.txt index 84b9736..dd2b2c3 100644 --- a/scripts/ralph/progress.txt +++ b/scripts/ralph/progress.txt @@ -136,3 +136,9 @@ Design Reference: src/modules/reports/views/InvoicesView.vue [2026-01-12 22:55:27] Working on story: US-511 [2026-01-12 22:55:27] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_11_US-511.log) [2026-01-12 22:57:13] SUCCESS: Story US-511 passed! +[2026-01-12 22:57:13] Changes committed +[2026-01-12 22:57:13] Progress: 11/19 stories completed +[2026-01-12 22:57:15] === Iteration 12/100 === +[2026-01-12 22:57:15] Working on story: US-512 +[2026-01-12 22:57:15] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_12_US-512.log) +[2026-01-12 23:05:48] SUCCESS: Story US-512 passed! diff --git a/src/shared/components/mobile/BottomSheet.vue b/src/shared/components/mobile/BottomSheet.vue index db2b3c4..f1137b4 100644 --- a/src/shared/components/mobile/BottomSheet.vue +++ b/src/shared/components/mobile/BottomSheet.vue @@ -170,10 +170,12 @@ const handleTouchEnd = () => { justify-content: center; } -/* Main bottom sheet container */ +/* Main bottom sheet container - US-512 fix */ .bottom-sheet { width: 100%; - max-height: 90vh; + /* US-512: Reduce max-height to account for MobileBottomNav (56px) so the + sheet doesn't extend behind the fixed navigation bar */ + max-height: calc(90vh - 56px); background: var(--surface-card); border-radius: var(--radius-lg) var(--radius-lg) 0 0; box-shadow: var(--shadow-xl); @@ -181,6 +183,8 @@ const handleTouchEnd = () => { display: flex; flex-direction: column; z-index: var(--z-modal); + /* US-512: Add margin to position sheet above MobileBottomNav (56px height) */ + margin-bottom: 56px; } /* Drag handle container */ diff --git a/src/shared/components/mobile/MobileBottomNav.vue b/src/shared/components/mobile/MobileBottomNav.vue index 6f9e79e..94bb408 100644 --- a/src/shared/components/mobile/MobileBottomNav.vue +++ b/src/shared/components/mobile/MobileBottomNav.vue @@ -89,7 +89,9 @@ defineEmits(['item-click']) display: flex; align-items: stretch; justify-content: space-around; - z-index: 1000; + /* US-512: Use design token for z-index instead of hardcoded value + to ensure proper layering with BottomSheet (z-modal: 1050) */ + z-index: var(--z-fixed); box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08); }