Files
bilety.brzezovka.pl/.paul/STATE.md
Jacek Pyziak 28b7a1dd54 feat(05-purchase-redirect-hardening): harden purchase redirect tracking
Phase 5 complete:

- guard purchase event per transaction in sessionStorage

- restore saved consent before GTM and purchase

- add centered Przelewy24 countdown redirect
2026-05-08 23:56:37 +02:00

78 lines
3.1 KiB
Markdown

# Project State
## Project Reference
See: .paul/PROJECT.md (updated 2026-05-08)
**Core value:** Uzytkownicy moga szybko i bezpiecznie kupic bilety online oraz otrzymac natychmiastowe potwierdzenie zakupu.
**Current focus:** v0.4 Purchase Redirect Hardening - COMPLETE
## Current Position
Milestone: v0.4 Purchase Redirect Hardening - COMPLETE
Phase: 1 of 1 (Purchase Redirect Hardening) - Complete
Plan: 05-01 complete
Status: Milestone complete - ready for next milestone
Last activity: 2026-05-08 - Phase 5 complete, v0.4 shipped
Progress:
- Milestone: [##########] 100%
- Phase 5: [##########] 100%
## Loop Position
Current loop state:
```
PLAN ---> APPLY ---> UNIFY
ok ok ok [Loop complete - milestone complete]
```
## Accumulated Context
### Codebase Mapped
Date: 2026-04-26
Documents: `.paul/codebase/` (8 files - stack, architecture, structure, conventions, testing, integrations, concerns, db_schema)
### GTM Status
- GTM-TW9WCD9J already integrated in templates/site/layout-logged.php.
- layout-unlogged.php is not rendered; view/class.Site.php always uses layout-logged.php.
### Decisions
- 2026-04-19: Event purchase emitted on order-confirm, not on przelewy24.
- 2026-04-19: Ecommerce payload built in backend and safely serialized into the view.
- 2026-04-26: Event purchase moved to przelewy24 (post-order, pre-payment) to capture all orders.
- 2026-04-26: `cookieNoticePro.init()` used instead of `$.fn.cookieNoticePro()`.
- 2026-04-26: Consent Mode v2 default-denied initialized before the GTM snippet.
- 2026-05-08: Undefined `injectScripts()` calls removed from CookieNoticePro instead of adding a no-op stub.
- 2026-05-08: Manual redirect pause confirmed purchase fires; saved consent must be restored before GTM/purchase.
### Current Plan Context
- Plan path: `.paul/phases/05-purchase-redirect-hardening/05-01-PLAN.md`.
- Current uncommitted source changes include `templates/site/layout-logged.php` consent restore and `templates/tickets/przelewy24.php` temporary manual redirect button.
- Applied changes: `templates/tickets/przelewy24.php` now guards purchase with `sessionStorage` per transaction and auto-submits to Przelewy24 after a 5-second countdown; `templates/site/layout-logged.php` preserves saved consent restore before GTM.
- Final UI adjustment: visible fallback button removed; redirect message is a centered Bootstrap alert with countdown.
- Verification passed: PHP lint for both modified templates, grep checks for purchase guard/countdown/consent restore, and user browser approval.
- Summary: `.paul/phases/05-purchase-redirect-hardening/05-01-SUMMARY.md`.
- Existing unrelated uncommitted change: `.vscode/ftp-kr.sync.cache.json` must remain untouched.
### Deferred Issues
None.
### Blockers/Concerns
None.
### Git State
Last commit: current phase commit (`feat(05-purchase-redirect-hardening): harden purchase redirect tracking`)
Branch: main
Feature branches merged: none
## Session Continuity
Last session: 2026-05-08
Stopped at: v0.4 milestone complete
Next action: Start next milestone when needed
Resume file: .paul/phases/05-purchase-redirect-hardening/05-01-SUMMARY.md
---
*STATE.md - Updated after every significant action*