This commit is contained in:
2026-03-31 10:56:31 +02:00
parent af48e84449
commit 50507d70a5
13 changed files with 616 additions and 75 deletions

View File

@@ -0,0 +1,115 @@
---
phase: 61-payment-button-activation
plan: 01
type: execute
wave: 1
depends_on: []
files_modified:
- resources/views/orders/show.php
- resources/scss/app.scss
- public/assets/css/app.css
autonomous: true
---
<objective>
## Goal
Aktywacja przycisku "Platnosc" w headerze szczegółów zamówienia — kliknięcie przełącza na zakładkę płatności i automatycznie otwiera formularz dodawania płatności. Dodatkowo poprawa odstępu między inputami a buttonami w formularzu płatności.
## Purpose
Przycisk "Płatność" jest obecnie nieaktywny (btn--disabled) mimo że zakładka płatności i formularz już istnieją (Phase 56). Aktywacja przycisku skraca ścieżkę użytkownika do dodania płatności.
## Output
- Przycisk "Platnosc" aktywny, przełącza na tab `payments` i otwiera formularz
- Formularz z wizualnym odstępem między inputami a przyciskami
</objective>
<context>
## Source Files
@resources/views/orders/show.php (linia 76: przycisk Platnosc, linia 128: tab payments, linia 559-638: panel + formularz)
@resources/scss/app.scss (linia 1648-1687: style payment-add-form)
</context>
<acceptance_criteria>
## AC-1: Przycisk Platnosc aktywny i funkcjonalny
```gherkin
Given użytkownik jest na stronie szczegółów zamówienia /orders/{id}
When klika przycisk "Platnosc" w headerze
Then widok przełącza się na zakładkę "Płatności"
And formularz dodawania płatności jest automatycznie widoczny (rozwinięty)
```
## AC-2: Odstęp między inputami a buttonami formularza
```gherkin
Given formularz dodawania płatności jest widoczny
When użytkownik widzi formularz
Then między rzędem inputów a rzędem przycisków jest wyraźny odstęp (margin-top 12px)
```
</acceptance_criteria>
<tasks>
<task type="auto">
<name>Task 1: Aktywacja przycisku Platnosc i podpięcie JS</name>
<files>resources/views/orders/show.php</files>
<action>
1. Linia 76: zamień `<button type="button" class="btn btn--secondary btn--disabled">Platnosc</button>` na `<button type="button" class="btn btn--secondary" id="btn-header-payment">Platnosc</button>` — usunięcie btn--disabled i dodanie ID.
2. W bloku `<script>` na dole pliku dodaj handler:
- Nasłuchuje click na `#btn-header-payment`
- Wywołuje `setActiveTab('payments')` aby przełączyć na zakładkę płatności
- Ustawia `localStorage` (storageKey) na `'payments'`
- Pokazuje formularz: `document.getElementById('payment-add-form').style.display = ''`
</action>
<verify>Otworzyć /orders/130, kliknąć przycisk "Platnosc" — widok przeskakuje na tab Płatności, formularz jest widoczny</verify>
<done>AC-1 satisfied: przycisk aktywny, przełącza tab i otwiera formularz</done>
</task>
<task type="auto">
<name>Task 2: Odstęp w formularzu płatności (SCSS)</name>
<files>resources/scss/app.scss, public/assets/css/app.css</files>
<action>
1. W SCSS (app.scss) do selektora `.payment-add-form__actions` dodaj `margin-top: 12px;` (aktualnie ma tylko gap: 8px bez marginesu górnego, klasa `mt-8` w HTML daje 8px co jest za mało).
2. W HTML (show.php linia 634) zamień `mt-8` na `mt-12` lub zostaw HTML bez zmian i użyj samego SCSS.
3. Zbuduj CSS: `npx sass resources/scss/app.scss public/assets/css/app.css --no-source-map`
</action>
<verify>Otworzyć formularz płatności — wyraźny odstęp między inputami a przyciskami Zapisz/Anuluj</verify>
<done>AC-2 satisfied: wizualny odstęp ≥ 12px między inputami a buttonami</done>
</task>
</tasks>
<boundaries>
## DO NOT CHANGE
- Logika backend płatności (PaymentController, PaymentRepository)
- Pozostałe przyciski w headerze (Strefa klienta, Drukuj, Pakuj, Edytuj — zostają disabled)
- Tab switching logic (setActiveTab) — reuse istniejącej funkcji
## SCOPE LIMITS
- Tylko aktywacja przycisku i poprawa CSS
- Brak zmian w logice formularza zapisywania płatności
- Brak zmian w API/endpointach
</boundaries>
<verification>
Before declaring plan complete:
- [ ] Przycisk "Platnosc" nie ma klasy btn--disabled
- [ ] Kliknięcie przełącza na tab payments
- [ ] Formularz dodawania płatności jest automatycznie widoczny po kliknięciu
- [ ] Odstęp między inputami a buttonami w formularzu ≥ 12px
- [ ] Build SCSS przechodzi bez błędów
- [ ] Pozostałe przyciski disabled bez zmian
</verification>
<success_criteria>
- Przycisk Platnosc aktywny i funkcjonalny
- Formularz otwarty automatycznie po kliknięciu
- Wizualny odstęp w formularzu poprawiony
- Brak regresji w pozostałych zakładkach i przyciskach
</success_criteria>
<output>
After completion, create `.paul/phases/61-payment-button-activation/61-01-SUMMARY.md`
</output>

View File

@@ -0,0 +1,96 @@
---
phase: 61-payment-button-activation
plan: 01
subsystem: ui
tags: [button, payments, scss, javascript]
requires:
- phase: 56-order-payments
provides: zakładka płatności z formularzem dodawania
provides:
- aktywny przycisk Platnosc w headerze zamówienia
- automatyczne otwarcie formularza płatności po kliknięciu
- poprawiony odstęp w formularzu płatności
affects: []
tech-stack:
added: []
patterns: []
key-files:
created: []
modified:
- resources/views/orders/show.php
- resources/scss/app.scss
- public/assets/css/app.css
key-decisions:
- "Reuse istniejącej funkcji setActiveTab() zamiast duplikacji logiki"
patterns-established: []
duration: 3min
started: 2026-03-31
completed: 2026-03-31
---
# Phase 61 Plan 01: Payment Button Activation Summary
**Aktywacja przycisku "Platnosc" w headerze zamówienia — kliknięcie przełącza na tab płatności i otwiera formularz dodawania + poprawa odstępu między inputami a buttonami.**
## Performance
| Metric | Value |
|--------|-------|
| Duration | ~3min |
| Started | 2026-03-31 |
| Completed | 2026-03-31 |
| Tasks | 2 completed |
| Files modified | 3 |
## Acceptance Criteria Results
| Criterion | Status | Notes |
|-----------|--------|-------|
| AC-1: Przycisk Platnosc aktywny i funkcjonalny | Pass | Usunięto btn--disabled, dodano ID + handler JS przełączający tab i otwierający formularz |
| AC-2: Odstęp między inputami a buttonami formularza | Pass | margin-top: 12px w .payment-add-form__actions |
## Accomplishments
- Przycisk "Platnosc" aktywny — kliknięcie przełącza na zakładkę płatności i automatycznie otwiera formularz dodawania
- Poprawa wizualnego odstępu w formularzu płatności (margin-top: 12px)
## Files Created/Modified
| File | Change | Purpose |
|------|--------|---------|
| `resources/views/orders/show.php` | Modified | Usunięto btn--disabled z przycisku Platnosc, dodano id="btn-header-payment", handler JS |
| `resources/scss/app.scss` | Modified | margin-top: 12px w .payment-add-form__actions |
| `public/assets/css/app.css` | Modified | Zbudowany CSS z nowym marginesem |
## Decisions Made
None - followed plan as specified
## Deviations from Plan
None - plan executed exactly as written
## Issues Encountered
None
## Next Phase Readiness
**Ready:**
- Wszystkie przyciski akcji w headerze zamówienia mają spójny wzorzec aktywacji
**Concerns:**
- Pozostałe przyciski (Strefa klienta, Drukuj, Pakuj, Edytuj) nadal disabled — do aktywacji w przyszłych fazach
**Blockers:**
- None
---
*Phase: 61-payment-button-activation, Plan: 01*
*Completed: 2026-03-31*