feat(13-protection-packages): Pakiety ochronne SOFT/PREMIUM z panelu WP
- Panel admina (wp-admin > Rezerwacje > Pakiety ochronne) do zarzadzania nazwami, cenami za dobe, aktywnoscia i opisami pakietow SOFT i PREMIUM (zapis w wp_options carei_protection_packages) - REST endpoint GET /carei/v1/protection-packages zwracajacy aktywne pakiety - Radio cards SOFT/PREMIUM w modalu rezerwacji nad pozycjami "Pakiety ochronne" z API (osobne zrodlo danych, separator wizualny) - Radio z deselect (klik zaznaczonego odznacza), natywny input z accent-color - Pakiet NIE wysylany w priceItems Softra (powodowalo HTTP 400) - zamiast tego doklejany do comments booking i zapisywany w _carei_protection_package meta - Summary frontend dokorysowuje wiersz pakietu w tabeli cen i dolicza do total gross (grandGross = softraGross + protectionTotal) - Plan 13-01 oznaczony jako superseded (klient zmienil zrodlo danych) - Phase 13 Complete, Milestone v0.5 Complete Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -597,6 +597,89 @@ button.carei-reservation-trigger:hover {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
/* ═══════════════════════════════════════════
|
||||
Protection Packages (SOFT / PREMIUM — zarządzane w panelu WP)
|
||||
═══════════════════════════════════════════ */
|
||||
.carei-form__row--protection-packages {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 12px;
|
||||
}
|
||||
.carei-form__protection-package {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
padding: 16px;
|
||||
border: 1px solid var(--carei-border);
|
||||
border-radius: var(--carei-radius);
|
||||
background: var(--carei-white);
|
||||
cursor: pointer;
|
||||
transition: border-color 0.2s;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.carei-form__protection-package:hover {
|
||||
border-color: rgba(47, 36, 130, 0.4);
|
||||
}
|
||||
.carei-form__protection-package.is-selected {
|
||||
border-color: var(--carei-blue);
|
||||
}
|
||||
.carei-form__protection-package__row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
min-width: 0;
|
||||
}
|
||||
.carei-form__protection-package__input {
|
||||
flex-shrink: 0;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
accent-color: var(--carei-blue);
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
}
|
||||
.carei-form__protection-package__name {
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
color: var(--carei-blue);
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
word-break: break-word;
|
||||
}
|
||||
.carei-form__protection-package__price {
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
color: #505050;
|
||||
margin-left: auto;
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.carei-form__protection-package__price strong {
|
||||
color: inherit;
|
||||
}
|
||||
.carei-form__protection-package__desc {
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.carei-form__protection-package__desc:empty {
|
||||
display: none;
|
||||
}
|
||||
.carei-form__protection-divider {
|
||||
margin: 14px 0;
|
||||
border-top: 1px dashed rgba(47, 36, 130, 0.18);
|
||||
height: 0;
|
||||
}
|
||||
.carei-form__row--protection-packages:empty + .carei-form__protection-divider {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.carei-form__row--protection-packages {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
.carei-form__checkbox-label--abroad {
|
||||
align-items: center;
|
||||
font-weight: 600;
|
||||
|
||||
Reference in New Issue
Block a user