1import{r as c,j as e,I as t,c as d,e as m,B as x,L as u}from"./index-Dqg8VJTj.js";import{I as h}from"./input-JWtpId_t.js";import{l as n,g}from"./language-data-DqLjokws.js";function f({channels:r,languageColor:l}){const[a,o]=c.useState(""),i=r.filter(s=>s.name.toLowerCase().includes(a.toLowerCase()));return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"relative max-w-md",children:[e.jsx(t.search,{className:"text-muted-foreground absolute left-3 top-1/2 size-4 -translate-y-1/2"}),e.jsx(h,{placeholder:"Search channels...",className:"border-0 bg-muted/50 pl-9",value:a,onChange:s=>o(s.target.value),"aria-label":"Search channels"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6",children:i.map(s=>e.jsxs("a",{href:s.streamUrl,target:"_blank",rel:"noopener noreferrer",className:"group relative cursor-pointer overflow-hidden rounded-xl border border-border/50 bg-gradient-to-br from-card to-muted/30 p-4 transition-all duration-300 hover:-translate-y-1 hover:border-primary/50 hover:shadow-xl",children:[e.jsx("div",{className:d("absolute -right-4 -top-4 size-20 rounded-full opacity-5",l)}),e.jsxs("div",{className:"relative mb-3 flex aspect-video items-center justify-center overflow-hidden rounded-lg bg-muted/50",children:[s.logo?e.jsx("img",{src:s.logo,alt:s.name,loading:"lazy",className:"h-full w-full object-contain p-2"}):e.jsx(t.tv,{className:"size-12 text-muted-foreground/50"}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/0 transition-colors group-hover:bg-black/40",children:e.jsx("div",{className:"flex size-12 items-center justify-center overflow-hidden rounded-full bg-white/90 opacity-0 shadow-lg transition-opacity group-hover:opacity-100",children:e.jsx(t.play,{className:"size-6 text-black"})})})]}),e.jsx("h3",{className:"min-h-[2.5rem] text-center text-sm font-semibold line-clamp-2",children:s.name})]},s.id))}),i.length===0&&e.jsx("div",{className:"py-20 text-center",children:e.jsxs("p",{className:"text-muted-foreground",children:['No channels found matching "',a,'"']})})]})}function b(){const{channels:r,currentLanguage:l}=m.useLoaderData(),a=l.slug;return e.jsxs("div",{className:"space-y-6 p-6",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(x,{asChild:!0,variant:"ghost",size:"icon",className:"rounded-full","aria-label":"Back to Live TV",children:e.jsx(u,{to:"/live-tv",children:e.jsx(t.arrowLeft,{className:"size-5"})})}),e.jsxs("div",{className:"flex flex-1 items-center gap-4",children:[e.jsxs("div",{className:"relative size-16",children:[e.jsx("div",{className:`absolute inset-0 rounded-full opacity-20 blur-sm ${n[a]||"bg-gray-500"}`}),e.jsx("div",{className:`relative flex size-16 items-center justify-center rounded-full shadow-lg ${n[a]||"bg-gray-500"}`,children:e.jsx("span",{className:"tracking-tighter text-xl font-black text-white",children:g(l.name)})})]}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold",children:l.name}),e.jsxs("p",{className:"text-muted-foreground",children:[r.length," ",r.length===1?"channel":"channels"," available"]})]})]})]}),r.length>0?e.jsx(f,{channels:r,languageColor:n[a]||"bg-gray-500"}):e.jsxs("div",{className:"flex flex-col items-center justify-center py-20",children:[e.jsx(t.tv,{className:"mb-4 size-16 text-muted-foreground"}),e.jsx("h3",{className:"mb-2 text-xl font-semibold",children:"No channels available"}),e.jsxs("p",{className:"text-muted-foreground",children:["There are no channels available for ",l.name," at the moment."]})]})]})}export{b as component};
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.