diff --git a/src/content/internet-telewizja/addons.yaml b/src/content/internet-telewizja/addons.yaml
index 468d27a..8008df5 100644
--- a/src/content/internet-telewizja/addons.yaml
+++ b/src/content/internet-telewizja/addons.yaml
@@ -1,4 +1,4 @@
-tytul: "Dodatkowe usługi"
+tytul: "Dodatkowe usługi 2"
opis: "Wybierz usługi dodatkowe do internetu z telewizją."
cena_opis: "zł/mies."
diff --git a/src/content/internet-telewizja/tv-addons.yaml b/src/content/internet-telewizja/tv-addons.yaml
index 00e5fb2..daf9b81 100644
--- a/src/content/internet-telewizja/tv-addons.yaml
+++ b/src/content/internet-telewizja/tv-addons.yaml
@@ -155,6 +155,7 @@ dodatki:
- id: disney_standard
nazwa: Disney+ Standard
typ: checkbox
+ tid: 10001
opis: |
Historie na całe życie czekają. Odkryj hity filmowe, nowe seriale i produkcje oryginalne ze świata Disneya, Pixara, Gwiezdnych wojen, Marvela, a także produkcje Hulu, National Geographic i FX.
Oglądaj, kiedy chcesz.
@@ -180,6 +181,7 @@ dodatki:
- id: disney_premium
nazwa: Disney+ Premium
typ: checkbox
+ tid: 10002
opis: |
Historie na całe życie czekają. Odkryj hity filmowe, nowe seriale i produkcje oryginalne ze świata Disneya, Pixara, Gwiezdnych wojen, Marvela, a także produkcje Hulu, National Geographic i FX.
Oglądaj, kiedy chcesz.
diff --git a/src/islands/jambox/JamboxAddonsModal.jsx b/src/islands/jambox/JamboxAddonsModal.jsx
index bb3a1cf..2b225bf 100644
--- a/src/islands/jambox/JamboxAddonsModal.jsx
+++ b/src/islands/jambox/JamboxAddonsModal.jsx
@@ -335,17 +335,23 @@ export default function JamboxAddonsModal({
-
{a.nazwa}
- {/* {a.opis &&
{a.opis}
} */}
-
- Przejdź do szczegółowch informacji o pakiecie tematycznnym
-
+
{a.nazwa}
+
+{isTv && a.tid ? (
+
e.stopPropagation()}
+ >
+ Przejdź do szczegółowych informacji pakietu {a.nazwa ?? ""}
+
+) : (
+ a.opis ?
{a.opis}
: null
+)}
{termPricing && (
e.stopPropagation()}>
diff --git a/src/islands/jambox/JamboxChannelsSearch.jsx b/src/islands/jambox/JamboxChannelsSearch.jsx
index c976d7a..7038764 100644
--- a/src/islands/jambox/JamboxChannelsSearch.jsx
+++ b/src/islands/jambox/JamboxChannelsSearch.jsx
@@ -292,18 +292,18 @@ export default function JamboxChannelsSearch() {
@@ -420,17 +420,18 @@ export default function JamboxChannelsSearch() {
Dostępny w pakietach tematycznych:
{c.thematic_packages.map((p) => (
- window.open(
+ `/internet-telewizja/pakiety-tematyczne#tid-${encodeURIComponent(p.tid)}`,
+ "_blank",
+ "noopener,noreferrer"
+ )}
title="Otwórz w nowej karcie"
>
{p.name}
-
+
))}
diff --git a/src/pages/internet-telewizja/pakiety-tematyczne.astro b/src/pages/internet-telewizja/pakiety-tematyczne.astro
index be1d642..5f6a7b6 100644
--- a/src/pages/internet-telewizja/pakiety-tematyczne.astro
+++ b/src/pages/internet-telewizja/pakiety-tematyczne.astro
@@ -47,44 +47,80 @@ const addons: TvAddon[] = Array.isArray(doc?.dodatki) ? doc.dodatki : [];
- {addons.map((addon: TvAddon, index: number) => {
- const isAboveFold = index === 0;
+ {
+ addons.map((addon: TvAddon, index: number) => {
+ const isAboveFold = index === 0;
- const hasYamlImage = !!String(addon?.image ?? "").trim();
- const pkgName = String(addon?.nazwa ?? "").trim();
+ const hasYamlImage = !!String(addon?.image ?? "").trim();
+ const pkgName = String(addon?.nazwa ?? "").trim();
- const assumeHasMedia = pkgName ? true : hasYamlImage;
- const anchorId = addon?.tid != null ? String(addon.tid) : undefined;
+ const assumeHasMedia = pkgName ? true : hasYamlImage;
+ const anchorId = addon?.tid != null ? `tid-${addon.tid}` : undefined;
- return (
-
-
- {/* TEKST — lewa, od góry */}
-
- {pkgName &&
{pkgName}
}
- {addon?.opis &&
}
+ return (
+
+
+
+ {pkgName &&
{pkgName}
}
+ {addon?.opis && }
+
+
+
+
+ );
+ })
+ }
+
+
- {/* MEDIA — prawa */}
-
-
-
- );
- })}
diff --git a/src/styles/addons.css b/src/styles/addons.css
index 67fbd2c..19df908 100644
--- a/src/styles/addons.css
+++ b/src/styles/addons.css
@@ -460,4 +460,7 @@
.f-radio-details {
@apply pl-10 pr-3 pb-3 -mt-1 text-sm;
/* pl-10 = przesunięcie w prawo (radio + gap) */
- }
\ No newline at end of file
+ }
+
+
+
\ No newline at end of file
diff --git a/src/styles/jambox-tematyczne.css b/src/styles/jambox-tematyczne.css
index 9e7c662..cc99834 100644
--- a/src/styles/jambox-tematyczne.css
+++ b/src/styles/jambox-tematyczne.css
@@ -1,13 +1,24 @@
-/* ===========================
- TV ADDONS — LAYOUT FIXES
- =========================== */
+/* addon grid do góry */
+.f-addon-section { align-items: start; }
-/* f-section-grid ma u Ciebie items-center (centrowanie w pionie),
- więc dla addonów wymuszamy start (od góry). */
-.f-addon-section {
- align-items: start; /* override dla grid items */
+/* (opcjonalnie) jeśli navbar na desktop ma inną wysokość */
+@media (min-width: 768px){
+ section.f-section[id^="tid-"]{
+ scroll-margin-top: calc(var(--f-navbar-height, 72px) + 8px);
+ }
}
+
+/* 1 kolumna + ukryj media gdy brak */
+[data-addon-section][data-has-media="0"] {
+ grid-template-columns: 1fr !important;
+}
+
+[data-addon-section][data-has-media="0"] .f-addon-media {
+ display: none;
+}
+
+
/* Gdy island stwierdzi brak ikon i brak fallback image:
- 1 kolumna
- ukryj pusty blok mediów