From 83ec6e69d59ac1cb8f0d3576547100e4663d3ec5 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Tue, 13 Jan 2026 16:29:48 +0000 Subject: [PATCH] =?UTF-8?q?feat(ui-fixes-phase6):=20Complete=20US-606=20-?= =?UTF-8?q?=20Layout=20Scrollabil=20Unificat=20=C3=AEn=20Meniul=20Mobil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implemented by Ralph autonomous loop. Iteration: 7 Co-Authored-By: Claude --- scripts/ralph/prd.json | 4 ++-- scripts/ralph/progress.txt | 6 ++++++ .../components/mobile/MobileDrawerMenu.vue | 19 ++++++++++--------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/scripts/ralph/prd.json b/scripts/ralph/prd.json index ff971e7..818e4bb 100644 --- a/scripts/ralph/prd.json +++ b/scripts/ralph/prd.json @@ -131,8 +131,8 @@ "npm run typecheck passes", "Verify in browser: Entire mobile menu scrolls as one unit" ], - "passes": false, - "notes": "Restructurează CSS-ul MobileDrawerMenu.vue, elimină position: fixed de pe header/footer" + "passes": true, + "notes": "Completed in iteration 7" }, { "id": "US-607", diff --git a/scripts/ralph/progress.txt b/scripts/ralph/progress.txt index 29e8418..ce62911 100644 --- a/scripts/ralph/progress.txt +++ b/scripts/ralph/progress.txt @@ -278,3 +278,9 @@ PRD: tasks/prd-ui-fixes-phase6.md [2026-01-13 16:18:24] Working on story: US-605 [2026-01-13 16:18:24] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_6_US-605.log) [2026-01-13 16:23:39] SUCCESS: Story US-605 passed! +[2026-01-13 16:23:39] Changes committed +[2026-01-13 16:23:39] Progress: 5/10 stories completed +[2026-01-13 16:23:41] === Iteration 7/30 === +[2026-01-13 16:23:41] Working on story: US-606 +[2026-01-13 16:23:41] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_7_US-606.log) +[2026-01-13 16:29:48] SUCCESS: Story US-606 passed! diff --git a/src/shared/components/mobile/MobileDrawerMenu.vue b/src/shared/components/mobile/MobileDrawerMenu.vue index 950828e..12ba103 100644 --- a/src/shared/components/mobile/MobileDrawerMenu.vue +++ b/src/shared/components/mobile/MobileDrawerMenu.vue @@ -624,19 +624,20 @@ onMounted(() => { justify-content: flex-start; } -/* Main drawer container */ +/* Main drawer container - US-606: Unified scrollable layout (updated) */ .drawer-menu { width: 280px; max-width: 85vw; height: 100%; + min-height: 60vh; /* US-606: Ensure min 60% of screen height for menu visibility */ background: var(--surface-card); box-shadow: var(--shadow-xl); display: flex; flex-direction: column; - overflow: hidden; + overflow-y: auto; + overflow-x: hidden; + -webkit-overflow-scrolling: touch; z-index: var(--z-modal); - /* Extra padding at bottom to ensure content is above MobileBottomNav (56px) */ - padding-bottom: calc(var(--header-height) + var(--space-md)); } /* ================================================ @@ -921,13 +922,11 @@ onMounted(() => { } /* ================================================ - Navigation Sections Container (scrollable) + Navigation Sections Container + US-606: No longer independently scrollable, part of unified scroll ================================================ */ .drawer-sections { - flex: 1; - overflow-y: auto; - -webkit-overflow-scrolling: touch; padding: var(--space-sm) 0; } @@ -1015,12 +1014,14 @@ onMounted(() => { /* ================================================ Profile Section + US-606: No longer fixed at bottom, scrolls with content ================================================ */ .drawer-profile { padding: var(--space-md) 0; border-top: 1px solid var(--surface-border); - margin-top: auto; + /* Extra padding at bottom for MobileBottomNav clearance (56px) */ + padding-bottom: calc(var(--header-height) + var(--space-md)); } .profile-header {