Sekcja Elementor zawierająca modal miała elementor-hidden-mobile/tablet, co powodowało display:none na rodzicu. Modal position:fixed wewnątrz ukrytego elementu miał zerowe wymiary. Fix: przeniesienie overlay do document.body w initRefs(). Plan Phase 13 (pakiety ochronne) utworzony, BLOCKED — czeka na klienta. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
phase, plan, type, wave, depends_on, files_modified, autonomous, delegation
| phase | plan | type | wave | depends_on | files_modified | autonomous | delegation | |
|---|---|---|---|---|---|---|---|---|
| 14-mobile-modal-fix | 01 | execute | 1 |
|
true | off |
Purpose
Formularz rezerwacji był niefunkcjonalny na urządzeniach mobilnych i tabletach — klienci nie mogli złożyć rezerwacji z telefonu.
Output
- Modal otwiera się poprawnie na mobile i tablet
- Brak regresji na desktop
Source Files
@wp-content/plugins/carei-reservation/assets/js/carei-reservation.js
<acceptance_criteria>
AC-1: Modal otwiera się na mobile
Given strona carei.pagedev.pl otwarta na urządzeniu mobilnym (375px)
When użytkownik wypełni hero search form i kliknie "Złóż zapytanie o rezerwację"
Then modal rezerwacji otwiera się na pełnym ekranie z pre-wypełnionymi danymi
AC-2: Brak regresji desktop
Given strona otwarta na desktopie
When użytkownik kliknie przycisk otwarcia modala
Then modal otwiera się jak dotychczas (centered overlay)
</acceptance_criteria>
Task 1: Przenieś overlay do document.body w initRefs() wp-content/plugins/carei-reservation/assets/js/carei-reservation.js W funkcji initRefs(), po querySelector overlay, dodać: if (overlay && overlay.parentElement !== document.body) { document.body.appendChild(overlay); } Przyczyna: sekcja Elementor (elementor-element-a7629b1) ma klasy elementor-hidden-tablet elementor-hidden-mobile, co ustawia display:none na rodzicu. Modal position:fixed wewnątrz ukrytego rodzica ma zerowe wymiary. Otworzyć stronę na mobile (375px), wypełnić formularz, kliknąć submit — modal się otwiera AC-1, AC-2 satisfied ## DO NOT CHANGE - CSS modala (carei-reservation.css) - Elementor widget PHP - Logika formularza i APISCOPE LIMITS
- Tylko fix JS — jedna linijka appendChild
<success_criteria>
- Modal działa na wszystkich breakpointach
- Brak regresji </success_criteria>