1import{_ as M}from"./chevron-BBsCRug2.js";import{r as p,x as z,aV as j,c as g,v as J,A as n,B as O,D as r,O as $,J as w,ac as A,R as N,aW as Q,o as l,F as q,m as U}from"./vue-vendor-D3A64hWS.js";import{S as W}from"./SiteBreadcrumbs-DFSqfSbK.js";import{N as Y}from"./NewsCard-DaNgytiC.js";import{e as G,b as H}from"./index-CfI8_BHW.js";import"./vendor-B44aeXoD.js";/* empty css */import"./axios-B9ygI19o.js";import"./element-plus-CM63mks_.js";const K={class:"news-page"},X={class:"news-section"},Z={class:"container"},I={class:"grid-news"},aa={class:"news-filters"},ea=["onClick"],ta={key:0,class:"news-loading"},sa={key:1,class:"news-error"},ra={key:2,class:"news-grid"},la={key:3,class:"news-empty"},na={key:4,class:"news-pagination"},oa=["disabled"],ia=["onClick"],ua={key:0,class:"pagination-ellipsis"},ca=["disabled"],k=9,da={__name:"NewsPage",setup(pa){const m=j(),h=Q();function C(a){const e=a.page;if(e==null)return 1;const t=Number(Array.isArray(e)?e[0]:e);return!Number.isFinite(t)||t<1?1:Math.floor(t)}const P=p([{id:"all",name:"ÐÑе"}]),c=p("all"),v=p(!1),f=p(null),d=p([]),B=a=>{if(!a)return"";try{const e=new Date(a);if(isNaN(e.getTime()))return a;const t=String(e.getDate()).padStart(2,"0"),s=String(e.getMonth()+1).padStart(2,"0"),u=e.getFullYear();return`${t}.${s}.${u}`}catch(e){return console.warn("Error formatting date:",a,e),a}},E=a=>{let e=[];return a.tags&&(Array.isArray(a.tags)?e=a.tags:typeof a.tags=="string"&&(e=a.tags.split(",").map(t=>t.trim()).filter(t=>t.length>0))),{id:a.id,title:a.title||a.name||"",excerpt:a.excerpt||a.description||a.short_description||"",image:a.picture||a.image||a.img||a.photo||"/images/news-placeholder.jpg",date:B(a.data||a.date||a.created_at||a.publish_date),path:a.path||a.slug?`/news/${a.slug}`:`/news/${a.id}`,tags:e,category:e.length>0?e[0].toLowerCase():"all"}},S=async()=>{v.value=!0,f.value=null;try{const a=await H();let e=[];
1if(Array.isArray(a))e=a;else if(a.news&&Array.isArray(a.news))e=a.news;else if(a.data&&Array.isArray(a.data))e=a.data;else if(a.items&&Array.isArray(a.items))e=a.items;else{d.value=[],console.warn("Unexpected news data format:",a),v.value=!1;return}d.value=e.map(E);const t=new Set;d.value.forEach(u=>{u.tags&&Array.isArray(u.tags)&&u.tags.forEach(b=>{b&&b.trim().length>0&&t.add(b.trim())})});const s=Array.from(t).map(u=>({id:u.toLowerCase(),name:u}));P.value=[{id:"all",name:"ÐÑе"},...s]}catch(a){console.error("Error loading news:",a),f.value="Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð½Ð¾Ð²Ð¾ÑÑи. ÐожалÑйÑÑа, попÑобÑйÑе позже.",d.value=[]}finally{v.value=!1}};z(()=>{S()});const o=p(C(m.query)),x=g(()=>c.value==="all"?d.value:d.value.filter(a=>!a.tags||!Array.isArray(a.tags)?!1:a.tags.some(e=>e.toLowerCase()===c.value))),i=g(()=>Math.ceil(x.value.length/k));function D(){const a=C(m.query),e=i.value;if(e===0){o.value=Math.max(1,a);return}const t=Math.min(Math.max(1,a),e);o.value=t,t!==a&&h.replace({name:"News",query:t>1?{page:String(t)}:{}})}J(()=>[m.query.page,i.value],()=>D(),{flush:"post"});const F=g(()=>{const a=(o.value-1)*k,e=a+k;return x.value.slice(a,e)}),L=a=>{a==="all"?c.value="all":c.value!==a&&(c.value=a),h.replace({name:"News",query:{}})},_=a=>{a>=1&&a<=i.value&&h.replace({name:"News",query:a>1?{page:String(a)}:{}})},R=()=>{o.value>1&&_(o.value-1)},V=()=>{o.value<i.value&&_(o.value+1)},y=g(()=>{const a=[],e=i.value,t=o.value;if(e<=5)for(let s=1;s<=e;s++)a.push(s);else if(t<=3)for(let s=1;s<=5;s++)a.push(s);else if(t>=e-2)for(let s=e-4;s<=e;s++)a.push(s);else for(let s=t-2;s<=t+2;s++)a.push(s);return a}),T=g(()=>y.value.length>0&&y.value[y.value.length-1]<i.value);return(a,e)=>(l(),n("div",K,[O(W),r("main",null,[r("section",X,[r("div",Z,[r("div",I,[e[4]||(e[4]=r("h1",{class:"page-title"},"ÐовоÑÑи",-1)),r("div",aa,[(l(!0),n(w,null,A(P.value,t=>(l(),n("button",{key:t.id,class:q(["news-filter-btn",{"news-filter-btn--active":c.value===t.id}]),onClick:s=>L(t.id)},N(t.name),11,ea))),128))]),v.value?(l(),n("div",ta,[...e[0]||(e[0]=[r("p",null,"ÐагÑÑзка новоÑÑей...",-1)])])):f.value?(l(),n("div",sa,[r("p",null,N(f.value),1)])):F.value.length>0?(l(),n("div",ra,[(l(!0),n(w,null,A(F.value,t=>(l(),U(Y,{key:t.id,news:t},null,8,["news"]))),128))])):(l(),n("div",la,[...e[1]||(e[1]=[r("p",null,"ÐовоÑÑи не найденÑ",-1)])])),i.value>1?(l(),n("div",na,[r("button",{class:"pagination-btn pagination-btn--arrow",disabled:o.value===1,onClick:R,"aria-label":"ÐÑедÑдÑÑÐ°Ñ ÑÑÑаниÑа"},[...e[2]||(e[2]=[r("img",{src:M,alt:"",class:"pagination-arrow pagination-arrow--left"},null,-1)])],8,oa),(l(!0),n(w,null,A(y.value,t=>(l(),n("button",{key:t,class:q(["pagination-btn",{"pagination-btn--active":o.value===t}]),onClick:s=>_(t)},N(t),11,ia))),128)),T.value?(l(),n("span",ua,"...")):$("",!0),r("button",{class:"pagination-btn pagination-btn--arrow",disabled:o.value===i.value,onClick:V,"aria-label":"СледÑÑÑÐ°Ñ ÑÑÑаниÑа"},[...e[3]||(e[3]=[r("img",{src:M,alt:"",class:"pagination-arrow pagination-arrow--right"},null,-1)])],8,ca)])):$("",!0)])])])])]))}},Aa=G(da,[["__scopeId","data-v-afd738e3"]]);export{Aa 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.