feat(19-ui-integration): przycisk Drukuj, bulk print, kolejka wydruku

- Przycisk "Drukuj" w prepare.php i show.php z AJAX + duplikat protection
- Bulk print z listy zamówień (checkboxy + header action)
- Kolejka wydruku w Ustawienia > Drukowanie (filtr statusu, retry)
- POST /api/print/jobs/bulk endpoint (package_ids + order_ids)
- ensureLabel() auto-download przez ShipmentProviderRegistry
- Apaczka carrier_id = nazwa usługi, kolumna Przewoznik
- Tab persistence (localStorage), label file_exists check
- Fix use statement ApaczkaApiClient, redirect po utworzeniu przesyłki
- Phase 17 (receipt duplicate guard) + Phase 18 (print queue backend) docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-22 21:16:54 +01:00
parent d1a1b79247
commit 02d06298ea
33 changed files with 2623 additions and 117 deletions

View File

@@ -441,6 +441,60 @@
margin: 0;
}
.print-status-badge {
display: inline-block;
padding: 2px 8px;
border-radius: 3px;
font-size: 0.75rem;
font-weight: 600;
line-height: 1.4;
}
.print-status-badge--pending {
background-color: #fff3cd;
color: #856404;
}
.print-status-badge--completed {
background-color: #d4edda;
color: #155724;
}
.print-status-badge--failed {
background-color: #f8d7da;
color: #721c24;
}
.print-queue-filters {
display: flex;
gap: 4px;
}
.print-queue-table td, .print-queue-table th {
padding: 6px 8px;
font-size: 0.85rem;
}
.btn--outline-primary {
background: transparent;
border: 1px solid #4a90d9;
color: #4a90d9;
cursor: pointer;
border-radius: 3px;
font-size: 0.75rem;
padding: 3px 8px;
transition: background-color 0.15s, color 0.15s;
}
.btn--outline-primary:hover {
background-color: #4a90d9;
color: #fff;
}
.btn--outline-primary:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.btn--outline-primary.is-success {
border-color: #28a745;
color: #28a745;
}
* {
box-sizing: border-box;
}