1import{r as N,j as s}from"./react-core-Bqpqi34S.js";import{af as w,S as v,f as o,a0 as _,h as S,ag as C,l as E,M as P,ah as A,a4 as M,s as q}from"./index-z8t6FwzL.js";import{u as L}from"./query-vendor-CrtQ-Yrb.js";import{B as z}from"./Breadcrumbs-CZZHrfwD.js";import{a as B,L as D}from"./router-CvGM0cUe.js";import"./ui-nav-CigGr8qy.js";import"./tiptap-editor-BSx0zDC6.js";const h=24,F=["Politik","Wirtschaft","Sport","Kultur","Vermischtes"],g=[{key:"",label:"Alle",priorities:null},{key:"eil",label:"Eilmeldungen",priorities:[1,2]},{key:"top",label:"Top-News",priorities:[3]},{key:"zusammenfassung",label:"Zusammenfassungen",priorities:[5]}];function Z(){const[l,d]=N.useState(1),[m,k]=B(),r=m.get("kategorie")||"",n=m.get("art")||"",p=g.find(e=>e.key===n)??g[0],x=(e,t)=>{const i=new URLSearchParams(m);t?i.set(e,t):i.delete(e),k(i,{replace:!0}),d(1)},{data:a,isLoading:c}=L({queryKey:["agency-news-list",l,r,n],queryFn:async()=>{const e=(l-1)*h;let t=q.from("agency_news").select("id, slug, title, preview_text, city, published_at, image_url, image_alt, category",{count:"exact"}).eq("is_published",!0).lte("published_at",new Date().toISOString()).order("published_at",{ascending:!1}).range(e,e+h-1);r&&(t=t.eq("category",r)),p.priorities&&(t=t.in("priority",p.priorities));const{data:i,error:y,count:b}=await t;if(y)throw y;return{items:i??[],total:b??0}}}),u=Math.max(1,Math.ceil(((a==null?void 0:a.total)??0)/h)),{placeholderCount:f,rememberCount:j}=w("agency-news-list",6);return N.useEffect(()=>{!c&&a&&j(Math.min(a.items.length,6))},[c,a,j]),s.jsxs(s.Fragment,{children:[s.jsx(v,{title:"Aktuelle Nachrichten aus Deutschland und der Welt",description:"Aktuelle Nachrichten und Eilmeldungen der Nachrichtenagentur dts â Politik, Wirtschaft, Gesellschaft und Sport, laufend aktualisiert.",canonical:"/nachrichten",noindex:l>1||!!(r||n)}),s.jsxs("div",{className:"container mx-auto px-4 py-6",children:[s.jsx(z,{items:[{label:"Nachrichten",href:"/nachrichten"}]}),s.jsx("h1",{className:"text-3xl font-bold mt-4 mb-2",children:"Aktuelle Nachrichten"}),s.jsx("p",{className:"text-muted-foreground mb-6",children:"Meldungen der Nachrichtenagentur dts â laufend aktualisiert."}),s.jsxs("div",{className:"space-y-2 mb-6",role:"group","aria-label":"Filter",children:[s.jsx("div",{className:"flex flex-wrap gap-2",children:["",...F].map(e=>s.jsx(o,{size:"sm",variant:r===e?"default":"outline",onClick:()=>x("kategorie",e),children:e||"Alle Kategorien"},e||"alle"))}),s.jsx("div",{className:"flex flex-wrap gap-2",children:g.map(e=>s.jsx(o,{size:"sm",variant:n===e.key?"secondary":"ghost",onClick:()=>x("art",e.key),children:e.label},e.key||"alle"))})]}),!c&&(a==null?void 0:a.items.length)===0&&s.jsx("p",{className:"text-muted-foreground",children:"Keine Meldungen für diese Auswahl."}),c?f===0?null:s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:Array.from({length:f}).map((e,t)=>s.jsx(_,{className:"h-72 w-full"},t))}):s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:a==null?void 0:a.items.map(e=>s.jsx(S,{className:"overflow-hidden group h-full",children:s.jsxs(D,{to:`/nachrichten/${e.slug}`,className:"block h-full",children:[e.image_url&&s.jsx("img",{src:C(e.image_url),alt:e.image_alt||e.title,loading:"lazy",width:640,height:360,className:"w-full aspect-video object-cover"}),s.jsxs(E,{className:"p-4 space-y-2",children:[s.jsx("h2",{className:"font-semibold leading-snug group-hover:text-primary transition-colors line-clamp-3",children:e.title}),e.preview_text&&s.jsx("p",{className:"text-sm text-muted-foreground line-clamp-3",children:e.preview_text}),s.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground",children:[e.city&&s.jsxs("span",{className:"inline-flex items-center gap-1",children:[s.jsx(P,{className:"h-3 w-3"}),e.city]}),s.jsxs("span",{className:"inline-flex items-center gap-1",children:[s.jsx(M,{className:"h-3 w-3"}),A(e.published_at)]})]})]})]})},e.id))}),u>1&&s.jsxs("div",{className:"flex items-center justify-center gap-4 mt-8",children:[s.jsx(o,{variant:"outline",disabled:l===1,onClick:()=>d(e=>e-1),children:"Zurück"}),s.jsxs("span",{className:"text-sm text-muted-foreground",children:["Seite ",l," von ",u]}),s.jsx(o,{variant:"outline",disabled:l>=u,onClick:()=>d(e=>e+1),children:"Weiter"})]})]})]})}export{Z as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.