--- phase: 52-mobile-main-menu plan: 01 type: execute wave: 1 depends_on: [] files_modified: - resources/views/layouts/app.php - resources/scss/app.scss - public/assets/css/app.css autonomous: false --- ## Goal Zamiana obecnego sidebara na pelnoekranowe menu mobilne z hamburgerem, overlay i plynnym otwieraniem/zamykaniem na urzadzeniach <= 768px. ## Purpose Obecne menu na mobile jest nieuzywalne — sidebar staje sie horyzontalnym paskiem z overflow-x, ktory nie miesci wszystkich linkow i wymaga przewijania. Uzytkownicy mobilni nie moga sprawnie nawigowac po aplikacji. ## Output - Hamburger button w topbarze (widoczny tylko na mobile) - Sidebar jako fullscreen overlay z animacja slide-in z lewej - Zamykanie przez X, tap na overlay lub nawigacje do linku - Zachowanie pelnej struktury menu (grupy, sublinki) ## Project Context @.paul/PROJECT.md @.paul/ROADMAP.md @.paul/STATE.md ## Source Files @resources/views/layouts/app.php @resources/scss/app.scss ## AC-1: Hamburger widoczny na mobile ```gherkin Given urzadzenie z szerokosc viewportu <= 768px When strona sie laduje Then w topbarze widoczny jest przycisk hamburger (3 kreski) And sidebar jest domyslnie ukryty ``` ## AC-2: Otwarcie menu ```gherkin Given menu mobilne jest zamkniete When uzytkownik klika hamburger Then sidebar wysuwa sie z lewej strony jako fullscreen overlay And tlo jest przyciemnione (backdrop) And body nie scrolluje sie pod overlayem ``` ## AC-3: Zamkniecie menu ```gherkin Given menu mobilne jest otwarte When uzytkownik klika X lub backdrop lub link w menu Then menu zamyka sie z animacja And body odzyskuje scroll ``` ## AC-4: Desktop bez zmian ```gherkin Given urzadzenie z szerokosc viewportu > 768px When strona sie laduje Then sidebar wyglada i dziala identycznie jak dotychczas And hamburger nie jest widoczny ``` Task 1: Hamburger button + mobile JS w app.php resources/views/layouts/app.php 1. Dodaj przycisk hamburger w topbarze (przed div z nazwa uzytkownika): - Klasa: `.topbar__hamburger` - SVG 3 kreski (24x24), display: none na desktop - aria-label="Otworz menu" 2. Dodaj backdrop div po sidebar: `` 3. W bloku `