Phase 3 complete: - Copy CookieNoticePro library to libraries/CookieNoticePro/ - Fix bug: analytics_storage sent 'granted' instead of 'denied' on rejection - Add Consent Mode v2 default-denied init before GTM snippet in layout-logged.php - Fix plugin init: cookieNoticePro.init() per library docs - Fix duplicate button label (CSS display:none for acceptBtnSettingsLabel) - Add Bootstrap 5 compatibility reset for banner buttons - Set regulamin link to https://bilety.brzezovka.pl/tickets/regulamin/ v0.2 Analytics & Privacy milestone complete. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.2 KiB
5.2 KiB
phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, duration, started, completed
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | duration | started | completed | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 03-cookie-consent | 01 | ui |
|
|
|
|
|
|
|
~45min | 2026-04-26T00:00:00Z | 2026-04-26T00:00:00Z |
Phase 3 Plan 01: Cookie Consent Banner Summary
CookieNoticePro z Google Consent Mode v2 wdrożony — serwis spełnia wymogi RODO, analytics_storage poprawnie ustawiane na denied przy odmowie zgody.
Performance
| Metric | Value |
|---|---|
| Duration | ~45 min |
| Tasks | 2 auto + 1 checkpoint |
| Files modified | 3 |
Acceptance Criteria Results
| Criterion | Status | Notes |
|---|---|---|
| AC-1: Consent Mode v2 default przed GTM | Pass | Blok w <head> przed <!-- Google Tag Manager --> |
| AC-2: Baner przy pierwszej wizycie | Pass | Zweryfikowane manualnie |
| AC-3: Naprawa analytics_storage denied | Pass | Linia ~351: 'granted' → 'denied' w bloku else |
| AC-4: Akceptacja → granted | Pass | Blok if (analytics accepted) bez zmian |
| AC-5: Pliki biblioteki obecne | Pass | libraries/CookieNoticePro/ skonfigurowany |
Accomplishments
- Skopiowano i zintegrowano bibliotekę CookieNoticePro z istniejącym projektem
- Naprawiono błąd biblioteki:
analytics_storage: 'granted'→'denied'w bloku odrzucenia analytics - Consent Mode v2 inicjalizowany z defaultami
deniedprzed snippetem GTM — wymaganie Google od marca 2024 - Baner wyświetla się przy pierwszej wizycie, zapamiętuje wybór przez 365 dni
Files Created/Modified
| File | Change | Purpose |
|---|---|---|
libraries/CookieNoticePro/cookienoticepro.script.js |
Created | Biblioteka banera — zkopiona + naprawiony błąd analytics_storage + link regulaminu |
libraries/CookieNoticePro/cookienoticepro.style.css |
Created | Style banera — zkopione + Bootstrap 5 compat reset + initial state fix |
templates/site/layout-logged.php |
Modified | Consent Mode v2 default przed GTM, CSS/JS banera, inicjalizacja cookieNoticePro.init() |
Decisions Made
| Decision | Rationale | Impact |
|---|---|---|
cookieNoticePro.init() zamiast $.fn.cookieNoticePro() |
Demo index.html z biblioteki pokazuje właściwy sposób inicjalizacji |
Poprawne uruchomienie banera |
CSS display:none na .acceptBtnSettingsLabel |
JS przełącza etykiety tylko na click — nie ustawia stanu początkowego | Brak duplikatu tekstu w przycisku "Akceptuj/Zatwierdź" |
| Bootstrap 5 compat reset w CSS | Bootstrap nadpisuje line-height, font-size przycisków |
Poprawny wygląd przycisków banera |
Deviations from Plan
Summary
| Type | Count | Impact |
|---|---|---|
| Auto-fixed | 3 | Niezbędne poprawki, brak scope creep |
| Scope additions | 1 | Drobna zmiana na prośbę użytkownika |
Total impact: Drobne poprawki wynikające z integracji z Bootstrap 5 i specyfiki biblioteki
Auto-fixed Issues
1. Inicjalizacja pluginu
- Found during: Checkpoint (błąd konsoli)
- Issue:
$.cookieNoticePro is not a function— plugin rejestruje się jako$.fn, nie$ - Fix:
$.cookieNoticePro()→$.fn.cookieNoticePro()→cookieNoticePro.init() - Files:
templates/site/layout-logged.php
2. Duplikat tekstu w przycisku akceptacji
- Found during: Checkpoint (feedback użytkownika)
- Issue:
.acceptBtnSettingsLabel("Zatwierdź") widoczny razem z.acceptBtnLabel("Akceptuj") — brak initial hide w JS - Fix: Dodano
display: nonew CSS dla.acceptBtnSettingsLabel - Files:
libraries/CookieNoticePro/cookienoticepro.style.css
3. Bootstrap 5 button override
- Found during: Checkpoint (button layout)
- Issue: Bootstrap nadpisuje
line-heightifont-sizeprzycisków banera - Fix: CSS reset z
!important-safe specificity dla.btn-wrap button - Files:
libraries/CookieNoticePro/cookienoticepro.style.css
Scope Additions
- Link regulaminu zmieniony na
https://bilety.brzezovka.pl/tickets/regulamin/(prośba użytkownika podczas weryfikacji)
Next Phase Readiness
Ready:
- v0.2 Analytics & Privacy — wszystkie 3 fazy kompletne
- Tracking ecommerce (Phase 1+2) + RODO (Phase 3) wdrożone
Concerns:
- Brak — integracja stabilna
Blockers:
- None
Phase: 03-cookie-consent, Plan: 01 Completed: 2026-04-26