feat(04-cookie-notice-bugfix): fix CookieNoticePro injectScripts error

Phase 4 complete:

- remove undefined injectScripts calls from CookieNoticePro

- preserve Consent Mode v2 and GTM integration

- add PAUL plan, summary, and changelog
This commit is contained in:
2026-05-08 23:42:46 +02:00
parent f71a1711bb
commit df1c1f4a7d
7 changed files with 357 additions and 68 deletions

View File

@@ -1,15 +1,19 @@
# Roadmap: bilety.brzezovka.pl
## Overview
W najblizszej iteracji skupiamy sie na uzupelnieniu warstwy analitycznej po zakupie biletow, tak aby tracking ecommerce byl kompletny i wiarygodny, oraz na zgodnosci z RODO poprzez wdrozenie banera zgody na cookies.
Projekt obejmuje sprzedaz biletow online, tracking ecommerce oraz zgodnosc cookies/RODO. Ostatnia iteracja to hotfix banera cookies po wykryciu bledu JavaScript w CookieNoticePro.
## Current Milestone
**v0.2 Analytics & Privacy** (v0.2.0)
Status: Complete (2026-04-26)
Phases: 3 of 3 complete
**v0.3 Cookie Notice Hotfix** (v0.3.0)
Status: Complete (2026-05-08)
Phases: 1 of 1 complete
## Previous Milestones
### v0.2 Analytics & Privacy
Status: Complete (2026-04-26)
Phases: 3 of 3 complete
### v0.1 Initial Release
Status: Complete (2026-04-19)
Phases: 1 of 1 complete
@@ -21,10 +25,11 @@ Phases: 1 of 1 complete
| 1 | Purchase Data Layer | 1 | Complete | 2026-04-19 |
| 2 | Purchase Event Pre-Payment | 1 | Complete | 2026-04-26 |
| 3 | Cookie Consent Banner | 1 | Complete | 2026-04-26 |
| 4 | Cookie Notice Bugfix | 1 | Complete | 2026-05-08 |
## Phase Details
### Phase 1: Purchase Data Layer (v0.1 Complete)
### Phase 1: Purchase Data Layer (v0.1 - Complete)
**Goal:** Dodac event purchase do data layer po finalizacji zakupu biletow z kompletnym payloadem.
**Depends on:** Nothing (first phase)
@@ -34,49 +39,68 @@ Phases: 1 of 1 complete
---
### Phase 2: Purchase Event Pre-Payment
### Phase 2: Purchase Event Pre-Payment (Complete)
**Goal:** Przenieść event purchase do momentu przekierowania na bramkę płatniczą (po złożeniu zamówienia, przed płatnością Przelewy24).
**Goal:** Przeniesc event purchase do momentu przekierowania na bramke platnicza po zlozeniu zamowienia, przed platnoscia Przelewy24.
**Depends on:** Phase 1 (purchase payload builder already implemented)
**Research:** Not needed (flow is clear from existing code)
**Research:** Not needed
**Context:**
- GTM (GTM-TW9WCD9J) jest już wdrożony w layout-logged.php
- Aktualnie event purchase fires na order-confirm (po płatności)
- Cel: przenieść event na przelewy24 (po złożeniu zamówienia w DB, przed redirect do P24)
- Uwaga: strona przelewy24.php auto-submits formularz — GTM/GA4 używa beacon transport (navigator.sendBeacon), więc event powinien dotrzeć przed nawigacją
- GTM (GTM-TW9WCD9J) jest wdrozony w `templates/site/layout-logged.php`.
- Event purchase zostal przeniesiony na strone `przelewy24`.
- Strona `przelewy24.php` auto-submits formularz, wiec tracking korzysta z beacon transport.
**Scope:**
- Wywołanie buildPurchaseDataLayer() w metodzie przelewy24() kontrolera
- Dodanie dataLayer push do templates/tickets/przelewy24.php
- Usunięcie purchase push z templates/tickets/order-confirm.php
- Wywolanie `buildPurchaseDataLayer()` w metodzie `przelewy24()` kontrolera.
- Dodanie dataLayer push do `templates/tickets/przelewy24.php`.
- Usuniecie purchase push z `templates/tickets/order-confirm.php`.
**Plans:**
- [ ] 02-01: Przeniesienie eventu purchase na stronę przelewy24
- [x] 02-01: Przeniesienie eventu purchase na strone przelewy24 (UNIFY complete)
---
### Phase 3: Cookie Consent Banner
### Phase 3: Cookie Consent Banner (Complete)
**Goal:** Wdrożyć baner zgody na cookies (CookieNoticePro) z Google Consent Mode v2 i naprawić błąd analityki w bibliotece.
**Depends on:** Phase 2 (niezależna, ale logicznie po Phase 2 dla spójności analitycznej)
**Research:** Not needed (biblioteka dostępna w pomysloweprezenty.pl/libraries/CookieNoticePro/)
**Goal:** Wdrozyc baner zgody na cookies (CookieNoticePro) z Google Consent Mode v2 i naprawic blad analityki w bibliotece.
**Depends on:** Phase 2
**Research:** Not needed
**Context:**
- Biblioteka: c:\visual studio code\projekty\pomysloweprezenty.pl\libraries\CookieNoticePro\
- Bug do naprawienia: w cookienoticepro.script.js ~linia 351, gdy analytics NIE jest zaakceptowane, kod wywołuje gtag('consent','update',{'analytics_storage':'granted'}) zamiast 'denied'
- Inicjalizacja Consent Mode v2 musi być PRZED snippetem GTM w <head>
- Tylko layout-logged.php jest używany (layout-unlogged.php nie jest renderowany)
- Biblioteka: `libraries/CookieNoticePro/`.
- Consent Mode v2 musi byc przed snippetem GTM w `<head>`.
- Tylko `templates/site/layout-logged.php` jest uzywany przez glowne widoki.
**Scope:**
- Kopiowanie plików CookieNoticePro do libraries/CookieNoticePro/
- Naprawa błędu analytics_storage w cookienoticepro.script.js
- Dodanie consent mode v2 default init przed GTM w layout-logged.php
- Integracja CSS/JS banera + inicjalizacja w layout-logged.php
- Pliki CookieNoticePro w `libraries/CookieNoticePro/`.
- Naprawa `analytics_storage: denied` przy braku zgody analytics.
- Consent Mode v2 default przed GTM w `layout-logged.php`.
- Integracja CSS/JS banera + inicjalizacja `cookieNoticePro.init()`.
**Plans:**
- [ ] 03-01: Integracja CookieNoticePro + Consent Mode v2
- [x] 03-01: Integracja CookieNoticePro + Consent Mode v2 (UNIFY complete)
---
### Phase 4: Cookie Notice Bugfix (Complete)
**Goal:** Naprawic blad JavaScript `Uncaught ReferenceError: injectScripts is not defined` w CookieNoticePro.
**Depends on:** Phase 3 (CookieNoticePro already integrated)
**Research:** Not needed (root cause is visible in local source)
**Context:**
- `libraries/CookieNoticePro/cookienoticepro.script.js` wywolywal `injectScripts()` w dwoch miejscach.
- Funkcja `injectScripts` nie istnieje w tej kopii biblioteki.
- Blad wystepowal po kliknieciu akceptacji cookies oraz mogl wystapic przy inicjalizacji z zapisanymi zgodami.
**Scope:**
- Usuniecie wywolan `injectScripts()`.
- Zachowanie `cookieNoticePro.init()` w `templates/site/layout-logged.php`.
- Zachowanie Google Consent Mode v2 i GTM bez zmian.
**Plans:**
- [x] 04-01: Naprawa undefined `injectScripts` w CookieNoticePro (UNIFY complete)
---
*Roadmap created: 2026-04-19*
*Last updated: 2026-04-26 — Added v0.2 milestone (Phase 2 + Phase 3)*
*Last updated: 2026-05-08 - v0.3 Cookie Notice Hotfix complete*