1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,205529,e=>{"use strict";var t=e.i(843476),i=e.i(657688);let n=/^(?:https?:)?\/\/(?:www\.|old\.|demo\.|digital\.|21news\.)?rtv21\.tv(?::\d+)?/i;function a(e){let t=e.trim();if(!t)return"";if(n.test(t)||t.startsWith("//"))try{let e=t.startsWith("//")?`https:${t}`:t;return new URL(e).pathname}catch{return""}return t}e.s(["default",0,function({src:e,alt:l="",sizes:s,priority:r=!1,quality:o=70,className:c,fetchPriority:d}){let u=function(e){if(!e)return"";if(e.includes("/wp-content/uploads/")){let t=(e||"").trim();if(!t)return"";if(/^https?:\/\//i.test(t)&&!n.test(t)&&!t.startsWith("//"))return t;let i=a(t);if(!i)return"";let l=i.indexOf("?");return(l>=0&&(i=i.slice(0,l)),i.startsWith("/"))?i:""}return a(e)||e}(e);return u?(0,t.jsx)(i.default,{src:u,alt:l,fill:!0,sizes:s,priority:r,fetchPriority:d??(r?"high":"auto"),loading:r?"eager":"lazy",decoding:"async",quality:o,className:c??"rtv-tile-img",style:{objectFit:"cover"}}):null}],205529)},345644,e=>{"use strict";var t=e.i(843476),i=e.i(271645);let n="rtv21_follow_cats",a=[{slug:"kosova",label:"Kosova"},{slug:"lajme",label:"Lajme"},{slug:"sport",label:"Sport"},{slug:"bota",label:"Bota"},{slug:"ekonomi-biznesi",label:"Ekonomi"},{slug:"showbiz",label:"Showbiz"},{slug:"kulture",label:"Kulturë"}];function l(e){let t=encodeURIComponent(JSON.stringify(e));document.cookie=`rtv21_follow_cats=${t};path=/;max-age=31536000;SameSite=Lax`}e.s(["default",0,function(){let[e,s]=(0,i.useState)([]),[r,o]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{try{let e=localStorage.getItem(n);if(e){let t=JSON.parse(e);s(t),l(t)}}catch{}},[]),(0,t.jsxs)("section",{className:"rtv-follow",children:[(0,t.jsx)("div",{className:"rtv-follow__title",children:"Personalizo ballinën"}),(0,t.jsx)("p",{className:"rtv-follow__hint",children:"Zgjidh rubrikat që të interesojnë â seksionet e tjera fshihen nga ballina."}),(0,t.jsx)("div",{className:"rtv-follow__chips",children:a.map(i=>{let a=e.includes(i.slug);return(0,t.jsx)("button",{type:"button",className:`rtv-follow__chip${a?" is-on":""}`,onClick:()=>{var e;return e=i.slug,void s(t=>{let i=t.includes(e)?t.filter(t=>t!==e):[...t,e];return localStorage.setItem(n,JSON.stringify(i)),l(i),o(!0),setTimeout(()=>o(!1),2e3),i.length>0&&window.dispatchEvent(new CustomEvent("rtv21-prefs-changed",{detail:i})),i})},children:i.label},i.slug)})}),(0,t.jsxs)("button",{type:"button",className:"rtv-follow__cta",onClick:()=>{document.querySelector(".rtv-follow__chips button")?.scrollIntoView({behavior:"smooth",block:"center"})},children:[(0,t.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[(0,t.jsx)("path",{d:"M1 4h9M13 4h2M1 12h3M7 12h8M1 8h6M10 8h5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}
1),(0,t.jsx)("circle",{cx:"11.5",cy:"4",r:"1.8",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"5.5",cy:"12",r:"1.8",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"8.5",cy:"8",r:"1.8",fill:"currentColor"})]}),"Personalizo Tani"]}),e.length>0?(0,t.jsxs)("p",{className:"rtv-follow__meta",children:["Po shfaqen ",e.length," rubrika të zgjedhura. Pastro të gjitha për ballinë të plotë."]}):null,r?(0,t.jsx)("div",{className:"rtv-follow__saved",children:"U ruajt â â rifresko faqen për seksionet e reja."}):null]})},"getFollowedCategories",0,function(){try{let e=localStorage.getItem(n);return e?JSON.parse(e):[]}catch{return[]}}],345644)},871558,e=>{"use strict";var t=e.i(271645);function i(){document.documentElement.setAttribute("data-cn-fullcss","1")}e.s(["default",0,function(){return(0,t.useEffect)(()=>{let t=!1,n=0,a=0,l=window.setTimeout(()=>{t||i()},3500),s=()=>{t||Promise.all([e.A(890800),e.A(992429)]).then(()=>{t||i()})};return window.matchMedia("(max-width: 767px)").matches?(n=window.requestAnimationFrame(()=>{a=window.requestAnimationFrame(s)}),()=>{t=!0,window.clearTimeout(l),n&&window.cancelAnimationFrame(n),a&&window.cancelAnimationFrame(a)}):(s(),()=>{t=!0,window.clearTimeout(l)})},[]),null}])},261974,e=>{"use strict";var t=e.i(843476),i=e.i(271645),n=e.i(522016),a=e.i(113819),l=e.i(205529);let s="rtv21-epg-reminders-v1",r="rtv21-catchup-locked-dismiss",o=new Map;function c(){return"Notification"in window}function d(){return!(!c()||function(){if("u"<typeof navigator)return!1;let e=navigator.userAgent||"";return!!/iPhone|iPad|iPod/i.test(e)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1}()&&!function(){try{if(window.matchMedia("(display-mode: standalone)").matches||window.matchMedia("(display-mode: fullscreen)").matches)return!0}catch{}return!!window.navigator.standalone}())}function u(e){return e<10?`0${e}`:String(e)}function h(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${t.getUTCFullYear()}${u(t.getUTCMonth()+1)}${u(t.getUTCDate())}T${u(t.getUTCHours())}${u(t.getUTCMinutes())}${u(t.getUTCSeconds())}Z`:null}function m(e){return e.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/,/g,"\\,").replace(/;/g,"\\;")}function v(e){if(e.length<=75)return e;let t=[],i=e;for(t.push(i.slice(0,75)),i=i.slice(75);i.length;)t.push(` ${i.slice(0,74)}`),i=i.slice(74);return t.join("\r\n")}function p(){try{let e=localStorage.getItem(s);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function f(e){localStorage.setItem(s,JSON.stringify(e))}function g(e,t){return`${e}|${t}`.slice(0,180)}function x(e,t){let i=g(e,t);return p().some(e=>e.id===i&&!e.fired)}async function j(){return c()?"granted"===Notification.permission?"granted":"denied"===Notification.permission?"denied":Notification.requestPermission():"denied"}async function _(){if("u"<typeof navigator||!("serviceWorker"in navigator))return null;try{let e=await navigator.serviceWorker.register("/sw-epg-reminders.js",{scope:"/"});return await navigator.serviceWorker.ready,e}catch{return null}}async function b(e,t){let i="RTV21 LIVE",n=e.body||`"${e.title}" fillon tani. Hap RTV21 LIVE p\xebr ta ndjekur.`,a=`epg-${e.id}`;t?.active?t.active.postMessage({type:"epg-reminder-show",title:i,body:n,icon:e.icon||"/favicon.ico",tag:a,start:e.start,url:"/epg"}):t?await t.showNotification(i,{body:n,icon:e.icon||"/favicon.ico",tag:a,data:{url:"/epg"}}):new Notification(i,{body:n,icon:e.icon||"/favicon.ico",tag:a})}function w(e,t){let i=Date.parse(e.start);if(!Number.isFinite(i))return;let n=i-Date.now();if(o.has(e.id)&&(window.clearTimeout(o.get(e.id)),o.delete(e.id)),n<=0)return void y(e,t);let a=Math.min(n,0x7fffffff),l=window.setTimeout(()=>{o.delete(e.id),y(e,t)},a);o.set(e.id,l)}async function y(e,t){let i=p(),n=i.findIndex(t=>t.id===e.id);if(n>=0){if(i[n].fired)return;i[n]={...i[n],fired:!0},f(i)}await b(e,t)}async function N(){if(!d()||"granted"!==Notification.permission)return;let e=await _(),t=Date.now();for(let i of p()){if(i.fired)continue;let n=Date.parse(i.start);Number.isFinite(n)&&(n<=t+5e3?await y(i,e):w(i,e))}}async function k(e){let t,i="en"!==e.locale;if(!d()||"granted"!==await j()){var n=e,a=i;let t=Date.parse(n.start);if(!Number.isFinite(t)||t<=Date.now()+1e4)return{ok:!1,local:!1,message:a?"Ky emision ka filluar ose fillon menjëherë.":"This programme has already started."};if(!function(e){if("u"<typeof document)return!1;try{let t=new URLSearchParams({title:e.title,start:e.start});e.stop&&t.set("stop",e.stop);let i=`/api/epg/ics?${t.toString()}`,n=document.createElement("a");return n.href=i,n.download="rtv21-program.ics",n.rel="noopener",n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n),!0}catch{}let t=function(e){let t=h(e.start);if(!t)return null;let i=Date.parse(e.start),n=e.stop?Date.parse(e.stop):NaN,a=h(Number.isFinite(n)&&n>i?e.stop:new Date(i+36e5).toISOString());if(!a)return null;let l=h(new Date().toISOString()),s=`epg-${i}-${m(e.title).slice(0,40).replace(/\s+/g,"-")}@rtv21.tv`,r=m(`RTV21 LIVE â ${e.title}`),o=m(e.body||`"${e.title}" n\xeb RTV21 LIVE. Hap https://rtv21.tv p\xebr ta ndjekur.`),c=e.url||"https://rtv21.tv/epg";return["BEGIN:VCALENDAR","VERSION:2.0","PRODID:-//RTV21//EPG Reminder//SQ","CALSCALE:GREGORIAN","METHOD:PUBLISH","BEGIN:VEVENT",`UID:${s}`,`DTSTAMP:${l}`,`DTSTART:${t}`,`DTEND:${a}`,`SUMMARY:${r}`,`DESCRIPTION:${o}`,`URL:${c}`,"LOCATION:RTV21 LIVE","BEGIN:VALARM","TRIGGER:-PT5M","ACTION:DISPLAY",`DESCRIPTION:${r}`,"END:VALARM","END:VEVENT","END:VCALENDAR"].map(v).join("\r\n")+"\r\n"}(e);if(!t)return!1;let i=e.title.replace(/[^\w\u00C0-\u024F\- ]+/g,"").trim().slice(0,40).replace(/\s+/g,"-"),n=`rtv21-${i||"program"}.ics`;try{let e=new Blob([t],{type:"text/calendar;charset=utf-8"}),i=URL.createObjectURL(e),a=document.createElement("a");return a.href=i,a.download=n,a.rel="noopener",a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),window.setTimeout(()=>URL.revokeObjectURL(i),4e3),!0}catch{return!1}}({title:n.title,start:n.start,stop:n.stop,body:n.body||(a?`"${n.title}" fillon s\xeb shpejti n\xeb RTV21 LIVE. Hap https://rtv21.tv`:`"${n.title}" starts soon on RTV21 LIVE. Open https://rtv21.tv`),url:"https://rtv21.tv/epg"}))return{ok:!1,local:!1,message:a?"Nuk u hap kalendari. Provoni përsëri ose hapni Programin e plotë.":"Could not open the calendar file. Try again or open the full schedule."};let l=g(n.start,n.title),s=p().filter(e=>e.id!==l);return s.push({id:l,title:n.title,start:n.start,stop:n.stop,body:n.body,createdAt:Date.now()}),f(s),{ok:!0,local:!0,method:"calendar",message:a?"Hapet kalendari â shtoni kujtesën për këtë emision (funksionon në iPhone/iPad).":"Opening c
1alendar â add this programme reminder (works on iPhone/iPad)."}}let l=Date.parse(e.start);if(!Number.isFinite(l)||l<=Date.now()+1e4)return{ok:!1,local:!1,message:i?"Ky emision ka filluar ose fillon menjëherë.":"This programme has already started."};let s=g(e.start,e.title),r={id:s,title:e.title,start:e.start,stop:e.stop,body:e.body||(i?`"${e.title}" fillon tani n\xeb RTV21 LIVE.`:`"${e.title}" is starting now on RTV21 LIVE.`),icon:e.icon,createdAt:Date.now()},o=p().filter(e=>e.id!==s);o.push(r),f(o);let c=await _();w(r,c);try{let i=window.OneSignal?.User?.PushSubscription?.id||localStorage.getItem("onesignalPlayerId")||void 0,n=await fetch("/api/epg/remind",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e.title,start:e.start,stop:e.stop,body:r.body,playerId:i||void 0})}),a=await n.json().catch(()=>({}));t=a.ok?a.method:"none"===a.method?void 0:a.method}catch{}try{c?await c.showNotification("RTV21",{body:i?`Do t\xeb njoftoheni kur t\xeb filloj\xeb â${e.title}â.`:`Youâll be reminded when â${e.title}â starts.`,icon:e.icon||"/favicon.ico",tag:`epg-confirm-${s}`,silent:!1}):new Notification("RTV21",{body:i?`Do t\xeb njoftoheni kur t\xeb filloj\xeb â${e.title}â.`:`Youâll be reminded when â${e.title}â starts.`,icon:e.icon||"/favicon.ico",tag:`epg-confirm-${s}`})}catch{}return{ok:!0,local:!0,method:"notification",serverMethod:t,message:t?i?`Kujtesa u vendos (lokale + ${t}).`:`Reminder set (local + ${t}).`:i?"Kujtesa u vendos. Do të merrni njoftim në këtë pajisje kur të fillojë emisioni (mbajeni skedën hapur ose rikthehuni në faqe).":"Reminder set. Youâll get a notification on this device at start (keep the tab open or revisit the site)."}}function S(e){let t=new Date(e);return isNaN(t.getTime())?"":t.toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",timeZone:"Europe/Belgrade",hour12:!1})}function $(e){let t=S(e.start),i=S(e.stop);return t&&i?`${t} â ${i}`:t||i}function T(e,t){if(e<60)return`${e} min`;let i=Math.floor(e/60),n=e%60;return"en"===t?0===n?1===i?"1 hour":`${i} hours`:`${i}h ${n} min`:0===n?1===i?"1 orë":`${i} or\xeb`:1===i?`1 or\xeb e ${n} min`:`${i} or\xeb e ${n} min`}function C({icon:e,className:i,liveBadge:n,playOverlay:a,darkened:s}){return(0,t.jsxs)("span",{className:`cn-livetv__thumb${s?" is-dark":""}${i?` ${i}`:""}`,children:[e?(0,t.jsx)(l.default,{src:e,alt:"",sizes:"72px"}):(0,t.jsx)("span",{className:"cn-livetv__thumb-ph"}),s?(0,t.jsx)("span",{className:"cn-livetv__thumb-veil","aria-hidden":!0}):null,a?(0,t.jsx)("span",{className:"cn-livetv__thumb-play","aria-hidden":!0,children:(0,t.jsx)("i",{})}):null,n?(0,t.jsx)("span",{className:"cn-livetv__thumb-live",children:"LIVE"}):null]})}e.s(["default",0,function({locale:e,heading:s,schedule:o,posterFallback:c}){var d,u;let h,m,{openLive:v}=(0,a.useLiveTv)(),[p,f]=(0,i.useState)(()=>Date.now()),[g,j]=(0,i.useState)(!1),[_,b]=(0,i.useState)(!1),[w,y]=(0,i.useState)(!1),[E,M]=(0,i.useState)(null),[R,D]=(0,i.useState)(null),[P,I]=(0,i.useState)({}),L=o.now,V=(o.upcoming||[]).slice(0,2),A=(o.recent||[]).slice(0,4),O=L?.icon||o.channelIcon||c||"https://vimg.ipko.tv/logo/color/rtv21.png",F=L?.title||o.channelName||"RTV21 Live",U=L?$(L):"",B=L?(d=L.start,u=L.stop,h=Date.parse(d),m=Date.parse(u),Number.isFinite(h)&&Number.isFinite(m)&&!(m<=h)?p>=m?100:p<=h?0:Math.max(1,Math.min(99,Math.round((p-h)/(m-h)*100))):0):0,z=L?function(e,t,i){let n=Date.parse(e)-t;if(!Number.isFinite(n)||n<=15e3)return"en"===i?"Ending now":"Po përfundon";let a=Math.max(1,Math.round(n/6e4));return 1===a?"en"===i?"1 min left":"1 min mbetet":"en"===i?`${a} min left`:`${a} min mbeten`}(L.stop,p,e):"",H=L?.desc||L?.category||"";(0,i.useEffect)(()=>{let e=window.setInterval(()=>f(Date.now()),3e4);N();let t=()=>{"visible"===document.visibilityState&&N()};document.addEventListener("visibilitychange",t);let i={};for(let e of V)x(e.start,e.title)&&(i[`${e.start}|${e.title}`]=!0);return Object.keys(i).length&&I(i),()=>{window.clearInterval(e),document.removeEventListener("visibilitychange",t)}},[V]);let W=()=>{try{if("1"===localStorage.getItem(r))return}catch{}j(!0)},q=()=>{if(w)try{localStorage.setItem(r,"1")}catch{}j(!1)},G=async t=>{let i=`${t.start}|${t.title}`;M(i),D(null);let n=await k({title:t.title,start:t.start,stop:t.stop,icon:t.icon||o.channelIcon,locale:"en"===e?"en":"sq"});M(null),D(n.message),n.ok&&I(e=>({...e,[i]:!0})),window.setTimeout(()=>D(null),"calendar"===n.method?9e3:6e3)},K=L?S(new Date(p).toISOString()):"",Y="en"===e?"What did I miss?":"Ãka tâka ikë?";return(0,t.jsxs)("div",{className:"cn-livetv",children:[(0,t.jsxs)("header",{className:"cn-livetv__head",children:[(0,t.jsxs)("div",{className:"cn-livetv__brand",children:[(0,t.jsx)("span",{className:"cn-livetv__pulse","aria-hidden":!0,
1children:(0,t.jsx)("i",{})}),(0,t.jsxs)("div",{className:"cn-livetv__titles",children:[(0,t.jsx)("p",{className:"cn-livetv__kicker",children:"en"===e?"ON AIR":"Nà EMISION"}),(0,t.jsx)("h2",{className:"cn-livetv__title",children:s||"RTV21 LIVE"})]})]}),(0,t.jsxs)(n.default,{href:"/epg",className:"cn-livetv__guide",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[(0,t.jsx)("rect",{x:"3",y:"5",width:"18",height:"16",rx:"2",stroke:"currentColor",strokeWidth:"2"}),(0,t.jsx)("path",{d:"M3 10h18M8 3v4M16 3v4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}),"en"===e?"Full schedule":"Programi i plotë"]})]}),(0,t.jsxs)("div",{className:"cn-livetv__stage",children:[(0,t.jsx)("span",{className:"cn-livetv__art",children:(0,t.jsx)(l.default,{src:O,alt:"",sizes:"(max-width:1024px) 50vw, 320px"})}),(0,t.jsx)("span",{className:"cn-livetv__veil","aria-hidden":!0}),(0,t.jsx)("span",{className:"cn-livetv__badge",children:"LIVE"}),(0,t.jsx)("button",{type:"button",className:"cn-livetv__play","aria-label":"en"===e?"Watch Live":"Shiko Live",onClick:()=>v("news"),children:(0,t.jsx)("span",{className:"cn-livetv__play-tri"})}),(0,t.jsxs)("div",{className:"cn-livetv__stage-meta",children:[(0,t.jsx)("strong",{children:F}),U?(0,t.jsxs)("span",{className:"cn-livetv__stage-time",children:[U,z?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsxs)("em",{children:[(0,t.jsx)("i",{})," ",z]})]}):null]}):null,H?(0,t.jsx)("p",{className:"cn-livetv__stage-desc",children:H}):null]}),(0,t.jsxs)("div",{className:"cn-livetv__chrome","aria-hidden":!0,children:[(0,t.jsx)("span",{className:"cn-livetv__chrome-btn",title:"Volume",children:(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M3 10v4h4l5 4V6L7 10H3zm13.5 2a3.5 3.5 0 00-1.8-3.1v6.2A3.5 3.5 0 0016.5 12z"})})}),(0,t.jsx)("span",{className:"cn-livetv__chrome-btn",title:"Fullscreen",children:(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M7 14H5v5h5v-2H7v-3zm12 0h-2v3h-3v2h5v-5zM7 10h2V7h3V5H5v5h2zm10-5v2h3v3h2V5h-5z"})})})]}),L?(0,t.jsxs)("div",{className:"cn-livetv__progress","aria-hidden":!0,children:[(0,t.jsx)("span",{className:"cn-livetv__progress-time is-start",children:K}),(0,t.jsxs)("span",{className:"cn-livetv__progress-track",children:[(0,t.jsx)("i",{style:{width:`${B}%`}}),(0,t.jsx)("b",{style:{left:`${B}%`}})]}),(0,t.jsx)("span",{className:"cn-livetv__progress-time is-end",children:S(L.stop)})]}):null]}),(0,t.jsxs)("div",{className:"cn-livetv__rail",children:[V.length>0?(0,t.jsxs)("section",{className:"cn-livetv__block",children:[(0,t.jsx)("p",{className:"cn-livetv__label is-next",children:"en"===e?"UP NEXT":"Mà PAS"}),(0,t.jsx)("ul",{className:"cn-livetv__slots",children:V.map(i=>{let n=`${i.start}|${i.title}`,a=!!(P[n]||x(i.start,i.title));return(0,t.jsx)("li",{className:"cn-livetv__slot is-next",children:(0,t.jsxs)("div",{className:"cn-livetv__slot-row",children:[(0,t.jsx)(C,{icon:i.icon||o.channelIcon,playOverlay:!0}),(0,t.jsxs)("div",{className:"cn-livetv__slot-body",children:[(0,t.jsxs)("div",{className:"cn-livetv__slot-meta",children:[(0,t.jsxs)("span",{className:"cn-livetv__starts",children:[(0,t.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M12 2a10 10 0 100 20 10 10 0 000-20zm1 11H7v-2h4V6h2v7z"})}),function(e,t,i){let n=Math.max(0,Math.round((Date.parse(e)-t)/6e4));if(n<=0)return"en"===i?"Starting now":"Nis tani";let a=T(n,i);return"en"===i?`Starts in ${a}`:`Nis n\xeb ${a}`}(i.start,p,e)]}),(0,t.jsx)("span",{className:"cn-livetv__meta-sep","aria-hidden":!0,children:"·"}),(0,t.jsx)("time",{dateTime:i.start,children:$(i)})]}),(0,t.jsx)("span",{className:"cn-livetv__slot-title",children:i.title})]}),(0,t.jsxs)("button",{type:"button",className:`cn-livetv__remind${a?" is-on":""}`,disabled:E===n||a,onClick:()=>void G(i),"aria-label":a?"en"===e?"Reminder active":"Njoftimi është aktiv":"en"===e?`Remind me about ${i.title}`:`M\xeb njofto p\xebr ${i.title}`,children:[(0,t.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"
1currentColor","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M12 22a2.5 2.5 0 002.5-2.5h-5A2.5 2.5 0 0012 22zm6-6V11a6 6 0 00-5-5.91V4a1 1 0 10-2 0v1.09A6 6 0 006 11v5l-2 2v1h16v-1l-2-2z"})}),a?"en"===e?"ON":"U aktivizua":"en"===e?"Remind":"Më njofto"]})]})},n)})})]}):null,L||0!==V.length||0!==A.length?null:(0,t.jsx)("div",{className:"cn-livetv__empty-hint",children:(0,t.jsx)(n.default,{href:"/epg",children:"en"===e?"Full TV guide â":"Programi i plotë â"})})]}),A.length>0?(0,t.jsxs)("section",{className:"cn-livetv__block cn-livetv__block--catchup",children:[(0,t.jsxs)("button",{type:"button",className:`cn-livetv__catchup-toggle${_?" is-open":""}`,"aria-expanded":_,"aria-controls":"cn-livetv-catchup-panel",onClick:()=>b(e=>!e),children:[(0,t.jsxs)("span",{className:"cn-livetv__catchup-toggle__label",children:[(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[(0,t.jsx)("path",{d:"M4.5 12a7.5 7.5 0 0112.8-5.3M19.5 12a7.5 7.5 0 01-12.8 5.3",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,t.jsx)("path",{d:"M17 3.5V7h-3.5M7 20.5V17H10.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),Y,(0,t.jsx)("em",{children:A.length})]}),(0,t.jsx)("span",{className:"cn-livetv__catchup-chevron","aria-hidden":!0})]}),(0,t.jsx)("div",{id:"cn-livetv-catchup-panel",className:`cn-livetv__catchup-panel${_?" is-open":""}`,hidden:!_,children:(0,t.jsx)("ul",{className:"cn-livetv__slots",children:A.map(i=>{var n,a;let l,s,r=(n=i.start,a=i.stop,l=Date.parse(n),s=Date.parse(a),Number.isFinite(l)&&Number.isFinite(s)&&!(s<=l)?Math.max(1,Math.round((s-l)/6e4)):0);return(0,t.jsx)("li",{className:"cn-livetv__slot is-past",children:(0,t.jsxs)("div",{className:"cn-livetv__slot-row is-past-row",children:[(0,t.jsx)(C,{icon:i.icon||o.channelIcon,playOverlay:!0,darkened:!0}),(0,t.jsxs)("div",{className:"cn-livetv__slot-body",children:[(0,t.jsxs)("div",{className:"cn-livetv__slot-meta",children:[(0,t.jsx)("time",{dateTime:i.start,children:$(i)}),(0,t.jsx)("span",{className:"cn-livetv__meta-sep","aria-hidden":!0,children:"·"}),(0,t.jsx)("span",{className:"cn-livetv__dur",children:T(r,e)})]}),(0,t.jsx)("span",{className:"cn-livetv__slot-title",children:i.title})]}),(0,t.jsxs)("button",{type:"button",className:"cn-livetv__rishiko",onClick:W,children:[(0,t.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M17 8h-1V6a4 4 0 10-8 0v2H7a2 2 0 00-2 2v8a2 2 0 002 2h10a2 2 0 002-2v-8a2 2 0 00-2-2zm-7-2a2 2 0 114 0v2h-4V6zm3 9a1.5 1.5 0 110-3 1.5 1.5 0 010 3z"})}),"en"===e?"REWATCH":"RISHIKO"]})]})},`past-${i.start}-${i.title}`)})})})]}):null,R?(0,t.jsx)("p",{className:"cn-livetv__toast",role:"status",children:R}):null,g?(0,t.jsxs)("div",{className:"cn-livetv__modal",role:"dialog","aria-modal":"true","aria-labelledby":"cn-catchup-title",children:[(0,t.jsx)("button",{type:"button",className:"cn-livetv__modal-backdrop","aria-label":"Close",onClick:q}),(0,t.jsxs)("div",{className:"cn-livetv__modal-card",children:[(0,t.jsx)("button",{type:"button",className:"cn-livetv__modal-x",onClick:q,"aria-label":"Close",children:"Ã"}),(0,t.jsx)("span",{className:"cn-livetv__modal-lock","aria-hidden":!0,children:(0,t.jsx)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M17 8h-1V6a4 4 0 10-8 0v2H7a2 2 0 00-2 2v8a2 2 0 002 2h10a2 2 0 002-2v-8a2 2 0 00-2-2zm-7-2a2 2 0 114 0v2h-4V6zm3 9a1.5 1.5 0 110-3 1.5 1.5 0 010 3z"})})}),(0,t.jsx)("h3",{id:"cn-catchup-title",children:"en"===e?"Register for Catch-up":"Regjistrohu për Catch-up"}),(0,t.jsx)("p",{children:"en"===e?"Subscribe or create an account to unlock Catch-up TV and rewatch programmes you missed on RTV21.":"Abonohu ose krijo llogari për të pasur qasje në Catch-up TV dhe për të rishikuar emisione që ke humbur."}),(0,t.jsx)(n.default,{href:"#newsletter",className:"cn-livetv__modal-ok",onClick:q,children:"en"===e?"Subscribe":"Abonohu"}),(0,t.jsxs)("label",{className:"cn-livetv__modal-dismiss",children:[(0,t.jsx)("input",{type:"checkbox",checked:w,onChange:e=>y(e.target.checked)}),"en"===e?"Donât show this message again":"Mos ma trego më këtë mesazh"]})]})]}):null]})}],261974)},715089,e=>{"use strict";var t=e.i(843476),i=e.i(271645),n=e.i(540787);let a=[{id:"markets",sq:"Tregjet",en:"Markets"},{id:"fx",sq:"Kosovë",en:"Kosovo"},{id:"oil",sq:"Bota",en:"World"},{id:"crypto",sq:"Kripto",en:"Crypto"}];e.s(["default",0,function({indicators:e,locale:l,title:s,className:r,initialLive:o}){let[c,d]=(0,i.useState)("markets"),[u,h]=(0,i.useState)(o?.tabs??null),[m,v]=(0,i.useState)(o?.updatedAt??null),[p,f]=(0,i.useState)(!1);(0,i.useEffect)(()=>
1{if(o?.tabs)return;let e=!0;return fetch("/api/markets").then(e=>e.ok?e.json():Promise.reject(Error(String(e.status)))).then(t=>{e&&(t?.tabs?(h(t.tabs),v("string"==typeof t.updatedAt?t.updatedAt:null)):h({markets:[],fx:[],oil:[],crypto:[]}))}).catch(()=>{e&&(f(!0),h({markets:[],fx:[],oil:[],crypto:[]}))}),()=>{e=!1}},[o]);let g=(0,i.useMemo)(()=>{let t=u?.[c]||[];if(t.length)return t.map(e=>({id:e.id,symbol:e.symbol,name:e.name,value:e.value,changePct:e.changePct,sourceOrg:e.sourceOrg,updatedAt:e.updatedAt||m}));if(e.length){let t,i=e=>(e.category||"").toLowerCase()+e.symbol;if("fx"===c)t=e.filter(e=>/fx|currenc|valut|eur|usd/.test(i(e)));else if("crypto"===c)t=e.filter(e=>/crypto|btc|eth|kripto/.test(i(e)));else if("oil"===c)t=e.filter(e=>/oil|brent|nafta|wti|gold|commodity/.test(i(e)));else{let n=e.filter(e=>{let t=i(e);return!/fx|currenc|valut|crypto|btc|eth|oil|brent|nafta/.test(t)});t=n.length?n:[]}return t.map(e=>({id:e.id,symbol:e.symbol,name:e.name,value:e.value,changePct:e.changePct,sourceOrg:e.sourceOrg||e.source,updatedAt:e.updatedAt}))}return[]},[u,c,e,m]),x=!!u&&Object.values(u).some(e=>e.length>0),j=e.length>0,_="en"===l,b=s||(_?"Statistics & Markets":"Statistika & Tregje");if(null===u&&!p)return(0,t.jsx)("div",{className:r||void 0,style:{minHeight:268},children:(0,t.jsxs)(n.ModuleShell,{title:b,variant:"card",children:[(0,t.jsx)("div",{className:"cn-markets-tabs","aria-hidden":!0,children:a.map(e=>(0,t.jsx)("button",{type:"button",disabled:!0,className:"markets"===e.id?"is-on":void 0,children:_?e.en:e.sq},e.id))}),(0,t.jsx)("div",{"aria-busy":"true","aria-label":_?"Loading markets":"Duke ngarkuar tregjet",style:{minHeight:180}})]})});if(!x&&!j)return null;let w=g.slice(0,4),y=w[0]?.sourceOrg,N=w[0]?.updatedAt||m;return(0,t.jsx)("div",{className:r||void 0,style:{minHeight:268},children:(0,t.jsxs)(n.ModuleShell,{title:b,variant:"card",children:[(0,t.jsx)("div",{className:"cn-markets-tabs",children:a.map(e=>(0,t.jsx)("button",{type:"button",className:c===e.id?"is-on":void 0,onClick:()=>d(e.id),children:_?e.en:e.sq},e.id))}),w.length?w.map(e=>{var i,n;let a=(e.changePct??0)>=0;return(0,t.jsxs)("div",{className:"cn-market-row",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:{fontWeight:800,fontFamily:"Archivo, sans-serif",fontSize:12},children:e.symbol}),(0,t.jsx)("div",{style:{fontSize:10.5,color:"var(--cn-muted)"},children:e.name})]}),(0,t.jsx)("div",{style:{fontWeight:700},children:null!=e.value&&"number"==typeof e.value?(i=e.value,"BTC"===(n=e.symbol)||"ETH"===n?i.toLocaleString("en-US",{maximumFractionDigits:0}):i>=1e3?i.toLocaleString("en-US",{maximumFractionDigits:2}):i>=50?i.toFixed(2):i.toFixed(4)):"â"}),(0,t.jsx)("div",{style:{color:a?"#19A95E":"var(--rtv21-red-live)",fontWeight:700,fontSize:12},children:null!=e.changePct?`${e.changePct>0?"+":""}${e.changePct.toFixed(2)}%`:"â"}),(0,t.jsx)("svg",{className:"cn-spark",viewBox:"0 0 48 20","aria-hidden":!0,children:(0,t.jsx)("polyline",{fill:"none",stroke:a?"#19A95E":"#FF3B30",strokeWidth:"1.6",points:(e.changePct??0)>=0?"0,16 8,12 16,13 24,8 32,9 40,4 48,6":"0,4 8,8 16,7 24,12 32,11 40,16 48,14"})})]},e.id)}):(0,t.jsx)("div",{style:{fontSize:12,color:"var(--cn-muted)",padding:"12px 0",minHeight:120},children:_?"No live data for this tab.":"Nuk ka të dhëna live për këtë tab."}),(0,t.jsxs)("div",{className:"cn-attr",children:[y?(0,t.jsxs)("span",{children:[_?"Source":"Burimi",": ",y]}):(0,t.jsx)("span",{}),N?(0,t.jsxs)("span",{children:[_?"Updated":"Përditësuar",":"," ",new Date(N).toLocaleString(_?"en-GB":"sq-AL",{hour:"2-digit",minute:"2-digit",day:"numeric",month:"short"})]}):null]})]})})}])},245432,e=>{"use strict";var t=e.i(843476),i=e.i(271645),n=e.i(540787),a=e.i(36496);function l(e){return 0===e?"â":e<=2?"ð¤":3===e?"â":45===e||48===e?"fog":e>=51&&e<=67?"ð§":e>=71&&e<=77?"â":e>=80&&e<=82?"ð¦":e>=95?"â":"·"}e.s(["default",0,function({locale:e,title:s,className:r}){var o,c;let[d,u]=(0,i.useState)(null);return((0,i.useEffect)(()=>{let t=!1,i=(0,a.afterLcpIdle)(()=>{fetch("https://api.open-meteo.com/v1/forecast?latitude=42.6629&longitude=21.1655¤t=temperature_2m,weather_code,wind_speed_10m,relative_humidity_2m,surface_pressure&daily=weather_
1code,temperature_2m_max,temperature_2m_min&timezone=Europe%2FBelgrade&forecast_days=5").then(e=>e.json()).then(i=>{if(t)return;let n=(i.daily?.time||[]).map((t,n)=>({label:new Date(t).toLocaleDateString("en"===e?"en-GB":"sq-AL",{weekday:"short"}),code:i.daily.weather_code[n],max:Math.round(i.daily.temperature_2m_max[n]),min:Math.round(i.daily.temperature_2m_min[n])}));u({temp:Math.round(i.current?.temperature_2m??0),code:i.current?.weather_code??0,city:"Prishtinë",days:n,wind:i.current?.wind_speed_10m!=null?Math.round(i.current.wind_speed_10m):null,humidity:i.current?.relative_humidity_2m!=null?Math.round(i.current.relative_humidity_2m):null,pressure:i.current?.surface_pressure!=null?Math.round(i.current.surface_pressure):null})}).catch(()=>{})});return()=>{t=!0,i()}},[e]),d)?(0,t.jsx)("div",{className:r||void 0,children:(0,t.jsxs)(n.ModuleShell,{title:s||("en"===e?"Weather in Pristina":"Moti në Prishtinë"),variant:"card",children:[(0,t.jsxs)("div",{className:"cn-weather__top",children:[(0,t.jsxs)("div",{className:"cn-weather-now",children:[(0,t.jsx)("span",{className:"cn-weather__icon","aria-hidden":!0,children:l(d.code)}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"cn-weather__temp",children:[d.temp,"°C"]}),(0,t.jsx)("div",{className:"cn-weather__cond",children:(o=d.code,c="en"===e,0===o?c?"Clear sky":"Pjesërisht me diell":o<=2?c?"Partly cloudy":"Pjesërisht me diell":3===o?c?"Cloudy":"Vranët":45===o||48===o?c?"Fog":"Mjegull":o>=51&&o<=67?c?"Rain":"Shi":o>=71&&o<=77?c?"Snow":"Borë":o>=80&&o<=82?c?"Showers":"Rrebeshe":o>=95?c?"Thunderstorm":"Stuhi":c?"Weather":"Moti")})]})]}),(0,t.jsxs)("div",{className:"cn-weather__metrics",children:[null!=d.wind?(0,t.jsxs)("span",{children:[(0,t.jsx)("em",{children:"en"===e?"Wind":"Era"}),(0,t.jsxs)("b",{children:[d.wind," km/h"]})]}):null,null!=d.humidity?(0,t.jsxs)("span",{children:[(0,t.jsx)("em",{children:"en"===e?"Humidity":"Lagështia"}),(0,t.jsxs)("b",{children:[d.humidity,"%"]})]}):null,null!=d.pressure?(0,t.jsxs)("span",{children:[(0,t.jsx)("em",{children:"en"===e?"Pressure":"Shtypja"}),(0,t.jsxs)("b",{children:[d.pressure," hPa"]})]}):null]})]}),(0,t.jsx)("div",{className:"cn-weather-days cn-weather__days",children:d.days.map(e=>(0,t.jsxs)("div",{className:"cn-weather__day",children:[(0,t.jsx)("b",{children:e.label}),(0,t.jsx)("span",{className:"cn-weather__day-icon","aria-hidden":!0,children:l(e.code)}),(0,t.jsxs)("span",{children:[e.max,"°/",e.min,"°"]})]},e.label))}),(0,t.jsx)("a",{className:"cn-mod-more--center",href:"en"===e?"/en/moti":"/moti",children:"en"===e?"Full forecast â":"Shiko parashikimin e plotë â"})]})}):null}])},997296,e=>{"use strict";var t=e.i(843476),i=e.i(271645),n=e.i(540787),a=e.i(36496);let l=[{code:"USD",label:"EUR/USD",flag:"ðºð¸"},{code:"GBP",label:"EUR/GBP",flag:"ð¬ð§"}
1,{code:"CHF",label:"EUR/CHF",flag:"ð¨ð"},{code:"TRY",label:"EUR/TRY",flag:"ð¹ð·"}];e.s(["default",0,function({locale:e,title:s,className:r}){let[o,c]=(0,i.useState)(null),[d,u]=(0,i.useState)(null);if((0,i.useEffect)(()=>{let e=!0,t="https://api.frankfurter.dev/v1",i=(0,a.afterLcpIdle)(()=>{Promise.all([fetch(`${t}/latest?base=EUR&symbols=USD,GBP,CHF,TRY`).then(e=>e.json()),fetch(`${t}/latest?base=EUR&symbols=USD,GBP,CHF,TRY`).then(async e=>{let i=new Date((await e.json()).date);i.setDate(i.getDate()-1);let n=i.toISOString().slice(0,10);return fetch(`${t}/${n}?base=EUR&symbols=USD,GBP,CHF,TRY`).then(e=>e.json())})]).then(([t,i])=>{if(!e)return;let n=l.map(e=>{let n=t.rates?.[e.code],a=i.rates?.[e.code];return null==n?null:{code:e.code,label:e.label,flag:e.flag,value:n,pct:null!=a&&0!==a?(n-a)/a*100:0}}).filter(Boolean);c(n.length?n:null),u("string"==typeof t.date?t.date:null)}).catch(()=>{})});return()=>{e=!1,i()}},[]),!o?.length)return null;let h="en"===e,m=d&&new Date(d).toLocaleDateString(h?"en-GB":"sq-AL",{day:"numeric",month:"short",year:"numeric"});return(0,t.jsx)("div",{className:r||void 0,children:(0,t.jsxs)(n.ModuleShell,{title:s||(h?"Currencies":"Kurse Valutore"),variant:"card",children:[o.map(e=>(0,t.jsxs)("div",{className:"cn-fx-row",children:[(0,t.jsxs)("div",{className:"cn-fx-pair",children:[(0,t.jsx)("span",{"aria-hidden":!0,children:e.flag}),e.label]}),(0,t.jsxs)("div",{style:{textAlign:"right"},children:[(0,t.jsx)("div",{style:{fontWeight:700},children:e.value.toFixed("TRY"===e.code?3:4)}),(0,t.jsxs)("div",{style:{fontSize:11,color:e.pct>=0?"#19A95E":"var(--rtv21-red-live)",fontWeight:700},children:[e.pct>=0?"+":"",e.pct.toFixed(2),"%"]})]})]},e.code)),(0,t.jsxs)("div",{className:"cn-attr",children:[(0,t.jsxs)("span",{children:[h?"Source":"Burimi",": ECB"]}),m?(0,t.jsxs)("span",{children:[h?"Updated":"Përditësuar",": ",m]}):null]})]})})}])}]);
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.