Files
orderPRO/.paul/phases/101-aged-orders-row-highlight/101-01-SUMMARY.md
2026-04-13 22:31:06 +02:00

3.4 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
101-aged-orders-row-highlight 01 ui
orders-list
scss
php
visual-alert
phase provides
44-inline-status-change table-list component used for /orders/list
Wizualna flaga wiekowa na liscie zamowien (4-7+ dni)
Opcjonalny `_row_class` na wierszach `components/table-list.php`
added patterns
Row-level class propagowana z controllera przez `_row_class` w danych wiersza `table-list`
created modified
resources/views/components/table-list.php
src/Modules/Orders/OrdersController.php
resources/scss/app.scss
public/assets/css/app.css
Wiek liczony z `ordered_at` (to pole uzywa juz sortowanie/kolumna listy)
Poziomy ramki 4..7 hardcoded, starsze niz 7 dni = poziom 7 (nie dalsza eskalacja)
Ramka realizowana przez border na <td> — kompatybilna z kolorem tla statusu
Kontroler listy moze dodac `_row_class` do rekordu w danych `rows` — `table-list.php` honoruje to jako klase <tr>
~10min 2026-04-13 2026-04-13

Phase 101 Plan 01: Aged Orders Row Highlight Summary

Wiersze zamowien na /orders/list starszych niz 4 dni dostaja czerwona ramke o rosnacej intensywnosci (4d=jasna → 7+d=bordowa).

Acceptance Criteria Results

Criterion Status Notes
AC-1: <4 dni brak ramki Pass agedRowClass() zwraca '' dla $ageDays < 4
AC-2: 4-7 dni rosnaca intensywnosc Pass Klasy order-row-aged-4..7 z 4 odcieniami czerwieni (#f8b4b4 → #991b1b)
AC-3: >7 dni = poziom 7 Pass $level = $ageDays >= 7 ? 7 : $ageDays
AC-4: Wiek liczony z ordered_at Pass floor((time() - strtotime($orderedAt)) / 86400)

Accomplishments

  • Dodano mechanizm row-class w uniwersalnym components/table-list.php (opcjonalny, nie lamie innych list)
  • OrdersController liczy wiek zamowienia i wystawia klase na wierszu
  • 4 poziomy SCSS + przebudowany public/assets/css/app.css

Files Created/Modified

File Change Purpose
resources/views/components/table-list.php Modified <tr> honoruje $row['_row_class']
src/Modules/Orders/OrdersController.php Modified agedRowClass() + wpiecie w toTableRow
resources/scss/app.scss Modified Reguly .order-row-aged-{4..7} na <td>
public/assets/css/app.css Rebuild npm run build:css

Decisions Made

Decision Rationale Impact
Border na <td> zamiast <tr> <tr> nie rysuje borderu spolnie z border-collapse; trzeba na komorkach Wizualnie spojne, kompatybilne z tlem statusow
Klasy order-row-aged-N zamiast inline style Zgodne z CLAUDE.md (brak styli w widokach) Styl zyje w SCSS
Pole ordered_at jako data referencyjna Uzywane juz w kolumnie listy i sortowaniu Zero dodatkowego I/O

Deviations from Plan

Type Count Impact
Auto-fixed 0 -
Scope additions 0 -
Deferred 0 -

Plan wykonany 1:1.

Issues Encountered

None.

Next Phase Readiness

Ready:

  • Lista zamowien z wizualnym sygnalem zalegajacych zamowien
  • Wzorzec _row_class dostepny dla innych list w table-list.php

Concerns:

  • Weryfikacja wizualna pozostaje po stronie uzytkownika (manualny test w przegladarce)

Blockers: None


Phase: 101-aged-orders-row-highlight, Plan: 01 Completed: 2026-04-13