Dostępny w:
{c.packages.map((p, i) => (
- //
))}
@@ -148,7 +156,7 @@ export default function JamboxChannelsSearch() {
))}
{q.trim().length >= 2 && !loading && items.length === 0 && (
-
+
Brak wyników dla: {q}
)}
diff --git a/src/styles/channels-search.css b/src/styles/channels-search.css
index 85978d7..88beb2c 100644
--- a/src/styles/channels-search.css
+++ b/src/styles/channels-search.css
@@ -1,94 +1,127 @@
- .fuz-chsearch {
+ .f-chsearch {
@apply mt-6;
}
- .fuz-chsearch__top {
+ .f-chsearch__top {
@apply flex flex-col gap-1 mb-4;
}
- .fuz-chsearch__input {
- @apply w-full md:flex-1 px-4 py-3 rounded-xl border border-[--f-input-border] bg-[--f-background] text-[--f-text] outline-none focus:ring-2 focus:ring-[--btn-background];
+ /* wrapper dla X w środku inputa */
+ .f-chsearch__inputwrap {
+ @apply relative;
}
- .fuz-chsearch__meta {
+ .f-chsearch__input {
+ @apply w-full md:flex-1 px-4 py-3 rounded-xl border border-[--f-input-border] bg-[--f-background] text-[--f-text] outline-none focus:ring-2 focus:ring-[--btn-background];
+ padding-right: 2.75rem; /* miejsce na X */
+ }
+
+ .f-chsearch__clear {
+ @apply absolute right-2 top-1/2 -translate-y-1/2 grid place-items-center rounded-full border-0 bg-transparent text-[--f-text] opacity-70;
+ width: 2rem;
+ height: 2rem;
+ cursor: pointer;
+ }
+
+ .f-chsearch__clear:hover {
+ @apply opacity-100;
+ }
+
+ .f-chsearch__meta {
@apply text-sm opacity-70 pl-1;
}
/* =========================
List + Row layout
========================== */
- .fuz-chsearch__list {
+ .f-chsearch__list {
@apply flex flex-col gap-2;
}
- /* ✅ węższa pierwsza kolumna */
- .fuz-chsearch__row {
+ .f-chsearch__row {
@apply grid grid-cols-1 md:grid-cols-[220px_1fr] gap-6 rounded-2xl border border-[--f-input-border] bg-[--f-background] p-4;
}
/* =========================
Column 1: Channel card
========================== */
- .fuz-chsearch__left {
+ .f-chsearch__left {
@apply flex flex-col items-center text-center gap-1 px-2;
}
- .fuz-chsearch__logo {
+ .f-chsearch__logo {
@apply w-14 h-14 object-contain bg-white dark:bg-slate-900 border border-slate-200 dark:border-slate-700 rounded-xl p-1 mb-1;
}
- .fuz-chsearch__channel-name {
+ .f-chsearch__channel-name {
@apply font-semibold text-[--fuz-header] leading-tight;
}
- .fuz-chsearch__channel-number {
- @apply text-sm opacity-70;
- }
-
/* =========================
Column 2: Description + Packages
========================== */
- .fuz-chsearch__right {
+ .f-chsearch__right {
@apply flex flex-col gap-2;
}
- /* opis NIE ucinany */
- .fuz-chsearch__desc {
+ .f-chsearch__desc {
@apply text-sm md:text-base opacity-90;
overflow-wrap: anywhere;
word-break: break-word;
}
- /* HTML jak w modalu */
- .fuz-chsearch__desc--html :global(p) {
+ .f-chsearch__desc--html :global(p) {
@apply mb-2;
}
- .fuz-chsearch__desc--html :global(ol),
- .fuz-chsearch__desc--html :global(ul) {
+ .f-chsearch__desc--html :global(ol),
+ .f-chsearch__desc--html :global(ul) {
@apply pl-6 mb-2;
}
- .fuz-chsearch__desc--html :global(li) {
+ .f-chsearch__desc--html :global(li) {
@apply mb-1;
}
- /* pakiety (bez gwarantowanych) */
- .fuz-chsearch__packages {
+ .f-chsearch__packages {
@apply text-sm opacity-80;
}
- .fuz-chsearch__pkg {
- @apply inline text-[--btn-background];
+ /* klikalny pakiet jak link */
+ .f-chsearch__pkg {
+ @apply inline;
+ background: transparent;
+ border: 0;
+ padding: 0;
+ cursor: pointer;
+ font: inherit;
+ color: var(--f-link, var(--btn-background));
+ text-decoration: underline;
}
- .fuz-chsearch__pkgnum {
+ .f-chsearch__pkg:hover {
+ text-decoration-thickness: 2px;
+ }
+
+ .f-chsearch__pkgnum {
@apply opacity-70;
}
/* =========================
Empty state
========================== */
- .fuz-chsearch__empty {
+ .f-chsearch__empty {
@apply mt-2 p-4 rounded-2xl border border-slate-200 dark:border-slate-700 opacity-80;
- }
\ No newline at end of file
+ }
+
+ .f-chsearch__input::-webkit-search-cancel-button {
+ -webkit-appearance: none;
+}
+
+.f-chsearch__input::-ms-clear {
+ display: none;
+}
+
+.f-chsearch__input[type="search"] {
+ appearance: none;
+}
\ No newline at end of file
diff --git a/src/styles/modal.css b/src/styles/modal.css
index 2b9ff7c..9e85666 100644
--- a/src/styles/modal.css
+++ b/src/styles/modal.css
@@ -2,98 +2,93 @@
MODAL — FULLSCREEN OVERLAY
=========================== */
-.fuz-modal-overlay {
+.f-modal-overlay {
@apply fixed inset-0 z-[9999] flex flex-col;
background: rgba(0, 0, 0, 0.65);
backdrop-filter: blur(6px);
animation: fadeIn 0.25s ease-out forwards;
}
-.fuz-modal-close {
+.f-modal-close {
@apply absolute top-4 right-6 text-3xl font-bold cursor-pointer transition-opacity;
@apply text-[--f-text] opacity-70;
}
-.fuz-modal-close:hover {
+.f-modal-close:hover {
@apply opacity-100;
}
/* panel – pełny ekran, ale treść centrowana max-w */
-.fuz-modal-panel {
+.f-modal-panel {
@apply w-full h-full overflow-y-auto bg-[--f-background] text-[--f-text];
@apply px-6 py-8 md:px-12 md:py-12;
}
/* wersja "kompaktowa" z mniejszym max-width (używana w dodatkach) */
-.fuz-modal-panel.fuz-modal-panel--compact {
+.f-modal-panel.f-modal-panel--compact {
@apply flex justify-center items-start;
}
-.fuz-modal-inner {
+.f-modal-inner {
@apply w-full max-w-4xl mx-auto;
}
-.fuz-modal-title {
+.f-modal-title {
@apply text-3xl md:text-4xl font-bold mb-8 text-center text-[--f-text];
}
-.fuz-modal-content p {
+.f-modal-content p {
@apply leading-relaxed text-2xl text-center;
}
-.fuz-modal-content p img {
+.f-modal-content p img {
@apply mt-2;
}
@keyframes fadeIn {
- from {
- opacity: 0;
- }
-
- to {
- opacity: 1;
- }
+ from { opacity: 0; }
+ to { opacity: 1; }
}
/* ===========================
TELEFON — AKORDEON
=========================== */
-.fuz-modal-phone-list.fuz-accordion {
+.f-modal-phone-list.f-accordion {
@apply flex flex-col gap-2;
}
-.fuz-accordion-item {
+.f-accordion-item {
@apply rounded-xl border overflow-hidden bg-[--f-background];
- border-color: rgba(148, 163, 184, 0.6); /* neutralna szarość — ok w obu motywach */
+ border-color: rgba(148, 163, 184, 0.6);
}
-.fuz-accordion-header {
+.f-accordion-header {
@apply w-full flex items-center justify-between gap-4 px-4 py-2 cursor-pointer;
background: rgba(148, 163, 184, 0.06);
border: none;
outline: none;
}
-.fuz-accordion-header-left {
+.f-accordion-header-left {
@apply flex items-center gap-1;
}
-.fuz-modal-phone-name {
+.f-modal-phone-name {
@apply font-medium ml-2;
}
-.fuz-modal-phone-price {
+.f-modal-phone-price {
@apply font-semibold whitespace-nowrap;
}
-.fuz-accordion-body {
+.f-accordion-body {
@apply px-4 pt-2 pb-3;
border-top: 1px solid rgba(148, 163, 184, 0.4);
}
-/* wyróżnienie otwartego pakietu – lekki „accent wash” na tle */
-.fuz-accordion-item.is-open .fuz-accordion-header {
+/* wyróżnienie otwartego pakietu */
+.f-accordion-item.is-open .f-accordion-header {
background: color-mix(in srgb, var(--fuz-accent, #2563eb) 8%, transparent);
}
@@ -101,94 +96,96 @@
DODATKI — KOLUMNOWA LISTA
=========================== */
-.fuz-addon-list {
+.f-addon-list {
@apply flex flex-col gap-2;
}
-.fuz-addon-item {
+.f-addon-item {
@apply grid items-center gap-3 px-3 py-2 rounded-xl border cursor-pointer;
- grid-template-columns: auto 1fr auto; /* [checkbox] [opis] [cena] */
+ grid-template-columns: auto 1fr auto;
border-color: rgba(148, 163, 184, 0.5);
background: var(--f-background);
}
-/* kliknięcie w środek też zaznacza checkboxa */
-.fuz-addon-item input[type="checkbox"] {
+.f-addon-item input[type="checkbox"] {
@apply cursor-pointer;
}
-.fuz-addon-checkbox {
+.f-addon-checkbox {
@apply flex items-center justify-center;
}
-.fuz-addon-main {
+.f-addon-main {
@apply flex flex-col gap-0.5;
}
-.fuz-addon-name {
+.f-addon-name {
@apply font-medium;
}
-.fuz-addon-desc {
+.f-addon-desc {
@apply text-sm opacity-85;
}
-.fuz-addon-price {
+.f-addon-price {
@apply font-semibold whitespace-nowrap;
}
-/* lekkie podświetlenie przy hover */
-.fuz-addon-item:hover {
- border-color: color-mix(in srgb, var(--fuz-accent, #2563eb) 70%, rgba(148, 163, 184, 0.5) 30%);
+.f-addon-item:hover {
+ border-color: color-mix(
+ in srgb,
+ var(--fuz-accent, #2563eb) 70%,
+ rgba(148, 163, 184, 0.5) 30%
+ );
}
/* ===========================
PODSUMOWANIE MIESIĘCZNE
=========================== */
-.fuz-summary {
+.f-summary {
@apply pt-2;
}
-.fuz-summary-list {
+.f-summary-list {
@apply flex flex-col gap-1 mt-2 p-4 rounded-xl;
background: rgba(148, 163, 184, 0.07);
}
-.fuz-summary-row,
-.fuz-summary-total {
+.f-summary-row,
+.f-summary-total {
@apply flex items-center justify-between;
}
-.fuz-summary-row span:last-child {
+.f-summary-row span:last-child {
@apply font-medium whitespace-nowrap;
}
-.fuz-summary-total {
+.f-summary-total {
@apply mt-1 pt-2;
border-top: 1px solid rgba(148, 163, 184, 0.4);
}
-.fuz-summary-total span:last-child {
+.f-summary-total span:last-child {
@apply font-bold;
font-size: 1.25rem;
color: var(--fuz-accent, #2563eb);
}
-.fuz-modal-section {
+.f-modal-section {
@apply mb-6;
}
-.fuz-modal-section h3 {
+.f-modal-section h3 {
@apply text-xl md:text-2xl font-semibold mb-3;
}
-/* opcja "bez telefonu" — trochę lżejsze tło */
-.fuz-accordion-item--no-phone .fuz-accordion-header {
+/* opcja "bez telefonu" */
+.f-accordion-item--no-phone .f-accordion-header {
background: rgba(148, 163, 184, 0.03);
}
-.fuz-accordion-header-left input[type="radio"] {
+.f-accordion-header-left input[type="radio"] {
width: 1.05rem;
height: 1.05rem;
transform: scale(1.05);
@@ -196,7 +193,7 @@
cursor: pointer;
}
-.fuz-addon-checkbox input[type="checkbox"] {
+.f-addon-checkbox input[type="checkbox"] {
width: 1.05rem;
height: 1.05rem;
transform: scale(1.05);
@@ -204,10 +201,7 @@
cursor: pointer;
}
-.fuz-accordion-header-left {
+.f-accordion-header-left,
+.f-addon-checkbox {
align-items: center;
}
-
-.fuz-addon-checkbox {
- align-items: center;
-}
\ No newline at end of file
diff --git a/src/styles/offers/offers-table.css b/src/styles/offers/offers-table.css
index dc66699..2338cee 100644
--- a/src/styles/offers/offers-table.css
+++ b/src/styles/offers/offers-table.css
@@ -331,16 +331,3 @@ obszar ze scrollem wewnątrz modala
outline-offset: 4px;
}
-.fuz-chsearch__pkg {
- background: transparent;
- border: 0;
- padding: 0;
- cursor: pointer;
- font: inherit;
- color: var(--f-link, var(--f-link));
- text-decoration: underline;
-}
-
-.fuz-chsearch__pkg:hover {
- text-decoration-thickness: 2px;
-}
\ No newline at end of file