--- import DefaultLayout from "../../layouts/DefaultLayout.astro"; import yaml from "js-yaml"; import fs from "node:fs"; import Markdown from "../../islands/Markdown.jsx"; import AddonChannelsGrid from "../../islands/jambox/AddonChannelsModal.jsx"; import "../../styles/jambox-tematyczne.css"; /** Typy minimalne */ type AddonPriceRow = { pakiety?: string[] | any; "12m"?: number | string; bezterminowo?: number | string; }; type TvAddon = { id?: string; nazwa?: string; tid?: number; typ?: string; opis?: string; image?: string; cena?: AddonPriceRow[]; }; type TvAddonsDoc = { tytul?: string; opis?: string; cena_opis?: string; dodatki?: TvAddon[]; }; const doc = yaml.load( fs.readFileSync("./src/content/internet-telewizja/tv-addons.yaml", "utf8"), ) as TvAddonsDoc; const pageTitle = doc?.tytul ?? "Dodatkowe pakiety TV"; const pageDesc = doc?.opis ?? ""; const addons: TvAddon[] = Array.isArray(doc?.dodatki) ? doc.dodatki : []; ---

{pageTitle}

{pageDesc && }
{ addons.map((addon: TvAddon, index: number) => { const isAboveFold = index === 0; const hasYamlImage = !!String(addon?.image ?? "").trim(); const pkgName = String(addon?.nazwa ?? "").trim(); const assumeHasMedia = pkgName ? true : hasYamlImage; const anchorId = addon?.tid != null ? `tid-${addon.tid}` : undefined; return (
{pkgName &&

{pkgName}

} {addon?.opis && }
{pkgName ? ( ) : null}
); }) }