(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8203],{1476:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,6874,23)),Promise.resolve().then(s.bind(s,7021)),Promise.resolve().then(s.bind(s,2962)),Promise.resolve().then(s.bind(s,6015)),Promise.resolve().then(s.bind(s,4578)),Promise.resolve().then(s.bind(s,7022))},4578:(e,t,s)=>{"use strict";s.d(t,{default:()=>g});var r=s(5155),l=s(2115),a=s(9074),n=s(2355),i=s(3052),o=s(4186),c=s(4653),d=s(1284),m=s(5968),u=s(5690),x=s(8564),p=s(6766),b=s(7132),h=s(2771),f=s(7582);async function v(e,t){let s="/api/tv/season?tvId=".concat(e,"&seasonNumber=").concat(t);try{let e=await fetch(s);if(!e.ok)return null;return await e.json()}catch(e){return null}}let g=e=>{var t,s;let{tvId:g,showTitle:w,trailerId:j,voteCount:y,initialSeasons:N=[],sources:_=[],initialSourceIndex:S}=e,[k,E]=(0,l.useState)(null),[I,z]=(0,l.useState)(null),[A,C]=(0,l.useState)(!1),[L,T]=(0,l.useState)(null),[O,P]=(0,l.useState)(!1),[D,q]=(0,l.useState)(!1),[W,B]=(0,l.useState)(0),[J,M]=(0,l.useState)(!1),[R,V]=(0,l.useState)(null),[F,U]=(0,l.useState)(!1),[Y,G]=(0,l.useState)(!0),[H,K]=(0,l.useState)(!1),Q=(0,l.useRef)(null),X=(0,l.useRef)(null),Z=(0,l.useRef)(null),$=()=>{let e=String(g);return f.b2[e]},ee=e=>{if(null===k||null===I)return;let t="";if(N&&N.length>0){let e=N.find(e=>e.poster_path);e&&(t=e.poster_path||"")}!t&&L&&L.poster_path&&(t=L.poster_path);let s={id:g,media_type:"tv",title:w,poster_path:t||"",season_number:k,episode_number:I,source_index:void 0!==e?e:W,display_as_numbers:J,last_watched:new Date().toISOString()},r=JSON.parse(localStorage.getItem("continueWatching")||"[]").filter(e=>e.id!==s.id||e.media_type!==s.media_type),l=[s,...r];localStorage.setItem("continueWatching",JSON.stringify(l))};(0,l.useEffect)(()=>{let e=N.find(e=>e.season_number>0&&e.episode_count>0)||N[0];e&&E(e.season_number)},[N]),(0,l.useEffect)(()=>{null!==k&&(async()=>{C(!0);try{let e=await v(g,k);T(e),e&&e.episodes&&e.episodes.length>0?null===I&&(z(e.episodes[0].episode_number),q(!0),setTimeout(()=>{let e=$();void 0!==e&&e>=0&&e<_.length?(B(e),K(!0),ee(e)):(K(!1),ee())},0)):(z(null),q(!1))}catch(e){}finally{C(!1)}})()},[g,k]),(0,l.useEffect)(()=>{if(null!==k&&Z.current){let e=Z.current.querySelector('[data-season="'.concat(k,'"]'));e&&e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"}),et()}},[k]);let et=()=>{if(!Z.current)return;let{scrollLeft:e,scrollWidth:t,clientWidth:s}=Z.current;U(e>0),G(e+s{let e=Z.current;if(!e)return;let t=()=>{et()};return e.addEventListener("scroll",t),et(),()=>{e.removeEventListener("scroll",t)}},[Z.current]),(0,l.useEffect)(()=>{function e(e){Q.current&&!Q.current.contains(e.target)&&P(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[Q]),(0,l.useEffect)(()=>{let e,t,s=()=>{X.current&&(X.current.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout(()=>{if(X.current){let e=X.current.querySelector('button, [tabindex="0"], iframe, video');e&&e.focus({preventScroll:!0})}},500))},r=(()=>{if("complete"===document.readyState)e=setTimeout(s,3e3);else{let t=()=>{e=setTimeout(s,3e3)};return window.addEventListener("load",t,{once:!0}),()=>window.removeEventListener("load",t)}})();return t=setTimeout(()=>{s()},8e3),()=>{e&&clearTimeout(e),t&&clearTimeout(t),r&&r()}},[]),(0,l.useEffect)(()=>{let e=JSON.parse(localStorage.getItem("continueWatching")||"[]").find(e=>e.id===g&&"tv"===e.media_type);if(e){if("number"==typeof e.season_number&&E(e.season_number),"number"==typeof e.episode_number&&z(e.episode_number),void 0!==S&&S>=0&&S<_.length)B(S),K(!1);else if("number"==typeof e.source_index&&e.source_index>=0&&e.source_index<_.length)B(e.source_index),K(!1);else{let e=$();void 0!==e&&e>=0&&e<_.length?(B(e),K(!0)):(B(0),K(!1))}"boolean"==typeof e.display_as_numbers&&M(e.display_as_numbers),q(!0)}else if(void 0!==S&&S>=0&&S<_.length)B(S),K(!1);else{let e=$();void 0!==e&&e>=0&&e<_.length&&(B(e),K(!0))}},[g,_.length,S]),(0,l.useEffect)(()=>{D&&null!==k&&null!==I&&ee()},[D,k,I,W,J]),(0,l.useEffect)(()=>{let e=()=>{null!==k&&null!==I&&ee()};return window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e),null!==k&&null!==I&&ee()}},[k,I,W,J,g,w]),(0,l.useEffect)(()=>{if(!D)return;let e=setInterval(()=>{null!==k&&null!==I&&ee()},3e4);return()=>clearInterval(e)},[D,k,I,W,J]);let es=(e,t)=>{E(e),z(t),q(!0);let s=$();void 0!==s&&s>=0&&s<_.length?(B(s),K(!0),ee(s)):(K(!1),ee()),setTimeout(()=>{X.current&&(X.current.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout(()=>{if(X.current){let e=X.current.querySelector('button, [tabindex="0"], iframe, video');e&&e.focus({preventScroll:!0})}},500))},300)},er=e=>{e!==k&&(E(e),z(null),P(!1),q(!1))},el=e=>{V(R===e?null:e)};null==L||null==(t=L.episodes)||t.find(e=>e.episode_number===I),N.find(e=>e.season_number===k);let ea=N.filter(e=>e.season_number>=0);return(0,r.jsxs)("div",{className:"mt-4 relative max-w-7xl mx-auto",children:[(0,r.jsx)("div",{id:"tv-player-section",className:"relative !mb-0",ref:X,children:(0,r.jsxs)("div",{className:"rounded-xl -mb-2 sm:mb-0",children:[" ",A?(0,r.jsx)("div",{className:"h-40 sm:h-64 flex items-center justify-center bg-gradient-to-r from-gray-900 to-black p-4 text-center",children:(0,r.jsxs)("div",{className:"flex flex-col items-center space-y-4",children:[(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("div",{className:"w-12 h-12 border-4 border-transparent border-t-red-500 border-r-red-500 rounded-full animate-spin"}),(0,r.jsx)("div",{className:"absolute inset-1 w-10 h-10 border-4 border-transparent border-b-purple-500 border-l-purple-500 rounded-full animate-spin [animation-direction:reverse]"})]}),(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("p",{className:"text-white text-lg font-medium",children:"Loading Episodes..."}),(0,r.jsx)("p",{className:"text-gray-400 text-sm",children:"Preparing your streaming experience"})]})]})}):k&&I?(0,r.jsxs)("div",{className:"p-1",children:[" ",(0,r.jsx)(h.A,{sources:_,mediaType:"tv",mediaId:g,title:w,seasonNumber:null!=k?k:void 0,episodeNumber:null!=I?I:void 0,selectedSourceIndex:W,setSelectedSourceIndex:e=>{B(e),K(!1),D&&null!==k&&null!==I&&ee()},trailerId:j,likeCount:y})]}):(0,r.jsx)("div",{className:"h-40 sm:h-64 flex items-center justify-center bg-gradient-to-r from-gray-900 to-black p-4 text-center",children:(0,r.jsxs)("div",{children:[(0,r.jsx)(u.A,{size:36,className:"text-gray-400 mx-auto mb-2 opacity-40"}),(0,r.jsx)("p",{className:"text-gray-300 text-base font-medium",children:"Select an episode to start watching"}),(0,r.jsx)("p",{className:"text-gray-500 text-xs mt-1",children:"Your progress will be saved automatically"})]})})]})}),(0,r.jsxs)("div",{className:"mb-4 sm:mb-12",children:[(0,r.jsxs)("div",{className:"mb-4 sm:mb-8",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center mb-3 sm:mb-4",children:[(0,r.jsx)("h3",{className:"text-lg sm:text-xl font-semibold text-white",children:"Seasons"}),(0,r.jsx)("button",{onClick:()=>M(!J),className:"p-2 rounded-full bg-blue-600/20 backdrop-blur-sm border border-blue-400/30 text-white hover:bg-blue-600/40 transition-all","aria-label":J?"Show episode posters":"Show episode numbers",children:J?(0,r.jsx)(c.A,{size:18}):(0,r.jsx)(m.A,{size:18})})]}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("button",{onClick:()=>{Z.current&&Z.current.scrollBy({left:-200,behavior:"smooth"})},className:"absolute left-0 top-1/2 -translate-y-1/2 z-10 w-8 h-8 sm:w-10 sm:h-10 bg-gray-900/80 backdrop-blur-sm rounded-full flex items-center justify-center border border-white/10 hover:bg-blue-600/40 transition-all ".concat(F?"opacity-100":"opacity-0 pointer-events-none"),"aria-label":"Scroll seasons left",children:(0,r.jsx)(n.A,{size:20,className:"text-white"})}),(0,r.jsx)("div",{className:"overflow-x-auto scrollbar-hide px-10",ref:Z,style:{scrollbarWidth:"none",msOverflowStyle:"none",scrollBehavior:"smooth"},children:(0,r.jsx)("div",{className:"flex space-x-3 py-2",children:ea.map(e=>(0,r.jsx)("button",{"data-season":e.season_number,onClick:()=>er(e.season_number),className:"\n flex-shrink-0 px-3 py-2 sm:px-4 sm:py-3 rounded-lg sm:rounded-xl transition-all duration-300\n ".concat(k===e.season_number?"bg-blue-600 text-white shadow-lg shadow-blue-900/50":"bg-gray-800/50 backdrop-blur-sm border border-white/10 hover:border-blue-400/30 text-gray-300 hover:text-white","\n "),children:(0,r.jsxs)("div",{className:"flex flex-col items-center whitespace-nowrap",children:[(0,r.jsx)("span",{className:"font-medium text-sm sm:text-base",children:e.name||"Season ".concat(e.season_number)}),(0,r.jsxs)("span",{className:"text-[10px] sm:text-xs mt-1 opacity-80",children:[e.episode_count," episodes"]})]})},e.season_number))})}),(0,r.jsx)("button",{onClick:()=>{Z.current&&Z.current.scrollBy({left:200,behavior:"smooth"})},className:"absolute right-0 top-1/2 -translate-y-1/2 z-10 w-8 h-8 sm:w-10 sm:h-10 bg-gray-900/80 backdrop-blur-sm rounded-full flex items-center justify-center border border-white/10 hover:bg-blue-600/40 transition-all ".concat(Y?"opacity-100":"opacity-0 pointer-events-none"),"aria-label":"Scroll seasons right",children:(0,r.jsx)(i.A,{size:20,className:"text-white"})})]})]}),A?(0,r.jsx)("div",{className:"py-12 sm:py-16 flex justify-center",children:(0,r.jsxs)("div",{className:"relative w-16 h-16",children:[(0,r.jsx)("div",{className:"absolute top-0 left-0 w-16 h-16 border-4 border-blue-400/30 rounded-full"}),(0,r.jsx)("div",{className:"absolute top-0 left-0 w-16 h-16 border-4 border-transparent border-t-blue-500 rounded-full animate-spin"})]})}):(null==L||null==(s=L.episodes)?void 0:s.length)?J?(0,r.jsx)("div",{className:"grid grid-cols-4 sm:grid-cols-6 md:grid-cols-8 lg:grid-cols-10 gap-2 sm:gap-4",children:L.episodes.map(e=>(0,r.jsxs)("button",{onClick:()=>es(k,e.episode_number),className:"\n relative w-full aspect-square rounded-xl flex items-center justify-center\n ".concat(I===e.episode_number?"bg-gradient-to-br from-blue-600 to-blue-800 shadow-lg shadow-blue-900/50 scale-105":"bg-black/40 backdrop-blur-sm border border-white/10 hover:border-blue-400/30 hover:scale-105","\n transition-all duration-300 focus:outline-none group\n "),children:[(0,r.jsx)("span",{className:"font-bold text-lg sm:text-xl z-10 group-hover:text-blue-200",children:e.episode_number}),I===e.episode_number&&(0,r.jsx)("div",{className:"absolute -bottom-1 -right-1 bg-blue-500 text-white p-1 rounded-full",children:(0,r.jsx)(u.A,{size:10,className:"fill-white"})})]},e.id))}):(0,r.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3 sm:gap-6",children:L.episodes.map(e=>(0,r.jsxs)("div",{className:"\n relative overflow-hidden group transition-all duration-500 ease-out\n ".concat(I===e.episode_number?"ring-2 ring-blue-500 shadow-xl scale-[1.01]":"hover:shadow-xl hover:scale-[1.02]","\n "),children:[(0,r.jsxs)("div",{className:"relative h-32 sm:h-48 rounded-xl overflow-hidden cursor-pointer",onClick:()=>es(k,e.episode_number),children:[e.still_path?(0,r.jsx)(p.default,{src:"".concat(b.im,"w500").concat(e.still_path),alt:"Episode ".concat(e.episode_number),fill:!0,className:"object-cover transition-transform duration-700 group-hover:scale-110"}):(0,r.jsx)("div",{className:"w-full h-full flex items-center justify-center bg-gradient-to-br from-gray-800 to-gray-900",children:(0,r.jsx)("span",{className:"text-gray-500 text-xs sm:text-sm",children:"No Preview"})}),(0,r.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 to-transparent opacity-80"}),(0,r.jsx)("div",{className:"absolute top-1 sm:top-2 left-1 sm:left-2 flex items-center",children:(0,r.jsxs)("div",{className:"bg-black/70 backdrop-blur-sm text-white text-xs px-1.5 sm:px-2 py-0.5 sm:py-1 rounded-full border border-white/10",children:["Ep ",e.episode_number]})}),(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300",children:(0,r.jsx)("div",{className:"bg-blue-500/90 rounded-full p-2 sm:p-3 transform transition-transform duration-500 scale-0 group-hover:scale-100 shadow-lg",children:(0,r.jsx)(u.A,{size:16,className:"fill-white text-white"})})}),(0,r.jsxs)("div",{className:"absolute bottom-0 left-0 right-0 p-1 sm:p-3",children:[(0,r.jsx)("h4",{className:"font-medium text-white text-xs sm:text-base line-clamp-1",children:e.name||"Episode ".concat(e.episode_number)}),(0,r.jsxs)("div",{className:"flex items-center gap-1 sm:gap-2 mt-0.5 sm:mt-1",children:[e.runtime&&(0,r.jsxs)("div",{className:"flex items-center gap-0.5 sm:gap-1 text-[10px] sm:text-xs text-gray-300",children:[(0,r.jsx)(o.A,{size:8,className:"text-blue-400"}),(0,r.jsxs)("span",{children:[e.runtime,"m"]})]}),e.air_date&&(0,r.jsxs)("div",{className:"flex items-center gap-0.5 sm:gap-1 text-[10px] sm:text-xs text-gray-300 hidden sm:flex",children:[(0,r.jsx)(a.A,{size:8,className:"text-blue-400"}),(0,r.jsx)("span",{children:new Date(e.air_date).toLocaleDateString()})]})]})]})]}),(0,r.jsxs)("div",{className:"mt-1 sm:mt-2 flex justify-between items-center",children:[(0,r.jsxs)("button",{onClick:()=>el(e.episode_number),className:"flex items-center gap-0.5 sm:gap-1 text-[10px] sm:text-sm text-gray-400 hover:text-blue-400 transition-colors",children:[(0,r.jsx)(d.A,{size:10,className:"sm:w-12"}),(0,r.jsx)("span",{children:"Details"})]}),e.vote_average>0&&(0,r.jsxs)("div",{className:"flex items-center gap-0.5 sm:gap-1 text-[10px] sm:text-xs bg-black/30 rounded-full px-1.5 sm:px-2 py-0.5",children:[(0,r.jsx)(x.A,{size:10,className:"text-yellow-400"}),(0,r.jsx)("span",{className:"text-gray-200",children:e.vote_average.toFixed(1)})]})]}),R===e.episode_number&&e.overview&&(0,r.jsx)("div",{className:"mt-1 sm:mt-2 p-1 sm:p-3 bg-black/30 backdrop-blur-sm rounded-lg border border-white/10",children:(0,r.jsx)("p",{className:"text-[10px] sm:text-sm text-gray-300",children:e.overview})})]},e.id))}):(0,r.jsx)("div",{className:"py-8 sm:py-16 text-center",children:(0,r.jsx)("p",{className:"text-gray-400 text-base sm:text-lg",children:"No episodes available for this season."})})]})]})}},7022:(e,t,s)=>{"use strict";s.d(t,{default:()=>i});var r=s(5155),l=s(2115),a=s(9838),n=s(9006);function i(e){let{tvShow:t,trailerId:s,children:i}=e,[o,c]=(0,l.useState)(!1),d=(0,l.useMemo)(()=>(0,n.mp)(t.first_air_date),[t.first_air_date]),m=(0,l.useMemo)(()=>t.poster_path?"https://image.tmdb.org/t/p/w500".concat(t.poster_path):void 0,[t.poster_path]);return((0,l.useEffect)(()=>{d&&c(!0)},[d]),d)?(0,r.jsx)(a.A,{title:t.name,releaseDate:t.first_air_date||"",isMovie:!1,posterUrl:m,overview:t.overview,trailerId:s,isOpen:o,onClose:()=>c(!1)}):(0,r.jsx)(r.Fragment,{children:i})}},7132:(e,t,s)=>{"use strict";s.d(t,{im:()=>r,pe:()=>l});let r="https://image.tmdb.org/t/p/",l={poster:{tiny:"w92",small:"w154",medium:"w300",large:"w500",xlarge:"w780"},backdrop:{small:"w300",medium:"w780",large:"w1280",original:"original"},profile:{tiny:"w45",small:"w185",medium:"h632",original:"original"},logo:{small:"w92",medium:"w300",large:"w500"}}}},e=>{var t=t=>e(e.s=t);e.O(0,[8096,3226,4663,5051,8441,7358],()=>t(1476)),_N_E=e.O()}]);