diff --git a/client/src/components/adsense.tsx b/client/src/components/adsense.tsx index da9dd8f..8589f32 100644 --- a/client/src/components/adsense.tsx +++ b/client/src/components/adsense.tsx @@ -195,7 +195,7 @@ export function ArticleCardAd() { diff --git a/client/src/pages/category.tsx b/client/src/pages/category.tsx index 144e190..9f4cf21 100644 --- a/client/src/pages/category.tsx +++ b/client/src/pages/category.tsx @@ -156,7 +156,7 @@ export default function CategoryPage({ fixedCategory }: { fixedCategory?: string {/* Oglas je fiksen 300x600 in bi vrstico raztegnil na svojo visino. Zato so vrstice zaklenjene na 292 px, oglas pa zasede dve, tako da se visini ujameta in pod karticami ni praznega prostora. */} -
+
{(() => { const items: React.ReactNode[] = []; const articles = data.articles; @@ -169,7 +169,7 @@ export default function CategoryPage({ fixedCategory }: { fixedCategory?: string const adCol = row === 0 ? 3 : row % 4; for (let col = 0; col < 4; col++) { if (col === adCol) { - items.push(
); + items.push(
); } else if (ai < articles.length) { const a = articles[ai]; items.push( diff --git a/client/src/pages/home.tsx b/client/src/pages/home.tsx index 9d045d5..54ba9ba 100644 --- a/client/src/pages/home.tsx +++ b/client/src/pages/home.tsx @@ -369,10 +369,7 @@ function VideoCard({ video }: { video: YtVideo }) {

{video.shortTitle || video.title}

-

- {(video.teaser || "").replace(/^Musik News aus Schlager & Volksmusik:\s*/i, "") || - "Jetzt ansehen auf FOLX TV"} -

+
Video ansehen @@ -409,7 +406,9 @@ function MediumCard({ article, focalPoints, compact }: { article: Article; focal {timeAgo(new Date(article.publishedAt))}

{article.title}

-

{article.excerpt}

+ {/* Kartica je visoka 300 px, kolikor meri oglas 300x250 z napisom + Anzeige. Za izvlecek ni prostora, ostanejo slika, rubrika, cas, + naslov na dve vrstici in stevilo ogledov. */}
{article.views.toLocaleString()} @@ -1068,38 +1067,15 @@ export default function Home() { // naslednjo: oglas zasede levi stolpec cez dve vrstici, ob njem pa // gresta dve vrsti novic (sest kartic). Prej je pod tremi karticami // ob visokem oglasu ostal prazen prostor. - const jeOglasna = row.some((it) => it.type === "ad"); - const naslednja = gridRows[ri + 1] || []; - if (jeOglasna && naslednja.length === 4 && !naslednja.some((it) => it.type === "ad" || it.type === "widget")) { - const oglas = row.find((it) => it.type === "ad")!; - const ostali = [...row.filter((it) => it.type !== "ad"), ...naslednja]; - return ( - - {/* Oglas je 600 px. Dve vrstici kartic z razmikom 16 px se - ujameta natanko takrat, ko je kartica visoka 292 px. */} -
-
- -
- {ostali.slice(0, 6).map((item) => - item.type === "video" && item.video - ? - : item.article - ? - : null - )} -
-
- ); - } - if (ri > 0 && gridRows[ri - 1]?.some((it) => it.type === "ad")) return null; + // 31. 8. 2026: oglas je zdaj 300x250 in gre v eno samo celico, zato + // zdruzevanja dveh vrstic ne rabimo vec. return (
{/* Trdna visina vrstice: brez nje je vsaka vrstica visoka toliko kot najdaljsi izvlecek v njej (izmerjeno 369, 399, 418 px) in stran ob vsakem nalaganju poskakuje. */} -
+
{row.map((item) => item.type === "widget" ?
{item.widget!.el}