import { useQuery } from "@tanstack/react-query"; import { Link, useLocation, useSearch } from "wouter"; import { type Article } from "@shared/schema"; import { useEffect } from "react"; import { usePageMeta } from "@/hooks/use-page-meta"; import { Eye, ChevronLeft, ChevronRight } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Skeleton } from "@/components/ui/skeleton"; import Header from "@/components/header"; import Footer from "@/components/footer"; import { PageSideAds, TopBannerAd, MultiplexAd, ArticleCardAd } from "@/components/adsense"; import { format } from "date-fns"; import { de } from "date-fns/locale"; interface Res { articles: Article[]; total: number; page: number; totalPages: number; hasMore: boolean; rubriken: string[]; } const ROW1 = ["Politik", "Promis", "Sport", "Musik & Film"]; const ROW2 = ["Wetter", "Finanzen"]; export default function AktuellesPage() { const search = useSearch(); const [, setLocation] = useLocation(); const params = new URLSearchParams(search); const page = Math.max(1, parseInt(params.get("page") || "1")); const rubrik = params.get("rubrik") || ""; usePageMeta( `Aktuelles${rubrik ? ` – ${rubrik}` : ""}${page > 1 ? ` – Seite ${page}` : ""} | FOLX TV`, "Aktuelle Nachrichten aus Politik, Sport, Promis sowie Musik und Film – täglich neu bei FOLX TV." ); const { data, isLoading } = useQuery({ queryKey: ["/api/articles/aktuelles", rubrik, page], queryFn: async () => { const q = new URLSearchParams({ page: String(page), limit: "12" }); if (rubrik) q.set("rubrik", rubrik); const r = await fetch(`/api/articles/aktuelles?${q}`); if (!r.ok) throw new Error("laden fehlgeschlagen"); return r.json(); }, }); useEffect(() => { window.scrollTo({ top: 0 }); }, [page, rubrik]); const go = (r: string, p = 1) => { const q = new URLSearchParams(); if (r) q.set("rubrik", r); if (p > 1) q.set("page", String(p)); setLocation(`/aktuelles${q.toString() ? `?${q}` : ""}`); }; const items = data?.articles || []; return (
{/* Vrstici rubrik kot na ONE - brez horoskopa in brez Auf diesen Tag */}

{rubrik || "Aktuelles"}

{isLoading ? (
{Array.from({ length: 6 }).map((_, i) => ( ))}
) : items.length === 0 ? (

In dieser Rubrik gibt es derzeit keine Beiträge.

) : (
{items.map((a, idx) => (
{idx > 0 && idx % 6 === 0 && (
)}
{a.coverImage && (
{a.title}
)}
{a.category} {format(new Date(a.publishedAt), "d. MMM yyyy", { locale: de })}

{a.title}

{a.excerpt}

{a.views.toLocaleString()}
))}
)} {data && data.totalPages > 1 && (
Seite {page} von {data.totalPages}
)}
Anzeige
); }