Historia cen: - Tabela wp_price_history z WP Cronem dziennym (snapshot cen) - AJAX endpoint apartamenty_get_price_history (zabezpieczony nonce) - Popup "Historia cen" w widgecie — vanilla JS, modal zgodny z projektem Jawnosc cen: - Endpointy /ceny-mieszkan.xml + /dane-gov-pl.xml (XSD-compliant) - Pliki MD5 dla obu XML - Strona admina: Narzedzia -> Jawnosc Cen z URL-ami do Ministerstwa - Transient cache 1h z inwalidacja przez cron Dokumentacja: docs/readme.md + docs/jawnosc-cen.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.9 KiB
3.9 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 | |||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01-historia-cen | 02 | ui |
|
|
|
|
|
|
|
~30min | 2026-03-12T00:00:00Z | 2026-03-12T00:30:00Z |
Faza 01 Plan 02: Popup Historia Cen — Summary
Klikalny modal „Historia cen" na kartach apartamentów — AJAX, vanilla JS, CSS zgodny z projektem.
Performance
| Metric | Value |
|---|---|
| Duration | ~30 min |
| Started | 2026-03-12 |
| Completed | 2026-03-12 |
| Tasks | 3 auto + 1 checkpoint |
| Files modified | 4 |
Acceptance Criteria Results
| Criterion | Status | Notes |
|---|---|---|
| AC-1: Przycisk klikalny z data-post-id | Pass | .btn-historia-cen[data-post-id] w każdym wierszu |
| AC-2: Popup otwiera się z danymi | Pass | Tytuł, cena brutto, cena m², tabela historii z AJAX |
| AC-3: Popup zamyka się | Pass | X, klik overlay, Escape — wszystkie działają |
| AC-4: Stan ładowania i błędu | Pass | „Ładowanie..." przy otwarciu, „Brak danych" / „Błąd ładowania" przy problemach |
| AC-5: Pusta historia | Pass | <td colspan="3">Brak historii cen</td> gdy historia pusta |
Accomplishments
- Modal popup bez bibliotek zewnętrznych — vanilla JS + CSS
- Jeden egzemplarz popupa na stronę (poza pętlą
while) — poprawna architektura - Scroll w tabeli historii (
max-height: 40vh; overflow-y: auto) gdy dużo wpisów - Stan ładowania i pełna obsługa błędów AJAX
Files Created/Modified
| File | Change | Purpose |
|---|---|---|
widgets/apartaments.php |
Modified | Dodano .btn-historia-cen + data-post-id + popup HTML |
assets/css/main.scss |
Modified | Dodano style .price-history-overlay i .price-history-modal |
assets/css/main.css |
Modified | Skompilowana wersja CSS (append) |
assets/js/main.js |
Modified | Dodano obsługę AJAX + open/close popupa |
Decisions Made
| Decision | Rationale | Impact |
|---|---|---|
ID price-history-sqm zamiast price-history-price-m2 |
Krótsza nazwa, spójna w HTML i JS | Brak wpływu na działanie |
max-height + overflow-y:auto na tabeli |
Ochrona przed bardzo długą historią cen | Lepsze UX przy wielu wpisach |
Deviations from Plan
| Type | Opis | Impact |
|---|---|---|
| Auto-fixed | ID price-history-price-m2 → price-history-sqm |
Kosmetyczna, HTML i JS spójne |
Issues Encountered
None.
Next Phase Readiness
Ready:
- Faza 01 kompletna — oba plany (01-01 i 01-02) ukończone
- Milestone v0.1 ma ukończone obie fazy (01 i 02)
Concerns:
- None
Blockers:
- None
Phase: 01-historia-cen, Plan: 02 Completed: 2026-03-12