feat(28-shipment-tracking-ui): badge'e statusow dostawy, linki sledzenia, ustawienia interwalu trackingu

- Kolorowe badge'e statusow dostawy w tabelach paczek (show.php + prepare.php)
- Link sledzenia z carrier detection (InPost, Apaczka, Orlen, Allegro, Google fallback)
- Sekcja Status dostawy w boksie Platnosc i wysylka
- Ustawienie interwalu trackingu crona (5-120 min) w zakladce Ustawienia
- Tekstowe mapowania statusow Apaczka API (NEW, CONFIRMED, etc.)
- Fix: use-statements ApaczkaShipmentService (pre-existing bug)
- Fix: pickup date normalization (next day po 16:00)
- Fix: przycisk Pobierz etykiete (POST zamiast link do prepare)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-23 23:04:05 +01:00
parent 228c0e96cf
commit 98a0077204
17 changed files with 1108 additions and 174 deletions

View File

@@ -5,15 +5,15 @@
See: .paul/PROJECT.md (updated 2026-03-12)
**Core value:** Sprzedawca może obsługiwać zamówienia ze wszystkich kanałów sprzedaży i nadawać przesyłki bez przełączania się między platformami.
**Current focus:** v1.2 Śledzenie przesyłek — Phase 27 COMPLETE, Phase 28 next
**Current focus:** v1.2 Śledzenie przesyłek — COMPLETE ✓
## Current Position
Milestone: v1.2 Śledzenie przesyłek
Phase: [1] of [2] (Shipment Tracking Backend) — COMPLETE ✓
Plan: 27-01 — loop closed
Status: Phase 27 complete, ready for Phase 28 PLAN
Last activity: 2026-03-23 — UNIFY 27-01 complete
Milestone: v1.2 Śledzenie przesyłek — COMPLETE ✓
Phase: [2] of [2] (Shipment Tracking UI + Settings) — COMPLETE ✓
Plan: 28-01 — COMPLETE ✓
Status: Milestone complete, ready for next milestone
Last activity: 2026-03-23 — v1.2 milestone completed
Progress:
- v0.1 Initial Release: [██████████] 100% ✓
@@ -27,16 +27,16 @@ Progress:
- v0.9 Poprawki ustawień firmy: [██████████] 100% ✓
- v1.0 Presety przesyłek: [██████████] 100% ✓
- v1.1 Ręczny numer przesyłki: [██████████] 100% ✓
- v1.2 Śledzenie przesyłek: [█████░░░░░] 50%
- v1.2 Śledzenie przesyłek: [██████████] 100% ✓
- Phase 27: [██████████] 100% ✓ (1/1 plans)
- Phase 28: [░░░░░░░░░░] 0% (0/1 plans)
- Phase 28: [██████████] 100% ✓ (1/1 plans)
## Loop Position
Current loop state:
```
PLAN ──▶ APPLY ──▶ UNIFY
✓ ✓ ✓ [Phase 27 complete — ready for Phase 28 PLAN]
✓ ✓ ✓ [Loop complete — milestone v1.2 done]
```
## Accumulated Context
@@ -73,6 +73,11 @@ PLAN ──▶ APPLY ──▶ UNIFY
| 2026-03-17 | Email history jako wpisy w order_activity_log (nie osobna sekcja) | Faza 15 | Spójność z istniejącym UX — jeden timeline zamiast fragmentacji |
| 2026-03-17 | VariableResolver wydzielony z EmailTemplateController | Faza 15 | Reuse logiki zmiennych; resolwer niezależny od kontrolera szablonów |
### Skill Audit (Faza 28, Plan 01)
| Oczekiwany | Wywołany | Uwagi |
|------------|---------|-------|
| sonar-scanner | ✓ | 0 nowych unikalnych issues; 1x S1448 CronRepository (22 metod, pre-existing pattern) |
### Skill Audit (Faza 27, Plan 01)
| Oczekiwany | Wywołany | Uwagi |
|------------|---------|-------|
@@ -227,7 +232,7 @@ PLAN ──▶ APPLY ──▶ UNIFY
- **Delivery mapping "Szukaj..." layout** — JS `attachSelectFilter()` w allegro.php tworzy input search dla InPost/Apaczka selectów, wizualnie wygląda jakby należał do wiersza powyżej. Pre-existing bug, do naprawy osobno.
### Git State
Last commit: c59d431 — feat(26-manual-tracking-number): reczne dodawanie numeru przesylki do zamowienia
Last commit: pending — feat(28-shipment-tracking-ui)
Branch: main
Feature branches merged: none
@@ -237,12 +242,13 @@ Brak.
## Session Continuity
Last session: 2026-03-23
Stopped at: Phase 27 complete
Next action: /paul:plan (Phase 28 — Shipment Tracking UI + Settings)
Resume file: .paul/phases/27-shipment-tracking-backend/27-01-SUMMARY.md
Stopped at: v1.2 milestone COMPLETE
Next action: /paul:discuss-milestone — ustalenie zakresu v1.3
Resume file: .paul/phases/28-shipment-tracking-ui/28-01-SUMMARY.md
Resume context:
- v0.1v1.1: COMPLETE ✓ (26 phases, 38 plans)
- v1.2: IN PROGRESS — Phase 27 done, Phase 28 (UI + Settings) next
- v0.1v1.2: COMPLETE ✓ (28 phases, 40 plans)
- Milestone v1.2 zamknięty — tracking backend + UI + cron settings
- Następny milestone do ustalenia
---
*STATE.md — Updated after every significant action*