1"use strict";(self.webpackChunk_aiostreams_frontend=self.webpackChunk_aiostreams_frontend||[]).push([["339"],{25222(e,t,s){s.r(t),s.d(t,{default:()=>aj});var n=s(49793),a=s(50405),l=s(46894),r=s(15591),i=s(98177),o=s(73135),d=s(9503),c=s(49342),u=s(37182),m=s(27407),x=s(51650),h=s(20854),p=s(57215);let g={get(e){try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},set(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}},remove(e){try{localStorage.removeItem(e)}catch{}}},f="aiostreams-web-device";function v(){let{origin:e,pathname:t}=window.location,s=t.replace(/\/web(\/(index\.html)?)?$/i,"");return e+(s&&s!==t?s:"/jellyfin")}class j extends Error{constructor(e,t){super(t),(0,p._)(this,"status",void 0),this.status=e}}class y{withToken(e){return new y(this.base,e)}get authorization(){let e=['Client="AIOStreams Web"',`Device="${encodeURIComponent(this.deviceName)}"`,`DeviceId="${this.deviceId}"`,'Version="1.0.0"'];return this.token&&e.push(`Token="${this.token}"`),`MediaBrowser ${e.join(", ")}`}url(e,t){let s=new URLSearchParams;for(let[e,n]of Object.entries(t??{}))null!=n&&""!==n&&s.set(e,Array.isArray(n)?n.join(","):String(n));let n=s.toString();return`${this.base}${e}${n?`?${n}`:""}`}async request(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={Authorization:this.authorization};void 0!==s.body&&(n["Content-Type"]="application/json");let a=await fetch(this.url(t,s.query),{method:e,headers:n,body:void 0===s.body?void 0:JSON.stringify(s.body),keepalive:s.keepalive});if(!a.ok){let e=await a.json().then(e=>
1null==e?void 0:e.Message).catch(()=>void 0);throw new j(a.status,e||`Request failed (${a.status})`)}let l=await a.text();return l?JSON.parse(l):void 0}get(e,t){return this.request("GET",e,{query:t})}post(e,t,s){return this.request("POST",e,{body:t,query:s})}delete(e,t){return this.request("DELETE",e,{query:t})}constructor(e,t=null){(0,p._)(this,"base",void 0),(0,p._)(this,"token",void 0),(0,p._)(this,"deviceId",void 0),(0,p._)(this,"deviceName",void 0),this.base=e,this.token=t,this.deviceId=function(){let e=g.get(f);if(e)return e;let t=Array.from(crypto.getRandomValues(new Uint8Array(16)),e=>e.toString(16).padStart(2,"0")).join("");return g.set(f,t),t}(),this.deviceName=function(){let e=navigator.userAgent,t=/Edg\//.test(e)?"Edge":/Firefox\//.test(e)?"Firefox":/Chrome\//.test(e)?"Chrome":/Safari\//.test(e)?"Safari":"Browser",s=/Windows/.test(e)?"Windows":/Android/.test(e)?"Android":/iPhone|iPad/.test(e)?"iOS":/Mac OS X/.test(e)?"macOS":/Linux/.test(e)?"Linux":"";return s?`${t} on ${s}`:t}()}}let b="jellyfin_credentials",w="aiostreams-web-signed-out";function N(){var e;return(null==(e=g.get(b))?void 0:e.Servers)??[]}let I=["title","year"],k=["featured","posterSize","posterText"],S="aiostreams-web",P="saved",C="aiostreams-web-catalog",T="aiostreams-web-episode-layout",M=e=>`aiostreams-web-prefs:${e}`,E=new Set,$={},R=null,U=0;function D(e){return E.add(e),()=>E.delete(e)}function L(){E.forEach(e=>e())}function z(e){let t={};for(let s of k){let n=null==e?void 0:e[s];"string"==typeof n&&n&&(t[s]=n)}return t}function F(e){$=e,R&&g.set(M(R.userId),e),L()}function A(e){if(!R)return;let{client:t,userId:s}=R;t.post(`/DisplayPreferences/${S}`,{Id:S,Client:S,CustomPrefs:{...e,[P]:"1"}},{client:S,userId:s}).catch(()=>void 0)}function O(e,t){let s={...$};t?s[e]=t:delete s[e],F(s),A(s)}function q(){return $.featured??"auto"}function _(){let e=a.useSyncExternalStore(D,q);return[a.useMemo(()=>"auto"===e?"auto":"none"===e?[]:e.split(",").filter(Boolean).slice(0,4),[e]),a.useCallback(e=>{O("featured","auto"===e?void 0:e.length?e.join(","):"none")},[])]}function K(){let e=$.posterSize;return"small"===e||"large"===e?e:"medium"}function B(){return[a.useSyncExternalStore(D,K),a.useCallback(e=>{O("posterSize","medium"===e?void 0:e)},[])]}function V(){return $.posterText??"title,year"}function W(){let e=a.useSyncExternalStore(D,V);return[a.useMemo(()=>I.filter(t=>e.split(",").includes(t)),[e]),a.useCallback(e=>{let t=I.filter(t=>e.includes(t));O("posterText",t.length===I.length?void 0:t.length?t.join(","):"none")},[])]}function Y(){let e=g.get(T);return"row"===e||"list"===e?e:"auto"}function H(){return[a.useSyncExternalStore(D,Y),a.useCallback(e=>{"auto"===e?g.remove(T):g.set(T,e),L()},[])]}function G(e){let t=g.get(C);return(e?null==t?void 0:t[e]:null==t?void 0:t.last)??null}let J=a.createContext(null);function X(){let e=a.useContext(J);if(!e)throw Error("useSession must be used within a session");return e}let Z=e=>`aiostreams-web-last-user:${e}`;function Q(e){let{client:t,user:s,switchUser:l,signOut:r,children:i}=e,o=a.useRef(new Map);a.useEffect(()=>o.current.clear(),[t]),a.useEffect(()=>{var e;let n;return e=s.Id,n=++U,R={client:t,userId:e},$=g.get(M(e))??z({featured:g.get("aiostreams-web-featured"),posterSize:g.get("aiostreams-web-poster-size")}),L(),t.get(`/DisplayPreferences/${S}`,{client:S,userId:e}).then(e=>{var t;n===U&&((null==(t=e.CustomPrefs)?void 0:t[P])?F(z(e.CustomPrefs)):Object.keys($).length&&A($))}).catch(()=>void 0),()=>{n===U&&(R=null)}},[t,s.Id]);let d=a.useCallback(e=>{if(e===s.Id)return Promise.resolve(t);let n=o.current.get(e);return n||((n=t.post("/AIOStreams/Token",{UserId:e}).then(e=>t.withToken(e.AccessToken))).catch(()=>o.current.delete(e)),o.current.set(e,n)),n},[t,s.Id]),c=a.useMemo(()=>({client:t,user:s,clientFor:d,switchUser:l,signOut:r}),[t,s,d,l,r]);return(0,n.jsx)(J.Provider,{value:c,children:i})}function ee(){var e;return window.jmpInfo&&window.apiPromise?"desktop":window.NativeInterface&&(null==(e=window.NativePlayer)?void 0:e.isEnabled())?"android":"browser"}async function et(){return window.apiPromise?window.apiPromise.catch(()=>null):null}function es(){var e,t,s;return(null==(s=window.jmpInfo)||null==(t=s.settings)||null==(e=t.main)?void 0:e.fullscreen)===!0}var en=s(81172),ea=s(49435),el=s(31265),er=s(43808),ei=s(25442),eo=s(28368),ed=s(53845),ec=s(42127),eu=s(56360),em=s(51199),ex=s(98288),eh=s(28030),ep=s(57145),eg=s(54595),ef=s(11482),ev=s(83620),ej=s(19217);function ey(){let{client:e,user:t}=X();return["jf",e.base,t.Id]}function eb(){let{client:e,user:t}=X();return(0,d.I)({queryKey:[...ey(),"views"],queryFn:()=>e.get("/UserViews",{userId:t.Id}),staleTime:3e5})}
1let ew={unplayed:"IsUnplayed",played:"IsPlayed",favorite:"IsFavorite"};function eN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{client:s,user:n}=X(),a=t.pageSize??60;return(0,ep.q)({queryKey:[...ey(),"items",e,t.filter,t.types,a],initialPageParam:0,queryFn:l=>{let{pageParam:r}=l;return s.get("/Items",{userId:n.Id,ParentId:e,StartIndex:r,Limit:a,IncludeItemTypes:t.types,Filters:t.filter?ew[t.filter]:void 0,EnableTotalRecordCount:!0})},getNextPageParam:(e,t)=>{var s;let n=t.reduce((e,t)=>{var s;return e+((null==(s=t.Items)?void 0:s.length)??0)},0);return(null==(s=e.Items)?void 0:s.length)&&n<(e.TotalRecordCount??0)?n:void 0},enabled:t.enabled??!0,staleTime:3e5})}function eI(e){let{client:t,user:s}=X();return(0,d.I)({queryKey:[...ey(),"item",e],queryFn:()=>t.get(`/Items/${e}`,{userId:s.Id})})}function ek(e,t){let{client:s,user:n}=X();return(0,d.I)({queryKey:[...ey(),"seasons",e],queryFn:()=>s.get(`/Shows/${e}/Seasons`,{userId:n.Id}),enabled:t})}function eS(e,t){let{client:s,user:n}=X();return(0,d.I)({queryKey:[...ey(),"episodes",e,t],queryFn:()=>s.get(`/Shows/${e}/Episodes`,{userId:n.Id,SeasonId:t}),enabled:!!t})}function eP(){let{client:e,user:t}=X();return function(s){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e.post(`/Items/${s}/PlaybackInfo`,{UserId:t.Id,...n&&{Refresh:!0}},{userId:t.Id})}}function eC(){let e=eP(),t=ey();return s=>(0,ev.j)({queryKey:[...t,"playback-info",s],queryFn:()=>e(s),staleTime:6e5})}function eT(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=eC();return(0,d.I)({...s(e),refetchOnMount:!t.listing||"always"})}function eM(e){let{client:t}=X();return(0,d.I)({queryKey:[...ey(),"segments",e],queryFn:()=>t.get(`/MediaSegments/${e}`),staleTime:36e5})}function eE(){let{client:e}=X();return(0,d.I)({queryKey:[...ey(),"pickable-users"],queryFn:()=>e.get("/AIOStreams/Users"),staleTime:3e5})}function e$(){let{client:e}=X();return(0,d.I)({queryKey:[...ey(),"activity"],queryFn:()=>e.get("/AIOStreams/Activity"),refetchInterval:15e3})}function eR(){let e=(0,x.jE)(),t=ey();return()=>e.invalidateQueries({queryKey:t})}function eU(){let{clientFor:e,user:t}=X(),s=eR();return(0,ej.n)({mutationFn:async s=>{let n=s.userId??t.Id,a=await e(n),l=`/UserPlayedItems/${s.itemId}`;return s.played?a.post(l,void 0,{userId:n}):a.delete(l,{userId:n})},onSettled:s})}function eD(){let{client:e,user:t}=X(),s=eR();return(0,ej.n)({mutationFn:s=>{let n=`/UserFavoriteItems/${s.itemId}`;return s.favorite?e.post(n,void 0,{userId:t.Id}):e.delete(n,{userId:t.Id})},onSettled:s})}function eL(){let{client:e}=X(),t=eR();return(0,ej.n)({mutationFn:t=>e.post("/AIOStreams/History/Clear",t),onSettled:t})}let ez=e=>e?`/search?q=${encodeURIComponent(e)}`:"/search",eF=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return"/discover";let s=new URLSearchParams;t.genre&&s.set("genre",t.genre),t.kind&&s.set("kind",t.kind);let n=s.toString();return`/discover/${e}${n?`?${n}`:""}`},eA=e=>`/item/${e}`,eO=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return`/play/${e}?source=${t}${s?`&start=${Math.round(s)}`:""}`};function eq(e){if("Episode"===e.Type&&e.SeriesId){let t=new URLSearchParams;return e.SeasonId&&t.set("season",e.SeasonId),e.Id&&t.set("episode",e.Id),`${eA(e.SeriesId)}?${t}`}return eA(e.Id)}let e_=e=>`#${e}`,eK=e=>{window.location.hash=e};function eB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eK(e,t.replace)}function eV(e){window.history.length>1?window.history.back():eB(e,{replace:!0})}function eW(e){let{name:t,src:s,className:l}=e,[r,i]=a.useState(!1);return a.useEffect(()=>i(!1),[s]),(0,n.jsx)("span",{className:(0,eh.cn)("relative flex flex-none items-center justify-center overflow-hidden rounded-full bg-brand-500/30 font-semibold uppercase text-white",l),children:s&&!r?(0,n.jsx)("img",{src:s,alt:"",onError:()=>i(!0),className:"h-full w-full object-cover"}):(t||"?").slice(0,1)})}let eY={name:null,logo:null},eH=a.createContext(eY),eG=eH.Provider;function eJ(e){let{className:t}=e,{name:s,logo:l}=a.useContext(eH),[r,i]=a.useState(!1);return a.useEffect(()=>i(!1),[l]),(0,n.jsx)("img",{src:l&&!r?l:"/logo.png",alt:s??"AIOStreams",onError:()=>i(!0),className:t})}var eX=s(64966),eZ=s(42407),eQ=s(4084),e0=s(48470),e1=s(79763);function e2(e){return e?Math.round(e/1e4):0}function e3(e){let t=Math.max(0,Math.round(e/1e3)),s=Math.floor(t/3600),n=Math.floor(t%3600/60),a=t%60,l=String(n).padStart(s?2:1,"0");return s?`${s}:${l}:${String(a).padStart(2,"0")}`:`${l}:${String(a).padStart(2,"0")}`}function e5(e){let t=Math.round(e/6e4);if(t<=0)return"";if(t<60)return`${t}m`;let s=Math.floor(t/60),n=t%60;return n?`${s}h ${n}m`:`${s}h`}function e4(e){if(!e)return"";let t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)} min ago`:t<864e5?`${Math.floor(t/36e5)} h ago`:t<6048e5?`${Math.floor(t/864e5)} d ago`:new Date(e).toLocaleDateString()}function e6(e,t){if(null==t)return"";let s=`E${String(t).padStart(2,"0")}`;return null==e?s:`S${String(e).padStart(2,"0")}${s}`}function e8(e){return"Episode"===e.Type?[e6(e.ParentIndexNumber,e.IndexNumber),e.Name].filter(
1Boolean).join(" \xb7 "):e.ProductionYear?String(e.ProductionYear):""}function e9(e){return"Episode"===e.Type&&e.SeriesName||e.Name||""}function e7(e){var t,s;let n=null==(t=e.UserData)?void 0:t.PlayedPercentage;if(null!=n&&n>0)return Math.min(100,n);let a=null==(s=e.UserData)?void 0:s.PlaybackPositionTicks;return a&&e.RunTimeTicks?Math.min(100,a/e.RunTimeTicks*100):null}let te={movies:"Movies",tvshows:"Shows",boxsets:"Collections"};function tt(e){return e.CollectionType?te[String(e.CollectionType)]:void 0}function ts(e){if("Virtual"!==e.LocationType)return null;let t=e.PremiereDate?Date.parse(e.PremiereDate):NaN;return Number.isNaN(t)||t>Date.now()?"Unaired":"Missing"}function tn(e){return new Date(e).toLocaleDateString(void 0,{weekday:"short",day:"numeric",month:"short"})}function ta(e){let t=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),s=Math.round((t(new Date(e))-t(new Date))/864e5),n=new Intl.RelativeTimeFormat(void 0,{numeric:"auto"});return s<14?n.format(s,"day"):n.format(Math.round(s/7),"week")}function tl(e,t){let s=new Date(e),n=t?new Date(t):new Date,a=n.getFullYear()-s.getFullYear();return(n.getMonth()<s.getMonth()||n.getMonth()===s.getMonth()&&n.getDate()<s.getDate())&&
1(a-=1),a}function tr(e,t,s,n){return e.url(`/Videos/${t}/stream`,{static:!0,MediaSourceId:s.Id,PlaySessionId:n})}function ti(e,t,s){return s.Path&&/^https?:\/\//i.test(s.Path)?s.Path:tr(e,t,s)}function to(e){return(e.MediaStreams??[]).filter(e=>"Subtitle"===e.Type&&"External"===e.DeliveryMethod)}function td(e,t){return t.DeliveryUrl?new URL(e.url(t.DeliveryUrl.replace(/Stream\.\w+$/,"Stream.vtt")),window.location.origin).toString():null}let tc="aiostreams-web-external-player";function tu(){return g.get(tc)??""}function tm(e,t){return e.includes("{encodedUrl}")?e.replace("{encodedUrl}",encodeURIComponent(t)):e.includes("{url}")?e.replace("{url}",t):`${e}${t}`}class tx{body(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{ms:t,paused:s}=this.position();return{ItemId:this.info.itemId,MediaSourceId:this.info.mediaSourceId,PlaySessionId:this.info.playSessionId??void 0,PositionTicks:1e4*Math.round(t),IsPaused:s,CanSeek:!0,PlayMethod:"DirectPlay",...e}}start(){this.client.post("/Sessions/Playing",this.body()).catch(()=>{}),this.timer=setInterval(()=>this.progress("TimeUpdate"),1e4)}progress(e){this.stopped||this.client.post("/Sessions/Playing/Progress",this.body({EventName:e})).catch(()=>{})}stop(){this.stopped||(this.stopped=!0,this.timer&&clearInterval(this.timer),this.client.request("POST","/Sessions/Playing/Stopped",{body:this.body(),keepalive:!0}).catch(()=>{}))}constructor(e,t,s){(0,p._)(this,"client",void 0),(0,p._)(this,"info",void 0),(0,p._)(this,"position",void 0),(0,p._)(this,"timer",void 0),(0,p._)(this,"stopped",void 0),this.client=e,this.info=t,this.position=s,this.timer=null,this.stopped=!1}}let th="none",tp=[{name:"VLC",template:"vlc://{url}"},{name:"Infuse",template:"infuse://x-callback-url/play?url={encodedUrl}"},{name:"Outplayer",template:"outplayer://{url}"},{name:"IINA",template:"iina://weblink?url={encodedUrl}"}];function tg(e){var t;let{open:s,onOpenChange:l}=e,r=eb(),[i,o]=_(),[d,c]=B(),[u,m]=W(),[x,h]=H(),[p,f]=a.useState("");a.useEffect(()=>{s&&f(tu())},[s]);let v=[{value:"resume",label:"Continue watching",textValue:"Continue watching"},...((null==(t=r.data)?void 0:t.Items)??[]).map(e=>{let t=[e.Name,tt(e)].filter(Boolean).join(" \xb7 ");return{value:`view:${e.Id}`,label:t,textValue:t}}),{value:th,label:"Nothing",textValue:"Nothing"}],j=new Set(v.map(e=>e.value)),y="auto"===i?[]:i.length?r.data?i.filter(e=>j.has(e)):i:[th];return(0,n.jsx)(eX.a,{open:s,onOpenChange:l,title:"Settings",description:"These follow you to every device, except the episode layout and external player, which stay on this one.",contentClass:"max-w-lg",children:(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsx)(eZ.G,{multiple:!0,label:"Featured on home",help:"Up to 4, mixed together. Left empty, your first movie and series catalogs are featured.",placeholder:"Automatic",emptyMessage:"Nothing matches.",options:v,maxItems:4,value:y,onValueChange:e=>{if(e.filter(e=>!y.includes(e)).includes(th))o([]);else{let t=e.filter(e=>e!==th);o(t.length?t:"auto")}}}),(0,n.jsx)(eQ.l,{label:"Poster size",help:"How large cards are in a grid.",options:[{value:"small",label:"Small"},{value:"medium",label:"Medium"},{value:"large",label:"Large"}],value:d,onValueChange:e=>c(e)}),(0,n.jsx)(eZ.G,{multiple:!0,label:"Under posters",help:"Left empty, posters stand alone. A poster without artwork still shows its title.",placeholder:"Nothing",emptyMessage:"Nothing matches.",options:[{value:"title",label:"Title",textValue:"Title"},{value:"year",label:"Year",textValue:"Year"}],value:u,onValueChange:e=>m(e)}),(0,n.jsx)(eQ.l,{label:"Episode layout",help:"Automatic lists episodes on narrow screens and puts them in a row on wide ones.",options:[{value:"auto",label:"Automatic"},{value:"row",label:"Row"},{value:"list",label:"List"}],value:x,onValueChange:e=>h(e)}),(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsx)(e0.k,{label:"External player",placeholder:"vlc://{url}",value:p,onValueChange:f,help:"Adds an open-in-player button to each version. {url} is the stream address, {encodedUrl} the same address URL-encoded."}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[tp.map(e=>(0,n.jsx)(e1.$n,{size:"sm",intent:"gray-outline",className:"rounded-full",onClick:()=>f(e.template),children:e.name},e.name)),(0,n.jsx)(e1.$n,{size:"sm",intent:"gray-subtle",className:"rounded-full",onClick:()=>f(""),children:"None"})]})]}),(0,n.jsx)("div",{className:"flex justify-end",children:(0,n.jsx)(e1.$n,{intent:"white",className:"w-full rounded-full sm:w-auto",onClick:()=>{p.trim()?g.set(tc,p.trim()):g.remove(tc),l(!1)},children:"Save"})})]})})}var tf=s(31531),tv=s(70232),tj=s(98376),ty=s(62934);function tb(e){return((null==e?void 0:e.MediaSources)??[]).filter(e=>"Placeholder"!==e.Type)}function tw(e,t,s,n){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(!t||!n)return null;let l="Backdrop"===s?`/Items/${t}/Images/Backdrop/0`:`/Items/${t}/Images/${s}`;return e.url(l,{tag:n,maxWidth:a.maxWidth,quality:90})}function tN(e,t,s){var n,a,l;return"Episode"===t.Type?tw(e,t.SeriesId,"Primary",t.SeriesPrimaryImageTag,s)??tw(e,t.Id,"Primary",null==(a=t.ImageTags)?void 0:a.Primary,s):"Season"===t.Type?tw(e,t.Id,"Primary",null==(l=t.ImageTags)?void 0:l.Primary,s)??tw(e,t.SeriesId,"Primary",t.SeriesPrimaryImageTag,s):tw(e,t.Id,"Primary",null==(n=t.ImageTags)?void 0:n.Primary,s)}function tI(e,t,s){return tk(e,t,s)[0]??null}function tk(e,t,s){var n,a,l;return("Episode"===t.Type?[tw(e,t.Id,"Primary",null==(n=t.ImageTags)?void 0:n.Primary,s),tw(e,t.ParentThumbItemId,"Thumb",t.ParentThumbImageTag,s),tS(e,t,s)]:[tw(e,t.Id,"Thumb",null==(a=t.ImageTags)?void 0:a.Thumb,s),tS(e,t,s),tw(e,t.Id,"Primary",null==(l=t.ImageTags)?void 0:l.Primary,s)]).filter(e=>!!e)}function tS(e,t,s){var n,a;return tw(e,t.Id,"Backdrop",null==(n=t.BackdropImageTags)?void 0:n[0],s)??tw(e,t.ParentBackdropItemId,"Backdrop",null==(a=t.ParentBackdropImageTags)?void 0:a[0],s)}function tP(e,t){var s;return tw(e,t.Id,"Logo",null==(s=t.ImageTags)?void 0:s.Logo)??tw(e,t.ParentLogoItemId,"Logo",t.ParentLogoImageTag)}function tC(e){let t=e.PrimaryImageAspectRatio??.6666;return t>1.2?"landscape":t>.85?"square":"poster"}let tT=a.createContext(null);function tM(){let e=a.useContext(tT);if(!e)throw Error("useVersionPicker needs a VersionPickerProvider");return e}function tE(e){let{children:t}=e,[s,l]=a.useState(null),[r,i]=a.useState(null),o=a.useMemo(()=>({open:(e,t)=>l({item:e,startMs:(null==t?void 0:t.startMs)??0})}),[]),d=null==s?void 0:s.item;return(0,n.jsxs)(tT.Provider,{value:o,children:[t,(0,n.jsx)(eX.a,{open:!!s,onOpenChange:e=>!e&&l(null),title:d?e9(d):void 0,description:(null==d?void 0:d.Type)==="Episode"?e8(d):(null==d?void 0:d.ProductionYear)||void 0,contentClass:"flex w-full max-w-4xl flex-col gap-0 overflow-hidden p-0 max-md:h-[100dvh] max-md:rounded-none max-md:border-0 md:max-h-[85vh]",headerClass:"relative z-[1] px-4 pb-3 pr-14 pt-5 text-left max-md:pt-[calc(1.25rem+env(safe-area-inset-top))] sm:px-5 sm:pr-14",closeClass:"z-[2] max-md:top-[calc(1rem+env(safe-area-inset-top))]",children:s&&(0,n.jsx)(t$,{request:s,onDone:()=>l(null),onExternal:()=>{i(s.item),l(null)}},s.item.Id)}),(0,n.jsx)(tD,{item:r,onClose:()=>i(null)})]})}function t$(e){var t,s;let l,r,i,{request:o,onDone:d,onExternal:c}=e,{client:u}=X(),{item:m}=o,h=eT(m.Id,{listing:!0}),p=(t=m.Id,l=(0,x.jE)(),r=eP(),i=eC(),(0,ej.n)({mutationFn:()=>r(t,!0),onSuccess:e=>l.setQueryData(i(t).queryKey,e)})),g=h.isFetching||p.isPending,f=async(e,t)=>{var s;let n=ee(),{source:a}=t;if(!a.Id)throw Error("No playable version was found");let l=t.startMs??e2(null==(s=e.UserData)?void 0:s.PlaybackPositionTicks);"android"===n?window.NativePlayer.loadPlayer(JSON.stringify({ids:[e.Id],mediaSourceId:a.Id,startIndex:0,startPositionTicks:1e4*l}),JSON.stringify({maxStreamingBitrateLocal:12e7,maxStreamingBitrateRemote:12e7})):eB(eO(e.Id,a.Id,l))},v=tu(),[j,y]=a.useState(o.startMs),[b,w]=a.useState(""),N=tb(h.data),I=((null==(s=h.data)?void 0:s.MediaSources)??[]).filter(e=>"Placeholder"===e.Type&&"aiostreams"in e),k=b.toLowerCase().split(/\s+/).filter(
1Boolean),S=k.length?N.filter(e=>{var t,s;let n=[(null==(t=e.aiostreams)?void 0:t.name)||e.Name,null==(s=e.aiostreams)?void 0:s.description].filter(Boolean).join("\n").toLowerCase();return k.every(e=>n.includes(e))}):N,P=tS(u,m,{maxWidth:1280})??tI(u,m,{maxWidth:1280}),C=a.useRef(null),[T,M]=a.useState();a.useLayoutEffect(()=>{let e=C.current;if(!(null==e?void 0:e.parentElement))return;let t=()=>M(e.offsetTop),s=new ResizeObserver(t);for(let t of Array.from(e.parentElement.children)){if(t===e)break;s.observe(t)}return t(),()=>s.disconnect()},[]);let E=()=>p.mutate(void 0,{onError:e=>tf.oR.error(e.message)});return(0,n.jsxs)(n.Fragment,{children:[P&&(0,n.jsxs)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 top-0 overflow-hidden",style:{height:T},children:[(0,n.jsx)("img",{src:P,alt:"",className:"absolute inset-x-0 top-0 aspect-video min-h-full w-full object-cover opacity-25"}),(0,n.jsx)("div",{className:"absolute inset-0 bg-gradient-to-b from-[--paper]/30 via-[--paper]/70 to-[--paper]"})]}),(0,n.jsxs)("div",{className:"relative z-[1] space-y-3 px-4 pb-3 sm:px-5",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)("p",{className:"mr-auto text-sm text-[--muted]",children:h.data?1===N.length?"1 version":`${N.length} versions`:"Finding versions"}),(0,n.jsx)(e1.$n,{size:"sm",intent:"gray-subtle",className:"rounded-full",leftIcon:(0,n.jsx)(eo.wfp,{}),onClick:()=>{d(),eB(eq(m))},children:"Details"}),(0,n.jsx)(tj.m_,{trigger:(0,n.jsx)(e1.K0,{size:"sm",intent:"gray-subtle",className:"rounded-full",icon:(0,n.jsx)(eo.Zxy,{className:(0,eh.cn)(g&&"animate-spin")}),"aria-label":"Search again",disabled:g,onClick:E}),children:"Search again"})]}),o.startMs>0&&(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-1 rounded-full bg-black/40 p-1",children:[(0,n.jsxs)(e1.$n,{size:"sm",intent:j?"white":"gray-basic",className:"rounded-full",onClick:()=>y(o.startMs),children:["Resume from ",e3(o.startMs)]}),(0,n.jsx)(e1.$n,{size:"sm",intent:j?"gray-basic":"white",className:"rounded-full",onClick:()=>y(0),children:"From the start"})]}),N.length>=8&&(0,n.jsx)(e0.k,{value:b,onValueChange:w,placeholder:"Filter versions",leftIcon:(0,n.jsx)(eo.iyI,{}),className:"rounded-full"})]}),(0,n.jsxs)("div",{ref:C,className:(0,eh.cn)("relative z-[1] min-h-0 flex-1 space-y-2 overflow-y-auto border-t border-white/5 px-3 pb-5 pt-3 max-md:pb-[calc(1.25rem+env(safe-area-inset-bottom))] sm:px-5",h.isLoading&&"overflow-hidden"),children:[h.isLoading&&Array.from({length:10},(e,t)=>(0,n.jsx)(tv.E,{className:(0,eh.cn)("h-24 w-full rounded-xl",t>=4&&"md:hidden")},t)),h.isError&&!h.data&&(0,n.jsxs)("div",{className:"space-y-3 rounded-xl border border-red-500/20 bg-red-950/20 p-3",children:[(0,n.jsxs)("p",{className:"select-text text-sm text-red-300 [overflow-wrap:anywhere]",children:["Could not load the versions: ",h.error.message]}),(0,n.jsx)(e1.$n,{size:"sm",intent:"gray-outline",className:"rounded-full",loading:g,onClick:E,children:"Try again"})]}),h.data&&!N.length&&(0,n.jsx)("p",{className:"py-6 text-center text-sm text-[--muted]",children:"No versions were found."}),!!N.length&&!S.length&&(0,n.jsx)("p",{className:"py-6 text-center text-sm text-[--muted]",children:"No versions match."}),S.map(e=>{var t,s;let a=ti(u,m.Id,e),l=[...v?[{label:"Open in external player",icon:(0,n.jsx)(eo.zaF,{}),run:()=>{window.location.href=tm(v,a),c()}}]:[],{label:"Copy stream link",icon:(0,n.jsx)(eo.Xpf,{}),run:()=>(0,ty.l)(a,{onSuccess:()=>tf.oR.success("Stream link copied"),onError:()=>tf.oR.error("Could not copy the link")})}];return(0,n.jsxs)("div",{className:"group/version relative flex items-start rounded-xl border border-white/5 bg-white/[0.03] transition-colors hover:border-white/10 hover:bg-white/[0.06]",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{d(),f(m,{source:e,startMs:j}).catch(e=>tf.oR.error(e.message))},className:"flex min-w-0 flex-1 items-start gap-3 rounded-xl p-3 text-left outline-none focus-visible:ring-2 focus-visible:ring-white/60",children:[(0,n.jsx)("span",{className:"hidden size-9 flex-none items-center justify-center rounded-full bg-white/10 text-white transition-colors group-hover/version:bg-white group-hover/version:text-black sm:flex",children:(0,n.jsx)(eo.UIR,{className:"text-xl"})}),(0,n.jsxs)("span",{className:"min-w-0 flex-1 space-y-1",children:[(0,n.jsx)("span",{"aria-hidden":!0,
1className:"float-right ml-2 h-6 w-8 sm:hidden"}),(0,n.jsx)("span",{className:"block whitespace-pre-line text-sm font-medium [overflow-wrap:anywhere] sm:text-base",children:(null==(t=e.aiostreams)?void 0:t.name)||e.Name}),(null==(s=e.aiostreams)?void 0:s.description)&&(0,n.jsx)("span",{className:"block whitespace-pre-line text-xs text-gray-300 [overflow-wrap:anywhere] sm:text-sm",children:e.aiostreams.description})]})]}),(0,n.jsx)("div",{className:"absolute right-1.5 top-1.5 sm:hidden",children:(0,n.jsx)(ec.rI,{align:"end",trigger:(0,n.jsx)(e1.K0,{size:"sm",intent:"gray-basic",className:"rounded-full",icon:(0,n.jsx)(eo.voe,{}),"aria-label":"More"}),children:l.map(e=>(0,n.jsxs)(ec._2,{onClick:e.run,children:[e.icon,e.label]},e.label))})}),(0,n.jsx)("div",{className:"hidden flex-none gap-1 p-2 sm:flex",children:l.map(e=>(0,n.jsx)(tj.m_,{trigger:(0,n.jsx)(e1.K0,{size:"sm",intent:"gray-basic",className:"rounded-full",icon:e.icon,"aria-label":e.label,onClick:e.run}),children:e.label},e.label))})]},e.Id)}),!k.length&&I.map(e=>(0,n.jsx)(tU,{notice:e},e.Id))]})]})}let tR={error:(0,n.jsx)(eo.wew,{}),statistic:(0,n.jsx)(eo.yWU,{}),external:(0,n.jsx)(eo.o9J,{})};function tU(e){let{notice:t}=e,{name:s,description:a,type:l,externalUrl:r}=t.aiostreams,i="error"===l;return(0,n.jsxs)("div",{className:(0,eh.cn)("flex items-start gap-3 rounded-xl border p-3",i?"border-red-500/20 bg-red-950/20":"border-dashed border-white/10"),children:[(0,n.jsx)("span",{className:(0,eh.cn)("mt-0.5 flex-none text-lg",i?"text-red-300":"text-[--muted]"),children:tR[l]??(0,n.jsx)(eo.wfp,{})}),(0,n.jsxs)("div",{className:"min-w-0 flex-1 select-text space-y-1 whitespace-pre-line text-sm [overflow-wrap:anywhere]",children:[s.trim()&&(0,n.jsx)("p",{className:(0,eh.cn)("font-medium",i&&"text-red-300"),children:s.trim()}),a.trim()&&(0,n.jsx)("p",{className:"text-[--muted]",children:a.trim()})]}),r&&(0,n.jsx)(tj.m_,{trigger:(0,n.jsx)(e1.K0,{size:"sm",intent:"gray-basic",className:"flex-none rounded-full",icon:(0,n.jsx)(eo.zaF,{}),"aria-label":"Open link",onClick:()=>window.open(r,"_blank","noopener")}),children:"Open link"})]})}function tD(e){let{item:t,onClose:s}=e,a=eU();return(0,n.jsx)(eX.a,{open:!!t,onOpenChange:e=>!e&&s(),title:"Playing in your player",description:"Your player does not report back, so mark it as watched once you finish.",contentClass:"max-w-md",children:t&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("p",{className:"text-lg font-semibold",children:e9(t)}),"Episode"===t.Type&&(0,n.jsx)("p",{className:"text-sm text-[--muted]",children:e8(t)}),(0,n.jsxs)("div",{className:"flex flex-col-reverse gap-2 pt-2 sm:flex-row sm:justify-end",children:[(0,n.jsx)(e1.$n,{intent:"gray-outline",className:"rounded-full",onClick:s,children:"Not now"}),(0,n.jsx)(e1.$n,{intent:"white",className:"rounded-full",loading:a.isPending,onClick:()=>a.mutate({itemId:t.Id,played:!0},{onSuccess:s}),children:"Mark as watched"})]})]})})}let tL={initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{type:"spring",damping:28,stiffness:260,mass:.7}};function tz(){return(0,n.jsx)("div",{className:"mb-4 flex w-full justify-center p-4 pb-0",children:(0,n.jsx)(eJ,{className:"max-h-[60px] max-w-[90px] object-contain p-2"})})}function tF(e){var t,s;let{className:a}=e,{user:l}=X(),r=(null==(s=eE().data)||null==(t=s.find(e=>e.user.Id===l.Id))?void 0:t.avatar)??null;return(0,n.jsx)(eW,{name:l.Name,src:r,className:(0,eh.cn)(a,"size-6 !text-[0.7rem] !text-white")})}function tA(){return(0,n.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none fixed inset-0 -z-10 bg-[--background]"})}function tO(e){let{items:t,menuItems:s}=e,{user:a}=X(),l="flex min-w-0 flex-1 flex-col items-center gap-0.5 rounded-full px-1 py-1.5 text-[0.65rem] font-medium outline-none transition-colors focus-visible:ring-2 focus-visible:ring-white/60";return(0,n.jsx)("nav",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center px-3 pb-[calc(0.75rem+env(safe-area-inset-bottom))] lg:hidden",children:(0,n.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-md items-center gap-1 rounded-full border border-white/10 bg-gray-950/80 p-1.5 shadow-2xl shadow-black/60 backdrop-blur-xl",children:[t.map(e=>{let t=e.iconType;return(0,n.jsxs)("button",{type:"button","aria-current":e.isCurrent?"page":void 0,onClick:t=>{var s,n;null==(s=document.activeElement)||s.blur(),null==(n=e.onClick)||n.call(e,t)},className:(0,eh.cn)(l,e.isCurrent?"bg-white/10 text-white":"text-gray-400 hover:text-white"),children:[t&&(0,n.jsx)(t,{className:"text-xl"}),(0,n.jsx)("span",{className:"truncate",children:e.name})]},e.name)}),(0,n.jsxs)(ec.rI,{side:"top",align:"end",sideOffset:12,className:"min-w-52",trigger:(0,n.jsxs)("button",{type:"button","aria-label":"Account",className:(0,eh.cn)(l,"text-gray-400 hover:text-white"),children:[(0,n.jsx)(tF,{}),(0,n.jsx)("span",{className:"max-w-full truncate",children:"You"})]}),children:[(0,n.jsx)(ec.lp,{className:"truncate",children:a.Name??"You"}),(0,n.jsx)(ec.mB,{}),s.map(e=>{let t=e.iconType;return(0,n.jsxs)(ec._2,{onClick:e.onClick,children:[t&&(0,n.jsx)(t,{className:"text-lg"}),e.name]},e.name)})]})]})})}function tq(e){let{children:t}=e;return(0,n.jsx)("div",{className:"relative z-[1] space-y-8 px-4 pb-16 pt-[calc(1.5rem+env(safe-area-inset-top))] lg:px-10 lg:pt-[calc(2.5rem+env(safe-area-inset-top))]",children:t})}var t_=s(15445);let tK=(0,eh.u)({root:(0,t_.F)(["UI-Badge__root","inline-flex flex-none text-base w-fit overflow-hidden justify-center items-center gap-2","group/badge"],{variants:{intent:{gray:"text-gray-300 bg-gray-100 border border-gray-500 border-opacity-40 bg-opacity-10",primary:"text-indigo-300 bg-indigo-50 border border-indigo-500 border-opacity-40 bg-opacity-10",success:"text-green-300 bg-green-50 border border-green-500 border-opacity-40 bg-opacity-10",warning:"text-orange-300 bg-orange-50 border border-orange-500 border-opacity-40 bg-opacity-10",alert:"text-red-300 bg-red-50 border border-red-500 border-opacity-40 bg-opacity-10",blue:"text-blue-300 bg-blue-50 border border-blue-500 border-opacity-40 bg-opacity-10",white:"text-white bg-gray-800 border border-gray-500 border-opacity-40 bg-opacity-10","primary-solid":"text-white bg-indigo-500","success-solid":"text-white bg-green-500","alert-solid":"text-white bg-red-400","gray-solid":"text-white bg-gray-700","white-solid":"text-gray-900 bg-white",unstyled:"border text-gray-300"},size:{sm:"h-[1.2rem] px-1.5 text-xs",md:"h-6 px-2 text-xs",lg:"h-7 px-3 text-md"},tag:{false:"font-semibold tracking-wide rounded-full",true:"font-semibold border-none rounded-[--radius]"}},defaultVariants:{intent:"gray",size:"md",tag:!1}}),icon:(0,t_.F)(["UI-Badge__icon","inline-flex self-center flex-shrink-0"])}),tB=a.forwardRef((e,t)=>
1{let{children:s,className:a,size:l,intent:r,tag:i=!1,leftIcon:o,rightIcon:d,iconClass:c,...u}=e;return(0,n.jsxs)("span",{ref:t,className:(0,eh.cn)(tK.root({size:l,intent:r,tag:i}),a),...u,children:[o&&(0,n.jsx)("span",{className:(0,eh.cn)(tK.icon(),c),children:o}),s,d&&(0,n.jsx)("span",{className:(0,eh.cn)(tK.icon(),c),children:d})]})});function tV(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"600px",s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=a.useRef(null),l=a.useRef(e);return l.current=e,a.useEffect(()=>{let e=n.current;if(!e)return;let s=new IntersectionObserver(e=>{let[t]=e;return t.isIntersecting&&l.current()},{rootMargin:t});return s.observe(e),()=>s.disconnect()},[t,...s]),n}function tW(){return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-gradient-to-r from-[--background] via-[--background]/70 via-35% to-transparent"}),(0,n.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-2/3 bg-gradient-to-t from-[--background] via-[--background]/60 to-transparent"})]})}function tY(){return(0,n.jsxs)("section",{"aria-hidden":!0,className:"relative h-[26rem] w-full overflow-hidden sm:h-[30rem] lg:h-[36rem]",children:[(0,n.jsx)("div",{className:"absolute inset-0 animate-pulse bg-[--subtle]"}),(0,n.jsx)(tW,{}),(0,n.jsxs)("div",{className:"absolute inset-x-0 bottom-0 space-y-4 px-4 pb-8 lg:max-w-3xl lg:px-10 lg:pb-14",children:[(0,n.jsx)(tv.E,{className:"h-12 w-64 lg:h-16 lg:w-96"}),(0,n.jsx)(tv.E,{className:"h-4 w-48"}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(tv.E,{className:"h-4 max-w-xl"}),(0,n.jsx)(tv.E,{className:"h-4 w-4/5 max-w-lg"})]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(tv.E,{className:"h-10 w-28 rounded-full"}),(0,n.jsx)(tv.E,{className:"h-10 w-32 rounded-full"})]})]})]})}function tH(e){var t;let{items:s,loading:l}=e,{client:r}=X(),i=tM(),o=s.filter(e=>tS(r,e)||tI(r,e)),[d,c]=a.useState(0),[u,m]=a.useState(!1),[x,h]=a.useState(new Set);if(a.useEffect(()=>c(0),[o.length]),a.useEffect(()=>{if(u||o.length<2)return;let e=setTimeout(()=>c(e=>(e+1)%o.length),9e3);return()=>clearTimeout(e)},[d,u,o.length]),l)return(0,n.jsx)(tY,{});let p=o[d];if(!p)return null;let g="Episode"!==p.Type?tP(r,p):null,f="Movie"===p.Type||"Episode"===p.Type,v=["Episode"===p.Type?e8(p):p.ProductionYear,p.CommunityRating?(0,n.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,n.jsx)(eo.$iZ,{className:"text-yellow-400"}),p.CommunityRating.toFixed(1)]}):null,null==(t=p.Genres)?void 0:t.slice(0,3).join(", ")].filter(Boolean);return(0,n.jsxs)("section",{className:"relative h-[26rem] w-full overflow-hidden sm:h-[30rem] lg:h-[36rem]",onMouseEnter:()=>m(!0),onMouseLeave:()=>m(!1),children:[o.map((e,t)=>(0,n.jsx)("img",{src:tS(r,e,{maxWidth:1920})??tI(r,e,{maxWidth:1920})??void 0,alt:"",onLoad:()=>h(t=>new Set(t).add(e.Id)),className:(0,eh.cn)("absolute inset-0 h-full w-full object-cover object-top transition-opacity duration-1000",t===d&&x.has(e.Id)?"opacity-100":"opacity-0"),loading:t===d?"eager":"lazy"},e.Id)),(0,n.jsx)(tW,{}),(0,n.jsxs)("div",{className:"absolute inset-x-0 bottom-0 space-y-4 px-4 pb-8 lg:max-w-3xl lg:px-10 lg:pb-14",children:[g?(0,n.jsx)("img",{src:g,alt:p.Name??"",className:"max-h-20 max-w-[min(24rem,75%)] object-contain object-left lg:max-h-28"}):(0,n.jsx)("h1",{className:"line-clamp-2 text-3xl font-bold leading-tight lg:text-5xl",children:e9(p)}),v.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap items-center gap-x-2.5 gap-y-1 text-sm text-gray-200",children:v.map((e,t)=>(0,n.jsxs)(a.Fragment,{children:[t>0&&(0,n.jsx)("span",{className:"text-gray-500",children:"â¢"}),(0,n.jsx)("span",{children:e})]},t))}),p.Overview&&(0,n.jsx)("p",{className:"line-clamp-2 max-w-2xl text-sm text-gray-300 sm:line-clamp-3 sm:text-base",children:p.Overview}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[f&&(0,n.jsx)(e1.$n,{intent:"white",className:"rounded-full",leftIcon:(0,n.jsx)(eo.UIR,{className:"text-xl"}),onClick:()=>{var e;return i.open(p,{startMs:e2(null==(e=p.UserData)?void 0:e.PlaybackPositionTicks)})},children:"Play"}),(0,n.jsx)(e1.$n,{intent:f?"gray-outline":"white",className:"rounded-full",leftIcon:(0,n.jsx)(eo.wfp,{className:"text-xl"}),onClick:()=>eB(eq(p)),children:f?"More info":"Open"})]})]}),o.length>1&&(0,n.jsx)("div",{className:"absolute bottom-6 right-4 flex gap-1.5 lg:bottom-14 lg:right-10",children:o.map((e,t)=>(0,n.jsx)("button",{type:"button","aria-label":`Show ${e.Name}`,onClick:()=>c(t),className:(0,eh.cn)("h-1.5 rounded-full transition-all",t===d?"w-6 bg-white":"w-1.5 bg-white/40")},e.Id))})]})}tB.displayName="Badge";var tG=s(64123),tJ=s(47967);let tX=(0,eh.u)({root:(0,t_.F)(["UI-Carousel__root","relative"]),content:(0,t_.F)(["UI-Carousel__content","overflow-hidden"]),innerContent:(0,t_.F)(["UI-Carousel__innerContent","flex"],{variants:{gap:{none:"ml-0",sm:"-ml-2",md:"-ml-4",lg:"-ml-6"}}}),item:(0,t_.F)(["UI-Carousel__item","min-w-0 shrink-0 grow-0 basis-full"],{variants:{gap:{none:"pl-0",sm:"pl-2",md:"pl-4",lg:"pl-6"}}}),chevronIcon:(0,t_.F)(["UI-Carousel__chevronIcon","size-6"])}),tZ=a.createContext(null);function tQ(){let e=a.useContext(tZ);if(!e)throw Error("useCarousel must be used within a <Carousel />");return e}function t0(e,t){let s=e.internalEngine(),n=s.limit.constrain(t);for(let e of[s.location,s.offsetLocation,s.previousLocation,s.target])e.set(n);s.translate.to(n)}let t1=new Map,t2=a.forwardRef((e,t)=>
1{let{opts:s,gap:l="md",restoreKey:r,className:i,children:o,...d}=e,[c,u]=(0,tJ.A)({...s,axis:"x"}),[m,x]=a.useState(!1),[h,p]=a.useState(!1);a.useEffect(()=>{if(!u)return;let e=null,t=t=>{e=t.internalEngine().location.get()},s=t=>{null!==e&&t0(t,e)};return u.on("scroll",t),u.on("settle",t),u.on("reInit",s),()=>{u.off("scroll",t),u.off("settle",t),u.off("reInit",s)}},[u]),a.useEffect(()=>{if(!u||!r)return;let e=t1.get(r);void 0!==e&&(t0(u,e),u.emit("scroll"));let t=e=>{t1.set(r,e.internalEngine().location.get())};return u.on("scroll",t),u.on("settle",t),()=>{u.off("scroll",t),u.off("settle",t)}},[u,r]);let g=a.useCallback(e=>{x(e.canScrollPrev()),p(e.canScrollNext())},[]),f=a.useCallback(()=>null==u?void 0:u.scrollPrev(),[u]),v=a.useCallback(()=>null==u?void 0:u.scrollNext(),[u]),j=a.useCallback(e=>{"ArrowLeft"===e.key?(e.preventDefault(),f()):"ArrowRight"===e.key&&(e.preventDefault(),v())},[f,v]);return a.useEffect(()=>{if(u)return g(u),u.on("reInit",g),u.on("select",g),u.on("scroll",g),()=>{u.off("reInit",g),u.off("select",g),u.off("scroll",g)}},[u,g]),(0,n.jsx)(tZ.Provider,{value:{carouselRef:c,api:u,gap:l,scrollPrev:f,scrollNext:v,canScrollPrev:m,canScrollNext:h},children:(0,n.jsx)("div",{ref:t,onKeyDownCapture:j,className:(0,eh.cn)(tX.root(),i),role:"region","aria-roledescription":"carousel",...d,children:o})})});t2.displayName="Carousel";let t3=a.forwardRef((e,t)=>{let{className:s,contentClass:a,...l}=e,{carouselRef:r,gap:i}=tQ();return(0,n.jsx)("div",{ref:r,className:(0,eh.cn)(tX.content(),a),children:(0,n.jsx)("div",{ref:t,className:(0,eh.cn)(tX.innerContent({gap:i}),s),...l})})});t3.displayName="CarouselContent";let t5=a.forwardRef((e,t)=>{let{className:s,...a}=e,{gap:l}=tQ();return(0,n.jsx)("div",{ref:t,role:"group","aria-roledescription":"slide",className:(0,eh.cn)(tX.item({gap:l}),s),...a})});function t4(e){let{path:t,className:s}=e;return(0,n.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:(0,eh.cn)(tX.chevronIcon(),s),children:(0,n.jsx)("path",{d:t})})}t5.displayName="CarouselItem";let t6=a.forwardRef((e,t)=>{let{className:s,chevronIconClass:a,intent:l="gray-subtle",...r}=e,{scrollPrev:i,canScrollPrev:o}=tQ();return(0,n.jsx)(e1.K0,{ref:t,intent:l,size:"sm",className:(0,eh.cn)("rounded-full",s),disabled:!o,onClick:i,"aria-label":"Previous",icon:(0,n.jsx)(t4,{path:"m15 18-6-6 6-6",className:a}),...r})});t6.displayName="CarouselPrevious";let t8=a.forwardRef((e,t)=>{let{className:s,chevronIconClass:a,intent:l="gray-subtle",...r}=e,{scrollNext:i,canScrollNext:o}=tQ();return(0,n.jsx)(e1.K0,{ref:t,intent:l,size:"sm",className:(0,eh.cn)("rounded-full",s),disabled:!o,onClick:i,"aria-label":"Next",icon:(0,n.jsx)(t4,{path:"m9 18 6-6-6-6",className:a}),...r})});t8.displayName="CarouselNext";let t9={poster:"basis-[9rem] sm:basis-[10.5rem] lg:basis-[11.5rem] 2xl:basis-[12.5rem]",square:"basis-[10rem] sm:basis-[11.5rem] lg:basis-[12.5rem]",wide:"basis-[16rem] sm:basis-[18rem] lg:basis-[20rem] 2xl:basis-[22rem]"},t7={poster:"aspect-[2/3]",square:"aspect-square",wide:"aspect-video"};function se(e){return{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.3,delay:e%20*.025}}}function st(e){let{onEnd:t}=e,{api:s}=tQ();return a.useEffect(()=>{if(!s)return;let e=()=>{(s.scrollProgress()>.7||!s.canScrollNext())&&t()};return s.on("scroll",e),s.on("settle",e),()=>{s.off("scroll",e),s.off("settle",e)}},[s,t]),null}function ss(e){let{overlay:t}=e,{canScrollPrev:s,canScrollNext:a}=tQ();if(!s&&!a)return null;if(!t)return(0,n.jsxs)("div",{className:"hidden gap-1 md:flex",children:[(0,n.jsx)(t6,{}),(0,n.jsx)(t8,{})]});let l="absolute top-1/2 z-[2] hidden -translate-y-1/2 bg-black/60 backdrop-blur-sm disabled:hidden md:inline-flex";return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t6,{className:(0,eh.cn)(l,"left-1")}),(0,n.jsx)(t8,{className:(0,eh.cn)(l,"right-1")})]})}function sn(e){let{id:t,title:s,shape:l,itemClass:r,loading:o,loadingMore:d,onEndReached:c,startIndex:u,action:m,children:x}=e,h=function(e){let t=(0,tG.r)(),[s]=a.useState(()=>{let e=t.state.location;return e.state.__TSR_key??e.href});return e?`${s}|${e}`:void 0}
1(t),[p]=a.useState(u??0),g=r??t9[l],f=a.Children.toArray(x);if(!o&&!f.length)return null;let v=e=>Array.from({length:e},(e,t)=>(0,n.jsx)(t5,{className:g,children:(0,n.jsx)(tv.E,{className:(0,eh.cn)("h-auto w-full rounded-xl",t7[l])})},`skeleton-${t}`));return(0,n.jsx)("section",{children:(0,n.jsxs)(t2,{opts:{align:"start",dragFree:!0,startIndex:p},restoreKey:h,children:[c&&(0,n.jsx)(st,{onEnd:c}),s||m?(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,n.jsx)("h2",{className:"min-w-0 truncate text-lg font-semibold sm:text-xl",children:s}),(0,n.jsxs)("div",{className:"flex flex-none items-center gap-2",children:[m,(0,n.jsx)(ss,{})]})]}):(0,n.jsx)(ss,{overlay:!0}),(0,n.jsxs)(t3,{className:s||m?"mt-3":void 0,children:[o?v(8):f.map((e,t)=>(0,n.jsx)(t5,{className:g,children:(0,n.jsx)(i.P.div,{...se(t),children:e})},t)),!o&&d&&v(4)]})]})})}let sa={small:{poster:"grid-cols-3 sm:grid-cols-5 md:grid-cols-6 lg:grid-cols-8 xl:grid-cols-9 2xl:grid-cols-12",wide:"grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 2xl:grid-cols-6"},medium:{poster:"grid-cols-3 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 2xl:gr
1id-cols-10",wide:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 2xl:grid-cols-5"},large:{poster:"grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 2xl:grid-cols-8",wide:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4"}};function sl(e){let{shape:t="poster",children:s}=e,[a]=B();return(0,n.jsx)("div",{className:(0,eh.cn)("grid gap-4","wide"===t?sa[a].wide:sa[a].poster),children:s})}function sr(e){let{src:t,alt:s,className:l,own:r,standIn:i}=e,o=Array.isArray(t)?t:t?[t]:[],d=o.join("|"),[c,u]=a.useState(0),[m,x]=a.useState(!1);a.useEffect(()=>{u(0),x(!1)},[d]);let h=o[c],p=c>=(r??o.length)?i:null;return h?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("img",{src:h,alt:s,loading:"lazy",draggable:!1,onLoad:()=>x(!0),onError:()=>u(e=>e+1),className:(0,eh.cn)("absolute inset-0 h-full w-full object-cover transition-[transform,opacity] duration-500",m?"opacity-100":"opacity-0",l)}),p]}):p||(0,n.jsx)("div",{className:(0,eh.cn)("absolute inset-0 flex items-end bg-gray-900 p-3 text-sm text-[--muted]",l),children:(0,n.jsx)("span",{className:"line-clamp-3",children:s})})}function si(e){let{percent:t}=e;return(0,n.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-1 bg-black/60",children:(0,n.jsx)("div",{className:"h-full bg-brand-500",style:{width:`${Math.min(100,Math.max(2,t))}%`}})})}function so(){return(0,n.jsx)("span",{className:"absolute right-2 top-2 z-[2] flex size-6 items-center justify-center rounded-full bg-brand-500 text-white shadow",children:(0,n.jsx)(eo.mmP,{className:"text-lg"})})}let sd={poster:"aspect-[2/3]",landscape:"aspect-video",square:"aspect-square"};function sc(e){let{href:t,image:s,title:a,subtitle:l,watched:r,unwatched:i,progress:o}=e,d=e.shape??"poster",[c]=W(),u=c.includes("title"),m=!!l&&c.includes("year");return(0,n.jsxs)("a",{href:t,title:u?void 0:a,className:(0,eh.cn)("group/poster block space-y-2",e.className),children:[(0,n.jsxs)("div",{className:(0,eh.cn)("relative w-full overflow-hidden rounded-lg bg-gray-900 ring-1 ring-white/5",sd[d]),children:[(0,n.jsx)(sr,{src:s,alt:a,className:"group-hover/poster:scale-[1.04]"}),(0,n.jsx)("div",{className:"absolute inset-0 bg-black/0 transition-colors group-hover/poster:bg-black/20"}),r&&(0,n.jsx)(so,{}),!r&&!!i&&(0,n.jsx)("span",{className:"absolute right-2 top-2 z-[2] rounded-full bg-brand-500 px-2 py-0.5 text-xs font-semibold text-white shadow",children:i}),null!=o&&o>0&&(0,n.jsx)(si,{percent:o})]}),(u||m)&&(0,n.jsxs)("div",{className:"min-w-0 px-0.5",children:[u&&(0,n.jsx)("p",{className:"truncate text-sm font-medium",title:a,children:a}),m&&(0,n.jsx)("p",{className:"truncate text-xs text-[--muted]",children:l})]})]})}function su(e){let{href:t,onClick:s,image:a,title:l,subtitle:r,meta:i,watched:o,progress:d,highlighted:c,unavailable:u,dimmed:m,badge:x}=e,h=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:(0,eh.cn)("relative aspect-video w-full overflow-hidden rounded-xl bg-gray-900 ring-1 ring-white/5",c&&"ring-2 ring-brand-400"),children:[(0,n.jsx)(sr,{src:a,alt:l,className:(0,eh.cn)("group-hover/wide:scale-[1.03]",m&&"opacity-40 grayscale")}),!u&&(0,n.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/0 transition-colors group-hover/wide:bg-black/30",children:(0,n.jsx)(eo.UIR,{className:"text-5xl text-white opacity-0 drop-shadow transition-opacity group-hover/wide:opacity-90"})}),x&&(0,n.jsx)("div",{className:"absolute left-2 top-2 z-[2]",children:x}),o&&(0,n.jsx)(so,{}),null!=d&&d>0&&(0,n.jsx)(si,{percent:d})]}),(0,n.jsxs)("div",{className:"flex min-w-0 items-start justify-between gap-2 px-0.5",children:[(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"truncate font-semibold",title:l,children:l}),r&&(0,n.jsx)("p",{className:"truncate text-sm text-[--muted]",title:r,children:r})]}),i&&(0,n.jsx)("div",{className:"flex-none pt-0.5 text-xs text-[--muted]",children:i})]})]});return(0,n.jsx)("div",{className:(0,eh.cn)("group/wide relative space-y-2",e.className),children:t?(0,n.jsx)("a",{href:t,className:"block space-y-2",children:h}):s?(0,n.jsx)("button",{type:"button",onClick:s,className:"block w-full space-y-2 text-left",children:h}):(0,n.jsx)("div",{className:"space-y-2",children:h})})}var sm=s(25550);let sx=(0,eh.u)({root:(0,t_.F)(["UI-ContextMenu__root","z-50 max-h-[var(--radix-context-menu-content-available-height)] min-w-[14rem] overflow-y-auto rounded-xl border bg-[--background] p-1 text-[--foreground] shadow-lg","data-[state=open]:animate-in","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-100 data-[state=open]:zoom-in-95"]),item:(0,t_.F)(["UI-ContextMenu__item","relative flex cursor-pointer select-none items-center rounded-[--radius] px-2 py-2 text-sm outline-none transition-colors","focus:bg-[--subtle] data-[disabled]:pointer-events-none data-[disabled]:opacity-50","[&>svg]:mr-2 [&>svg]:text-lg"]),label:(0,t_.F)(["UI-ContextMenu__label","px-2 py-1.5 text-xs font-semibold text-[--muted]"]),separator:(0,t_.F)(["UI-ContextMenu__separator","-mx-1 my-1 h-px bg-[--border]"])}),sh=sm.bL,sp=sm.l9,sg=a.forwardRef((e,t)=>
1{let{className:s,...a}=e;return(0,n.jsx)(sm.ZL,{children:(0,n.jsx)(sm.UC,{ref:t,className:(0,eh.cn)(sx.root(),s),collisionPadding:8,sticky:"always",...a})})});sg.displayName="ContextMenuContent";let sf=a.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,n.jsx)(sm.q7,{ref:t,className:(0,eh.cn)(sx.item(),s),...a})});sf.displayName="ContextMenuItem";let sv=a.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,n.jsx)(sm.JU,{ref:t,className:(0,eh.cn)(sx.label(),s),...a})});sv.displayName="ContextMenuLabel";let sj=a.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,n.jsx)(sm.wv,{ref:t,className:(0,eh.cn)(sx.separator(),s),...a})});function sy(e){var t,s,a;let{item:l,children:r}=e,i=tM(),o=eU(),d=function(){let{client:e}=X(),t=eR();return(0,ej.n)({mutationFn:t=>e.post(`/AIOStreams/PlayedUpTo/${t}`),onSettled:t})}(),c=eD(),u=("Movie"===l.Type||"Episode"===l.Type)&&"Virtual"!==l.LocationType,m=!!(null==(t=l.UserData)?void 0:t.Played),x=!!(null==(s=l.UserData)?void 0:s.IsFavorite),h=e2(null==(a=l.UserData)?void 0:a.PlaybackPositionTicks);return(0,n.jsxs)(sh,{children:[(0,n.jsx)(sp,{asChild:!0,children:(0,n.jsx)("div",{children:r})}),(0,n.jsxs)(sg,{children:[(0,n.jsx)(sv,{className:"line-clamp-1",children:e9(l)}),u&&(0,n.jsxs)(sf,{onSelect:()=>i.open(l,{startMs:h}),children:[(0,n.jsx)(eo.UIR,{})," ",h?"Resume":"Play"]}),(0,n.jsxs)(sf,{onSelect:()=>eB(eq(l)),children:[(0,n.jsx)(eo.wfp,{})," Open"]}),"Episode"===l.Type&&l.SeriesId&&(0,n.jsxs)(sf,{onSelect:()=>eB(eA(l.SeriesId)),children:[(0,n.jsx)(eo.sED,{})," Go to show"]}),"BoxSet"!==l.Type&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(sj,{}),(0,n.jsxs)(sf,{onSelect:()=>o.mutate({itemId:l.Id,played:!m}),children:[(0,n.jsx)(eo.mmP,{})," ",m?"Mark unwatched":"Mark watched"]}),"Episode"===l.Type&&l.SeriesId&&(0,n.jsxs)(sf,{onSelect:()=>d.mutate(l.Id),children:[(0,n.jsx)(eo.ti3,{})," Mark watched up to here"]}),!m&&h>0&&(0,n.jsxs)(sf,{onSelect:()=>o.mutate({itemId:l.Id,played:!1}),children:[(0,n.jsx)(eo.zOm,{})," Remove from continue watching"]})]}),(0,n.jsxs)(sf,{onSelect:()=>c.mutate({itemId:l.Id,favorite:!x}),children:[x?(0,n.jsx)(eo.DfY,{}):(0,n.jsx)(eo.uoR,{}),x?"Remove favourite":"Add favourite"]})]})]})}function sb(e){let{id:t,title:s,items:a,loading:l}=e,{client:r}=X(),i=tM();return(0,n.jsx)(sn,{id:t,title:s,shape:"wide",loading:l,children:null==a?void 0:a.map(e=>{var t;let s,a,l=(s=e2(e.RunTimeTicks),s>(a=e2(null==(t=e.UserData)?void 0:t.PlaybackPositionTicks))?s-a:0);return(0,n.jsx)(sy,{item:e,children:(0,n.jsx)(su,{onClick:()=>{var t;return i.open(e,{startMs:e2(null==(t=e.UserData)?void 0:t.PlaybackPositionTicks)})},image:tk(r,e,{maxWidth:640}),title:e9(e),subtitle:e8(e),meta:l&&e7(e)?`${e5(l)} left`:void 0,progress:e7(e)})},e.Id)})})}function sw(){var e,t;let{client:s}=X(),a=function(){let{client:e,user:t}=X();return(0,d.I)({queryKey:[...ey(),"upcoming"],queryFn:()=>e.get("/Shows/Upcoming",{userId:t.Id,Limit:24}),staleTime:18e5})}();return(0,n.jsx)(sn,{id:"upcoming",title:"Upcoming",shape:"wide",loading:a.isLoading,children:null==(t=a.data)||null==(e=t.Items)?void 0:e.map(e=>(0,n.jsx)(sy,{item:e,children:(0,n.jsx)(su,{href:e_(eq(e)),unavailable:!0,image:tk(s,e,{maxWidth:640}),title:e9(e),subtitle:e8(e),badge:e.PremiereDate?(0,n.jsx)(tB,{size:"sm",intent:"gray-solid",children:tn(e.PremiereDate)}):void 0,meta:e.PremiereDate?ta(e.PremiereDate):void 0})},e.Id))})}function sN(e){var t;let{view:s}=e,{client:l}=X(),[r,i]=a.useState(!1),o=tV(()=>i(!0),"400px"),d=eN(s.Id,{pageSize:20,enabled:r}),c=(null==(t=d.data)?void 0:t.pages.flatMap(e=>e.Items??[]))??[],u=c.length>0&&c.filter(e=>
1"landscape"===tC(e)).length>c.length/2,m=tt(s),{hasNextPage:x,isFetchingNextPage:h,fetchNextPage:p}=d,g=a.useCallback(()=>{x&&!h&&p()},[x,h,p]);return(0,n.jsx)("div",{ref:o,className:"min-h-[2rem]",children:(r||d.data)&&(0,n.jsx)(sn,{id:`view:${s.Id}`,title:(0,n.jsxs)("a",{href:e_(eF(s.Id)),className:"group/title inline-flex items-baseline gap-2",children:[s.Name,m&&(0,n.jsx)("span",{className:"text-sm font-normal text-[--muted]",children:m}),(0,n.jsx)(eo.XWt,{className:"self-center text-xl text-[--muted] transition-transform group-hover/title:translate-x-0.5"})]}),shape:u?"wide":"poster",loading:d.isLoading,loadingMore:h,onEndReached:g,children:c.map(e=>{var t,s;return(0,n.jsx)(sy,{item:e,children:(0,n.jsx)(sc,{href:e_(eq(e)),shape:u?"landscape":tC(e),image:tN(l,e,{maxWidth:u?640:400}),title:e.Name??"",subtitle:e8(e),watched:null==(t=e.UserData)?void 0:t.Played,unwatched:(null==(s=e.UserData)?void 0:s.UnplayedItemCount)??void 0,progress:e7(e)})},e.Id)})})})}sj.displayName="ContextMenuSeparator";var sI=s(56600);function sk(e){let{items:t,client:s,loading:a}=e,l=t.length>0&&t.filter(e=>
1"landscape"===tC(e)).length>t.length/2;return(0,n.jsxs)(sl,{shape:l?"wide":"poster",children:[a&&Array.from({length:12},(e,t)=>(0,n.jsx)(tv.E,{className:"aspect-[2/3] h-auto w-full rounded-lg"},t)),t.map((e,t)=>{var a,r;return(0,n.jsx)(i.P.div,{...se(t),children:(0,n.jsx)(sy,{item:e,children:(0,n.jsx)(sc,{href:e_(eq(e)),shape:l?"landscape":tC(e),image:tN(s,e,{maxWidth:l?640:400}),title:e.Name??"",subtitle:e8(e),watched:null==(a=e.UserData)?void 0:a.Played,unwatched:(null==(r=e.UserData)?void 0:r.UnplayedItemCount)??void 0,progress:e7(e)})})},e.Id)})]})}let sS=[{value:void 0,label:"All"},{value:"unplayed",label:"Unwatched"},{value:"played",label:"Watched"},{value:"favorite",label:"Favourites"}],sP=[{kind:"Movie",label:"Movies",collectionType:"movies"},{kind:"Series",label:"Shows",collectionType:"tvshows"},{kind:"BoxSet",label:"Collections",collectionType:"boxsets"}],sC="\0all";function sT(e){var t;return null==(t=sP.find(t=>t.collectionType===(null==e?void 0:e.CollectionType)))?void 0:t.kind}function sM(e){let{genres:t,value:s,onChange:a}=e,l=t.reduce((e,t)=>{var s;return e+((null==(s=t.Name)?void 0:s.length)??0)},0);return t.length>12||l>120?(0,n.jsx)(eZ.G,{"aria-label":"Filter",placeholder:"Search",emptyMessage:"Nothing matches.",keepOpenOnSelect:!1,className:"w-full rounded-full sm:w-56",options:[{value:sC,label:"All",textValue:"All"},...t.map(e=>({value:e.Name??"",label:e.Name??"",textValue:e.Name??""}))],value:[s??sC],onValueChange:e=>a(e[0]&&e[0]!==sC?e[0]:null)}):(0,n.jsx)("div",{className:"-mx-4 flex gap-2 overflow-x-auto px-4 pb-1 scrollbar-hide lg:mx-0 lg:flex-wrap lg:px-0",children:[{Id:"all",Name:null},...t].map(e=>(0,n.jsx)(e1.$n,{size:"sm",intent:s===e.Name?"white":"gray-subtle",className:"flex-none rounded-full",onClick:()=>a(e.Name??null),children:e.Name??"All"},e.Id??"all"))})}function sE(e){let{views:t,viewId:s,onChange:a}=e;return t.length<2?null:(0,n.jsx)(eZ.G,{"aria-label":"Catalog",placeholder:"Search",emptyMessage:"Nothing matches.",keepOpenOnSelect:!1,className:"w-full rounded-full sm:w-64",options:t.map(e=>({value:e.Id,label:e.Name??"",textValue:`${e.Name??""} ${e.Id}`})),value:[s],onValueChange:e=>e[0]&&a(e[0])})}function s$(e){var t,s,l,r,i,o,c,u,m;let{viewId:x,genre:h,kind:p}=e,{client:f}=X(),v=eb(),j=function(e){let{client:t,user:s}=X();return(0,d.I)({queryKey:[...ey(),"genres",e],queryFn:()=>t.get("/Genres",{userId:s.Id,ParentId:e}),staleTime:18e5})}(x),y=(null==(t=v.data)?void 0:t.Items)??[],b=y.find(e=>e.Id===x),[w,N]=a.useState(),I=(null==(s=sP.find(e=>e.kind===p))?void 0:s.kind)??sT(b)??"Movie",k=y.some(e=>!sT(e)),S=y.filter(e=>sT(e)===I||!sT(e)||e.Id===x),P=sP.filter(e=>e.kind===I||y.some(t=>sT(t)===e.kind)||k&&"BoxSet"!==e.kind),T=null==(r=j.data)||null==(l=r.Items)?void 0:l.find(e=>{var t;return(null==(t=e.Name)?void 0:t.toLowerCase())===(null==h?void 0:h.toLowerCase())}),M=eN((null==T?void 0:T.Id)??x,{filter:w,types:sT(b)===I?void 0:I}),E=(null==(i=M.data)?void 0:i.pages.flatMap(e=>e.Items??[]))??[],$=null==(c=M.data)||null==(o=c.pages[0])?void 0:o.TotalRecordCount,R=b?tt(b):void 0;a.useEffect(()=>{let e;b&&(e=g.get(C)??{},g.set(C,{...e,last:x,...I?{[I]:x}:{}}))},[b,x,I]),a.useEffect(()=>{h&&j.isSuccess&&!T&&eB(eF(x,{kind:p}),{replace:!0})},[h,j.isSuccess,T,x,p]);let U=(e,t)=>eB(eF(e,{genre:h??void 0,kind:sT(y.find(t=>t.Id===e))===t?void 0:t})),D=tV(()=>{M.hasNextPage&&!M.isFetchingNextPage&&M.fetchNextPage()},"800px",[E.length,x,h,I,w]);return(0,n.jsxs)("div",{className:"space-y-6 px-4 pb-16 pt-6 lg:px-10 lg:pt-10",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1",children:[(0,n.jsx)("h1",{className:"text-3xl font-bold",children:(null==b?void 0:b.Name)??"Discover"}),R&&(0,n.jsx)("span",{className:"text-[--muted]",children:R}),null!=$&&!w&&(0,n.jsxs)("span",{className:"text-sm text-[--muted]",children:[$," titles"]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:flex-wrap sm:items-center",children:[P.length>1&&(0,n.jsx)("div",{className:"flex w-fit flex-none gap-1 rounded-full bg-gray-900 p-1",children:P.map(e=>(0,n.jsx)(e1.$n,{size:"xs",intent:I===e.kind?"white":"gray-basic",className:"rounded-full",onClick:()=>(e=>{if(e===I)return;let t=y.find(t=>t.Name===(null==b?void 0:b.Name)&&sT(t)===e&&t.Id!==x);if(t)return U(t.Id,e);if(b&&!sT(b)||E.some(t=>t.Type===e))return U(x,e);let s=G(e),n=y.find(t=>t.Id===s&&sT(t)===e)??y.find(t=>sT(t)===e);if(n)return U(n.Id,e)})(e.kind),children:e.label},e.kind))}),(0,n.jsx)(sE,{views:S,viewId:x,onChange:e=>U(e,sT(y.find(t=>t.Id===e))??("BoxSet"===I?"Movie":I))}),!!(null==(m=j.data)||null==(u=m.Items)?void 0:u.length)&&(0,n.jsx)(sM,{genres:j.data.Items,value:h??null,onChange:e=>eB(eF(x,{genre:e??void 0,kind:sT(b)===I?void 0:I}))}),(0,n.jsx)("div",{className:"flex w-fit gap-1 rounded-full bg-gray-900 p-1",children:sS.map(e=>(0,n.jsx)(e1.$n,{size:"xs",intent:w===e.value?"white":"gray-basic",className:"rounded-full",onClick:()=>N(e.value),children:e.label},e.label))})]}),M.isError?(0,n.jsx)(sI.D,{title:"Could not load this catalog"}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(sk,{items:E,client:f,loading:M.isLoading}),!M.isLoading&&!E.length&&(0,n.jsx)("p",{className:"text-[--muted]",children:"Nothing here."})]}),M.isFetchingNextPage&&(0,n.jsx)(tv.E,{className:"h-40 w-full rounded-xl"}),(0,n.jsx)("div",{ref:D})]})}function sR(e){var t;let{lastViewId:s}=e,l=eb(),r=(null==(t=l.data)?void 0:t.Items)??[],i=r.find(e=>e.Id===s)??r[0];return(a.useEffect(()=>{(null==i?void 0:i.Id)&&eB(eF(i.Id),{replace:!0})},[null==i?void 0:i.Id]),l.isError)?(0,n.jsx)(sI.D,{title:"Could not load your catalogs"}):l.isSuccess&&!r.length?(0,n.jsx)("div",{className:"px-4 pt-6 text-[--muted] lg:px-10 lg:pt-10",children:"No catalogs are configured."}):(0,n.jsxs)("div",{className:"space-y-4 px-4 pb-16 pt-6 lg:px-10 lg:pt-10",children:[(0,n.jsx)(tv.E,{className:"h-10 w-64"}),(0,n.jsx)(tv.E,{className:"h-64 w-full rounded-xl"})]})}var sU=s(83170);function sD(e){var t;let{initialTerm:s}=e,{client:l}=X(),[r,i]=a.useState(s),o=(0,sU.d)(r.trim(),400),c=function(e){let{client:t,user:s}=X();return(0,d.I)({queryKey:[...ey(),"search",e],queryFn:()=>t.get("/Items",{userId:s.Id,SearchTerm:e,Recursive:!0,IncludeItemTypes:"Movie,Series",Limit:48}),enabled:e.length>=2,placeholderData:ef.rX})}(o);a.useEffect(()=>{o!==s&&eB(ez(o),{replace:!0})},[o,s]);let u=(null==(t=c.data)?void 0:t.Items)??[];return(0,n.jsxs)(tq,{children:[(0,n.jsx)("h1",{className:"text-3xl font-bold",children:"Search"}
1),(0,n.jsx)(e0.k,{autoFocus:!0,type:"search",autoComplete:"off",enterKeyHint:"search",value:r,onValueChange:i,placeholder:"Movies and shows",leftIcon:(0,n.jsx)(eo.iyI,{className:"text-xl"}),className:"max-w-xl"}),o.length>=2&&(0,n.jsx)(sk,{items:u,client:l,loading:c.isLoading}),o.length>=2&&!c.isLoading&&!u.length&&(0,n.jsxs)("p",{className:"text-[--muted]",children:["Nothing found for â",o,"â."]})]})}var sL=s(9896),sz=s(42858);function sF(e){let{image:t}=e;return t.length?(0,n.jsxs)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 top-0 h-32 overflow-hidden",children:[(0,n.jsx)("div",{className:"absolute inset-0 opacity-30",children:(0,n.jsx)(sr,{src:t,alt:""})}),(0,n.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-[--paper] to-transparent"})]}):null}function sA(e){let{title:t,line:s,overview:a,image:l,trigger:r}=e,i=(0,sL.U)("(min-width: 1024px)"),o=(0,n.jsx)("p",{className:"select-text whitespace-pre-line text-sm text-gray-300",children:a});return i?(0,n.jsxs)(sz.A,{trigger:r,align:"end",className:"relative max-h-[min(32rem,var(--radix-popover-content-available-height))] w-[30rem] max-w-[calc(100vw-2rem)] overflow-y-auto rounded-xl bg-[--paper] p-0",children:[(0,n.jsx)(sF,{image:l}),(0,n.jsxs)("div",{className:"relative space-y-3 p-4 pt-16",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("p",{className:"text-lg font-semibold leading-snug",children:t}),s&&(0,n.jsx)("p",{className:"text-sm text-[--muted]",children:s})]}),o]})]}):(0,n.jsxs)(eX.a,{trigger:r,title:t,description:s,contentClass:"overflow-hidden",headerClass:"relative z-[1] pt-12 text-left",closeClass:"z-[2]",children:[(0,n.jsx)(sF,{image:l}),(0,n.jsx)("div",{className:"relative z-[1]",children:o})]})}function sO(e){let{clampClass:t,className:s,...l}=e,r=a.useRef(null),[i,o]=a.useState(!1);return(a.useLayoutEffect(()=>{let e=r.current;if(!e)return;let t=()=>o(e.scrollHeight>e.clientHeight+1);t();let s=new ResizeObserver(t);return s.observe(e),()=>s.disconnect()},[l.overview]),l.overview)?(0,n.jsx)("div",{className:(0,eh.cn)("flex",s),children:(0,n.jsxs)("p",{ref:r,className:(0,eh.cn)("min-w-0 select-text whitespace-pre-line before:float-right before:h-[calc(100%-1lh)]",t),children:[i&&(0,n.jsx)(sA,{...l,trigger:(0,n.jsx)("button",{type:"button",className:"relative z-[1] clear-both float-right rounded pl-5 font-medium text-[--muted] outline-none transition-colors hover:text-white focus-visible:ring-2 focus-visible:ring-white/60",children:"More"})}),l.overview]})}):null}function sq(e){let t=e.IndexNumber,s=e.IndexNumberEnd;return null==t?null:null!=s&&s>t?`${t}â${s}`:`${t}`}function s_(e){let t=sq(e);return null==t?e.Name??"":e.Name?`${t}. ${e.Name}`:`Episode ${t}`}function sK(e){let t=e.findIndex(e=>{var t;return!(null==(t=e.UserData)?void 0:t.Played)&&!!e7(e)});return t>=0?t:Math.max(0,e.findIndex(e=>{var t;return!(null==(t=e.UserData)?void 0:t.Played)&&!ts(e)}))}function sB(e){let{episode:t,className:s}=e,a=sq(t);return null==a?null:(0,n.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/55",children:(0,n.jsx)("span",{className:(0,eh.cn)("font-bold tabular-nums text-white/90 drop-shadow-lg transition-opacity group-hover/episode:opacity-0",s),children:a})})}function sV(e){let t=tM();if(!ts(e))return()=>{var s;return t.open(e,{startMs:e2(null==(s=e.UserData)?void 0:s.PlaybackPositionTicks)})}}function sW(e){var t;let{episode:s,playable:a,highlighted:l,className:r,numberClass:i,maxWidth:o}=e,{client:d}=X(),c=ts(s),u=e7(s);return(0,n.jsxs)("div",{className:(0,eh.cn)("relative aspect-video overflow-hidden bg-gray-900 ring-1 ring-white/5",r),children:[(0,n.jsx)(sr,{src:tk(d,s,{maxWidth:o}),alt:s_(s),own:+(null!=(t=s.ImageTags)&&!!t.Primary),standIn:(0,n.jsx)(sB,{episode:s,className:i}),className:(0,eh.cn)(a&&"group-hover/episode:scale-[1.03]",c&&"opacity-40 grayscale")}),a&&(0,n.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/0 transition-colors group-hover/episode:bg-black/30",children:(0,n.jsx)(eo.UIR,{className:"text-4xl text-white opacity-0 drop-shadow transition-opacity group-hover/episode:opacity-90"})}),c&&(0,n.jsx)("div",{className:"absolute left-1.5 top-1.5",children:(0,n.jsx)(tB,{size:"sm",intent:"gray-solid",children:c})}),null!=u&&u>0&&(0,n.jsx)(si,{percent:u}),l&&(0,n.jsx)("span",{className:"pointer-events-none absolute inset-0 rounded-[inherit] ring-2 ring-inset ring-brand-400"})]})}function sY(e){let{episode:t}=e,s=sq(t),a=t.PremiereDate,l=e2(t.RunTimeTicks),r=[null!=s?`Episode ${s}`:null,"Unaired"===ts(t)&&a?`Airs ${ta(a)}
1`:l?e5(l):null].filter(Boolean).join(" \xb7 "),i=t.CommunityRating;return(0,n.jsxs)(n.Fragment,{children:[r,i?(0,n.jsxs)(n.Fragment,{children:[r&&" \xb7 ",(0,n.jsx)(eo.$iZ,{className:"-mt-0.5 inline text-yellow-400"})," ",i.toFixed(1)]}):null]})}function sH(e){var t;let{episode:s,play:a,className:l,oneLine:r}=e,{client:i}=X(),o=eU(),d=s.Name||s_(s),c=!!(null==(t=s.UserData)?void 0:t.Played),u=r?"line-clamp-1":"line-clamp-2";return(0,n.jsxs)("div",{className:(0,eh.cn)("min-w-0",l),children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("p",{className:"min-w-0 flex-1 truncate text-xs text-[--muted] sm:text-sm",children:(0,n.jsx)(sY,{episode:s})}),(0,n.jsxs)("div",{className:"relative z-[1] flex flex-none items-center gap-1.5",children:[(0,n.jsx)(sA,{title:s_(s),line:function(e){let t=e.PremiereDate;if("Unaired"===ts(e)&&t)return`Airs ${tn(t)} \xb7 ${ta(t)}`;let s=e2(e.RunTimeTicks);return[t&&new Date(t).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"}),s&&e5(s)].filter(Boolean).join(" \xb7 ")}(s),overview:s.Overview,image:tk(i,s,{maxWidth:960}),trigger:(0,n.jsx)(e1.K0,{size:"sm",intent:"gray-subtle",className:"size-8 rounded-full",icon:(0,n.jsx)(eo.wfp,{}),"aria-label":"Episode details"})}),a&&(0,n.jsx)(e1.K0,{size:"sm",intent:c?"primary":"gray-subtle",className:"size-8 rounded-full",icon:(0,n.jsx)(eo.mmP,{}),"aria-label":c?"Mark unwatched":"Mark watched","aria-pressed":c,loading:o.isPending,onClick:()=>o.mutate({itemId:s.Id,played:!c})})]})]}),a?(0,n.jsx)("button",{type:"button",onClick:a,className:"mt-0.5 text-left text-sm font-semibold outline-none after:absolute after:inset-0 after:rounded-xl after:content-[''] focus-visible:after:ring-2 focus-visible:after:ring-white/60 sm:text-base",children:(0,n.jsx)("span",{className:u,title:r?d:void 0,children:d})}):(0,n.jsx)("p",{className:(0,eh.cn)("mt-0.5 text-sm font-semibold sm:text-base",u),title:r?d:void 0,children:d})]})}function sG(e){let{episode:t,className:s}=e;return t.Overview?(0,n.jsx)("p",{className:(0,eh.cn)("whitespace-pre-line text-sm leading-snug text-white/60",s),children:t.Overview}):null}function sJ(e){let{episode:t,highlighted:s}=e,a=sV(t);return(0,n.jsx)(sy,{item:t,children:(0,n.jsxs)("div",{className:"group/episode relative space-y-2",children:[(0,n.jsx)(sW,{episode:t,playable:!!a,highlighted:s,className:"rounded-xl",numberClass:"text-5xl",maxWidth:640}),(0,n.jsx)(sH,{episode:t,play:a,className:"px-0.5 pt-2",oneLine:!0}),(0,n.jsx)(sG,{episode:t,className:"line-clamp-3 px-0.5"})]})})}function sX(e){let{episode:t,highlighted:s}=e,a=sV(t);return(0,n.jsx)(sy,{item:t,children:(0,n.jsxs)("div",{className:(0,eh.cn)("group/episode relative grid grid-cols-[40%_minmax(0,1fr)] gap-x-3 gap-y-2 rounded-xl p-2 transition-colors hover:bg-white/[0.04] sm:grid-cols-[13rem_minmax(0,1fr)] sm:grid-rows-[auto_1fr] sm:gap-x-4 sm:gap-y-1",s&&"bg-white/[0.06] ring-1 ring-inset ring-brand-400"),children:[(0,n.jsx)(sW,{episode:t,playable:!!a,className:"rounded-lg sm:row-span-2",numberClass:"text-3xl sm:text-4xl",maxWidth:480}),(0,n.jsx)(sH,{episode:t,play:a,className:"self-start"}),(0,n.jsx)(sG,{episode:t,className:"col-span-2 line-clamp-2 self-start sm:col-span-1 sm:col-start-2"})]})})}function sZ(e){let{episodes:t,highlightId:s,anchorId:a,anchorRef:l,columns:r}=e;return(0,n.jsx)("div",{className:(0,eh.cn)("-mx-2 grid gap-x-6 gap-y-1",r&&"xl:grid-cols-2 min-[1800px]:grid-cols-3"),children:t.map(e=>(0,n.jsx)("div",{ref:e.Id===a?l:void 0,children:(0,n.jsx)(sX,{episode:e,highlighted:e.Id===s})},e.Id))})}function sQ(e){let{columns:t}=e;return(0,n.jsx)("div",{className:(0,eh.cn)("-mx-2 grid gap-x-6 gap-y-1",t&&"xl:grid-cols-2 min-[1800px]:grid-cols-3"),children:Array.from({length:6},(e,t)=>(0,n.jsxs)("div",{className:"grid grid-cols-[40%_minmax(0,1fr)] gap-x-3 gap-y-2 p-2 sm:grid-cols-[13rem_minmax(0,1fr)] sm:gap-x-4",children:[(0,n.jsx)(tv.E,{className:"aspect-video h-auto w-full rounded-lg sm:row-span-2"}),(0,n.jsxs)("div",{className:"space-y-2 self-center sm:self-start sm:pt-1",children:[(0,n.jsx)(tv.E,{className:"h-3 w-1/3 rounded"}),(0,n.jsx)(tv.E,{className:"h-4 w-3/4 rounded"})]}),(0,n.jsx)(tv.E,{className:"col-span-2 h-3 w-full rounded sm:col-span-1 sm:col-start-2"})]},t))})}var s0=s(34038),s1=s(62447);let s2={imdb:s1.nnV,tmdb:s1.vPn,trakt:s1.ZU4,anilist:s1.vFL,myanimelist:s1.EjM,kitsu:s1.J3g,thetvdb:function(e){let{className:t}=e;
1return(0,n.jsx)("svg",{viewBox:"0 0 14 14",fill:"currentColor",width:"1em",height:"1em","aria-hidden":!0,className:t,children:(0,n.jsx)("path",{d:"M1.784 10.19c-.187-.187-.164-.05-.51-3.104-.316-2.793-.329-3.013-.188-3.213.203-.29.35-.285 3.383.118 1.565.208 2.908.409 2.982.447.205.103.278.327.278.86 0 .465-.008.491-.23.736-.663.735-.664 1.764-.003 2.4.207.2.231.257.232.553 0 .253-.034.37-.144.499-.14.163-.221.179-2.56.51-2.799.397-3.023.41-3.24.194m2.193-1.883c0-.252-.002-.254-.242-.254-.133 0-.276-.034-.318-.076-.05-.05-.076-.314-.076-.766v-.69l.484.02.483.019.394.986.394.985.378.017.379.017.49-1.161c.27-.64.51-1.214.533-1.277.038-.103.007-.113-.297-.095l-.34.02-.347.874c-.192.481-.369.875-.394.875s-.132-.236-.237-.525c-.105-.288-.253-.689-.329-.89l-.138-.366H3.341V5.002h-.7V6.02H2.42c-.217 0-.223.01-.223.255 0 .246.007.254.215.254h.215l.03.747c.044 1.096.176 1.28.924 1.285h.397zM6.961 5.66c.17-.217.166-.313-.024-.503-.197-.197-.318-.197-.515 0-.195.195-.2.433-.013.564.213.148.404.127.552-.061m.884 2.773c-.428-.226-.658-.723-.612-1.325.036-.476.205-.81.517-1.016.221-.147.333-.172.848-.191l.593-.022v-.941h.763v3.624h-.938c-.801 0-.971-.021-1.17-.126zm1.346-1.175v-.731h-.386c-.342 0-.408.02-.572.186-.255.254-.266.727-.025 1.013.17.203.277.24.713.255l.27.01zm1.081-.509V4.937h.763v.954h.511c1.053 0 1.495.426 1.451 1.398-.018.403-.053.533-.197.752-.295.445-.527.52-1.603.52h-.925zm1.472 1.175c.384-.106.575-.57.419-1.014-.1-.28-.3-.381-.762-.382l-.366-.001v1.462h.239c.131 0 .343-.03.47-.065"})})},anidb:function(e){let{className:t}=e;return(0,n.jsxs)("svg",{viewBox:"0 0 180 180",fill:"currentColor",width:"1em",height:"1em","aria-hidden":!0,className:t,children:[(0,n.jsx)("path",{d:"M139.9 18.8c-1.3.2-1.6 1.4-1.5 5.5l.1 5.2h12l.1-5.3c0-2.8-.2-5.3-.5-5.3-1.6-.4-8.8-.4-10.2-.1M28 38.4v4.4l13.1.3c11.6.4 13.2.6 14.5 2.4 3.1 4.2 1.7 4.9-10.1 5-8.9.2-11.7.6-14.4 2.1-5.6 3.2-7.6 11.2-4.3 17.4 3.1 5.9 6.1 6.6 25 6.6l16.7-.1.3-15.5c.3-18-.6-21-7.3-24.7-3.6-2.1-5.3-2.3-18.7-2.3H28zm28.8 24.9-.3 4.2h-8.4c-7.5 0-8.5-.2-9.8-2.2-1.3-1.9-1.2-2.4.4-4 1.4-1.4 3.5-1.8 10.1-2l8.3-.1zm27.4-8.1.3 21.3 5.8.1H96V60.3c0-12.3.3-16.3 1.3-16.4 4.4-.3 12.4.4 13.1 1.2.5.5 1.1 7.5 1.2 15.6.1 8.2.2 15.1.3 15.4s2.7.5 5.9.5l5.7-.1-.1-16.7c-.1-18.1-.5-19.9-6.1-23.5-2.2-1.5-5.5-1.9-18-2.1L84 33.8zm54.7-21c-.4.8-.6 39.5-.3 41 .4 1.3 1.5 1.6 5.2 1.4 2.6-.1 5.2-.4 5.7-.8.6-.4 1-8.5 1-21V34.5l-5.7-.3c-3.2-.2-5.9-.2-5.9 0"}),(0,n.jsx)("path",{d:"M13.6 38.6C12.2 40 12 46 12 90.4c0 37.7.3 50.5 1.2 51.4.7.7 3.9 1.1 8.2 1l7.1-.2-6.8-.3c-5.9-.4-6.9-.7-7.5-2.6-1.1-3.2-.7-99.6.4-100.7.5-.5 2.9-1 5.4-1.3l4.5-.4-4.7-.1c-3.1-.1-5.2.3-6.2 1.4m58.2-.9c1.7.2 4.7.2 6.5 0 1.7-.2.3-.4-3.3-.4s-5 .2-3.2.4m55 0c1.8.2 4.5.2 6 0s0-.4-3.3-.4-4.5.2-2.7.4m31.9 0c2.8.2 5.6 1 6.2 1.7.8.9 1 16.4.9 51.7l-.3 50.4-8 .6-8 .6 8.5-.1 8.5-.1.3-51.4c.1-37.1-.1-51.8-.9-52.7s-3-1.3-6.8-1.2l-5.6.2zM30.6 93c-.1.3-.2 13.1-.1 28.5v28l17.3.2c19.8.2 24-.7 29.6-6.7 5.3-5.6 6.6-10.3 6.3-22.7-.3-11.8-1.8-16.3-7.4-21.5-5.5-5.3-9.2-6.1-28.1-6.2-9.5-.1-17.4 0-17.6.4m33.9 11.4c5 3.3 6 6.2 5.9 17.1-.2 16-2.3 18.1-17.8 18.4l-9.6.2v-18.4c0-10.1.2-18.6.4-18.8.3-.2 4.5-.4 9.5-.3 6.5.1 9.7.6 11.6 1.8m33.9 16.9v28.9l21.3-.4 21.3-.3 4.2-4.2c3.9-3.9 4.1-4.5 4.2-10 0-6.2-2-10.5-5.6-12.4-1.9-1-1.9-1.2 1.3-4.5 2.8-2.9 3.3-4.3 3.7-9.3s0-6.6-1.8-9.7c-3.7-5.9-6.8-6.7-29.1-6.9l-19.5-.1zM134 105c1.1 1.1 2 3.1 2 4.5s-.9 3.4-2 4.5c-1.7 1.7-3.3 2-12.5 2H111v-13h10.5c9.2 0 10.8.3 12.5 2m-.1 23.4c2.6 2.4 2.7 7 .2 9.5-1.6 1.6-3.6 1.9-12.5 2l-10.6.2V126l10.4.3c8.6.2 10.8.6 12.5 2.1m-49.1 14.3c2.3.2 5.9.2 8 0 2-.2.1-.4-4.3-.4s-6.1.2-3.7.4"})]})}};function s3(e){let{links:t}=e,s=(t??[]).filter(e=>!!e.Name&&!!e.Url);return s.length?(0,n.jsx)("div",{className:"flex flex-wrap items-center gap-0.5",children:s.map(e=>{let t=s2[e.Name.toLowerCase()]??s0.TdP;return(0,n.jsx)(tj.m_,{trigger:(0,n.jsx)("a",{href:e.Url,target:"_blank",rel:"noreferrer","aria-label":e.Name,children:(0,n.jsx)(e1.K0,{size:"sm",intent:"gray-link",className:"px-1.5",icon:(0,n.jsx)(t,{className:"text-xl"}),tabIndex:-1})}),children:e.Name},e.Url)})}):null}let s5="basis-[6.5rem] sm:basis-[7.5rem]";function s4(e){let t,s,{person:a,detail:l}=e,{client:r}=X(),i=tw(r,a.Id,"Primary",a.PrimaryImageTag,{maxWidth:240}),o=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"mx-auto
1size-20 overflow-hidden rounded-full bg-gray-900 ring-1 ring-white/10 transition group-hover:ring-white/40 sm:size-24",children:i?(0,n.jsx)("img",{src:i,alt:"",loading:"lazy",className:"h-full w-full object-cover"}):(0,n.jsx)("span",{className:"flex h-full w-full items-center justify-center text-lg font-semibold text-[--muted]",children:((s=(a.Name??"?").trim().split(/\s+/))[0][0]+(s.length>1?s[s.length-1][0]:"")).toUpperCase().trim()})}),(0,n.jsx)("p",{className:"mt-2 line-clamp-2 text-xs font-medium group-hover:underline",children:a.Name}),l&&(0,n.jsx)("p",{className:"line-clamp-2 text-xs text-[--muted]",children:l})]});return a.Id?(0,n.jsx)("a",{href:e_((t=a.Id,`/person/${t}`)),className:"group block text-center",children:o}):(0,n.jsx)("div",{className:"text-center",children:o})}let s6=new Set(["Actor","GuestStar"]);function s8(e){let{people:t}=e,s=t??[],a=s.filter(e=>s6.has(String(e.Type))),l=new Map;for(let e of s){if(s6.has(String(e.Type)))continue;let t=e.Id??e.Name??"",s=l.get(t)??{person:e,jobs:[]},n=String(e.Type??"");n&&!s.jobs.includes(n)&&s.jobs.push(n),l.set(t,s)}return(0,n.jsxs)(n.Fragment,{children:[a.length>0&&(0,n.jsx)(sn,{title:"Cast",shape:"square",itemClass:s5,children:a.slice(0,40).map(e=>(0,n.jsx)(s4,{person:e,detail:e.Role},e.Id??e.Name))}),l.size>0&&(0,n.jsx)(sn,{title:"Crew",shape:"square",itemClass:s5,children:[...l.values()].map(e=>{let{person:t,jobs:s}=e;return(0,n.jsx)(s4,{person:t,detail:s.join(", ")},t.Id??t.Name)})})]})}let s9=[{label:"All",types:"Movie,Series"},{label:"Movies",types:"Movie"},{label:"Shows",types:"Series"}];function s7(e){let{types:t,onChange:s}=e;return(0,n.jsx)("div",{className:"flex w-fit gap-1 rounded-full bg-gray-900 p-1",children:s9.map(e=>(0,n.jsx)(e1.$n,{size:"xs",intent:t===e.types?"white":"gray-basic",className:"rounded-full",onClick:()=>s(e.types),children:e.label},e.label))})}function ne(e){var t,s;let{itemId:l,seasonId:r,episodeId:i}=e,{client:o}=X(),d=eI(l),c=d.data;return(a.useEffect(()=>{(null==c?void 0:c.Type)==="Episode"&&c.SeriesId&&eB(eq(c),{replace:!0})},[c]),d.isError)?(0,n.jsx)("div",{className:"p-10",children:(0,n.jsx)(sI.D,{title:"Could not load this title"})}):(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)(nt,{images:c?[tS(o,c,t={maxWidth:1920}),tw(o,c.Id,"Thumb",null==(s=c.ImageTags)?void 0:s.Thumb,t)].filter(e=>!!e):[],poster:c?tN(o,c,{maxWidth:400}):null}),(0,n.jsx)("div",{className:"relative z-[1] space-y-12 px-4 pb-16 pt-[38vh] lg:px-10 lg:pt-[26vh]",children:c&&"Episode"!==c.Type?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(nl,{item:c}),"Series"===c.Type&&(0,n.jsx)(no,{series:c,initialSeasonId:r,focusEpisodeId:i}),"BoxSet"===c.Type&&(0,n.jsx)(nh,{parent:c}),(0,n.jsx)(s8,{people:c.People}),(0,n.jsx)(np,{item:c}),("Movie"===c.Type||"Series"===c.Type)&&(0,n.jsx)(ng,{itemId:c.Id})]}):(0,n.jsx)(ns,{})})]})}function nt(e){let{images:t,poster:s}=e,l=s?[...t,s]:t,r=l.join("|"),[i,o]=a.useState(0),[d,c]=a.useState(!1);a.useEffect(()=>{o(0),c(!1)},[r]);let u=l[i],m=i>=t.length;return(0,n.jsxs)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 top-0 h-[55vh] overflow-hidden lg:h-[85vh]",children:[u&&(0,n.jsx)("img",{src:u,alt:"",onLoad:()=>c(!0),onError:()=>o(e=>e+1),className:(0,eh.cn)("absolute inset-0 h-full w-full object-cover transition-opacity duration-700",m?"scale-125 blur-3xl saturate-150":"object-top",d?m?"opacity-50":"opacity-100":"opacity-0")},u),(0,n.jsx)("div",{className:"absolute inset-0 hidden bg-gradient-to-r from-[--background] via-[--background]/60 via-40% to-transparent lg:block"}),(0,n.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-3/4 bg-gradient-to-t from-[--background] via-[--background]/70 to-transparent"})]})}function ns(){return(0,n.jsxs)("div",{className:"flex items-end gap-8",children:[(0,n.jsx)(tv.E,{className:"hidden aspect-[2/3] h-auto w-56 rounded-xl md:block"}),(0,n.jsxs)("div",{className:"flex-1 space-y-4",children:[(0,n.jsx)(tv.E,{className:"h-12 w-2/3"}),(0,n.jsx)(tv.E,{className:"h-5 w-1/3"}),(0,n.jsx)(tv.E,{className:"h-20 w-full max-w-2xl"})]})]})}function nn(){return(0,n.jsx)("span",{className:"text-gray-500",children:"â¢"})}function na(e){let{item:t}=e,s=[],l=t.ProductionYear,r=t.EndDate?new Date(t.EndDate).getFullYear():null;"Series"===t.Type&&l?s.push("Continuing"===t.Status?`${l}â`:r&&r!==l?`${l}â${r}`:l):l&&s.push(l),t.OfficialRating&&s.push((0,n.jsx)("span",{className:"rounded border border-white/30 px-1.5 py-px text-xs",children:t.OfficialRating}));let i=e2(t.RunTimeTicks);
1return(i&&"Series"!==t.Type&&s.push(e5(i)),t.CommunityRating&&s.push((0,n.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,n.jsx)(eo.$iZ,{className:"text-yellow-400"}),t.CommunityRating.toFixed(1)]})),"Series"===t.Type&&t.Status&&s.push(t.Status),s.length)?(0,n.jsx)("div",{className:"flex flex-wrap items-center gap-x-2.5 gap-y-1 text-sm text-gray-200",children:s.map((e,t)=>(0,n.jsxs)(a.Fragment,{children:[t>0&&(0,n.jsx)(nn,{}),(0,n.jsx)("span",{children:e})]},t))}):null}function nl(e){var t,s,l,r,i,o,c,u,m,x,h,p;let{item:g}=e,{client:f}=X(),v=tM(),j=eU(),y=eD(),b=function(){let{client:e,user:t}=X(),s=eR();return(0,ej.n)({mutationFn:s=>{let n=`/UserItems/${s.itemId}/Rating`;return s.dropped?e.post(n,void 0,{userId:t.Id,Likes:!1}):e.delete(n,{userId:t.Id})},onSettled:s})}(),w=function(e,t){let{client:s,user:n}=X();return(0,d.I)({queryKey:[...ey(),"next-up",e],queryFn:()=>s.get("/Shows/NextUp",{userId:n.Id,SeriesId:e,Limit:1}),enabled:t})}(g.Id,"Series"===g.Type),N=tP(f,g),[I,k]=a.useState(!1),S=tN(f,g,{maxWidth:500}),P=!!(null==(t=g.UserData)?void 0:t.Played),C=!!(null==(s=g.UserData)?void 0:s.IsFavorite),T=(null==(l=g.UserData)?void 0:l.Likes)===!1,M=null==(i=g.RemoteTrailers)||null==(r=i[0])?void 0:r.Url,E="Series"===g.Type?null==(c=w.data)||null==(o=c.Items)?void 0:o[0]:"Movie"===g.Type?g:void 0,$=e2(null==E||null==(u=E.UserData)?void 0:u.PlaybackPositionTicks),R=(null==E?void 0:E.Type)==="Episode"?e6(E.ParentIndexNumber,E.IndexNumber):"",U=$?`Resume${R?` ${R}`:` from ${e3($)}`}`:`Play${R?` ${R}`:""}`;return(0,n.jsxs)("div",{className:"flex flex-col gap-6 md:flex-row md:items-end md:gap-8",children:[S&&(0,n.jsx)("img",{src:S,alt:"",className:(0,eh.cn)("hidden flex-none rounded-xl object-cover shadow-2xl ring-1 ring-white/10 md:block","poster"===tC(g)?"aspect-[2/3] w-48 lg:w-56":"aspect-video w-80")}),(0,n.jsxs)("div",{className:"min-w-0 max-w-3xl flex-1 space-y-4",children:[N&&!I?(0,n.jsx)("img",{src:N,alt:g.Name??"",onError:()=>k(!0),className:"max-h-24 max-w-[min(26rem,85%)] object-contain object-left lg:max-h-32"}):(0,n.jsx)("h1",{className:"text-3xl font-bold leading-tight sm:text-4xl lg:text-5xl",children:g.Name}),(null==(m=g.Taglines)?void 0:m[0])&&(0,n.jsx)("p",{className:"text-base italic text-gray-300",children:g.Taglines[0]}),(0,n.jsx)(na,{item:g}),"Series"===g.Type&&"Continuing"===g.Status&&(0,n.jsx)(nr,{series:g}),!!(null==(x=g.Genres)?void 0:x.length)&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5",children:g.Genres.map(e=>(0,n.jsx)(tB,{intent:"white",size:"md",children:e},e))}),(0,n.jsx)(sO,{title:g.Name??"",line:[g.ProductionYear,null==(h=g.Genres)?void 0:h.slice(0,3).join(", ")].filter(Boolean).join(" \xb7 "),overview:g.Overview,image:tk(f,g,{maxWidth:960}),clampClass:"line-clamp-4",className:"text-sm leading-relaxed text-gray-300 sm:text-base"}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[E&&(0,n.jsx)(e1.$n,{intent:"white",className:"rounded-full",leftIcon:(0,n.jsx)(eo.UIR,{className:"text-xl"}),onClick:()=>v.open(E,{startMs:$}),children:U}),E&&!!$&&(0,n.jsx)(tj.m_,{trigger:(0,n.jsx)(e1.K0,{intent:"gray-subtle",className:"rounded-full",icon:(0,n.jsx)(eo.BaX,{}),"aria-label":"Play from the start",onClick:()=>v.open(E,{startMs:0})}),children:"Play from the start"}),M&&(0,n.jsx)(e1.$n,{intent:"gray-outline",className:"rounded-full",leftIcon:(0,n.jsx)(eo.E0d,{className:"text-lg"}),onClick:()=>window.open(M,"_blank","noopener"),children:"Trailer"}),"BoxSet"!==g.Type&&(0,n.jsx)(tj.m_,{trigger:(0,n.jsx)(e1.K0,{intent:P?"primary-subtle":"gray-subtle",className:"rounded-full",icon:(0,n.jsx)(eo.mmP,{}),"aria-label":P?"Mark unwatched":"Mark watched",loading:j.isPending,onClick:()=>j.mutate({itemId:g.Id,played:!P})}),children:P?"Mark unwatched":"Mark watched"}),(0,n.jsx)(tj.m_,{trigger:(0,n.jsx)(e1.K0,{intent:C?"alert-subtle":"gray-subtle",className:"rounded-full",icon:C?(0,n.jsx)(eo.DfY,{}):(0,n.jsx)(eo.uoR,{}),"aria-label":C?"Remove favourite":"Add favourite",loading:y.isPending,onClick:()=>y.mutate({itemId:g.Id,favorite:!C})}),children:C?"Remove favourite":"Add favourite"}),"Series"===g.Type&&(0,n.jsx)(tj.m_,{trigger:(0,n.jsx)(e1.K0,{intent:T?"warning-subtle":"gray-subtle",className:"rounded-full",icon:T?(0,n.jsx)(eo.WFn,{}):(0,n.jsx)(eo.d1R,{}),"aria-label":T?"Undrop show":"Drop show",loading:b.isPending,onClick:()=>b.mutate({itemId:g.Id,dropped:!T})}),children:T?"Undrop show":"Drop show"}),!!(null==(p=g.ExternalUrls)?void 0:p.length)&&(0,n.jsx)("span",{className:"mx-1 h-6 w-px bg-white/10","aria-hidden":!0}),(0,n.jsx)(s3,{links:g.ExternalUrls})]})]})]})}function nr(e){var t,s;let{series:l}=e,r=ek(l.Id,!0),i=a.useMemo(()=>{var e;return((null==(e=r.data)?void 0:e.Items)??[]).filter(e=>(e.IndexNumber??0)>0).sort((e,t)=>
1(t.IndexNumber??0)-(e.IndexNumber??0))[0]},[r.data]),o=null==(s=eS(l.Id,(null==i?void 0:i.Id)??void 0).data)||null==(t=s.Items)?void 0:t.find(e=>e.PremiereDate&&Date.parse(e.PremiereDate)>Date.now());return(null==o?void 0:o.PremiereDate)?(0,n.jsxs)("p",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 text-sm",children:[(0,n.jsx)(eo.zBL,{className:"text-lg text-[--muted]"}),(0,n.jsx)("span",{className:"font-semibold",children:e6(o.ParentIndexNumber,o.IndexNumber)}),(0,n.jsxs)("span",{children:["airs ",ta(o.PremiereDate)]}),(0,n.jsx)("span",{className:"text-[--muted]",children:tn(o.PremiereDate)})]}):null}function ni(e){let{title:t,action:s,children:a}=e;return(0,n.jsxs)("section",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,n.jsx)("h2",{className:"text-xl font-semibold",children:t}),s]}),a]})}function no(e){var t,s;let{series:l,initialSeasonId:r,focusEpisodeId:i}=e,{client:o}=X(),d=eU(),[c]=H(),u=(0,sL.U)("(min-width: 1024px)"),m="auto"===c?u?"row":"list":c,x=ek(l.Id,!0),h=a.useMemo(()=>{var e;return(null==(e=x.data)?void 0:e.Items)??[]},[x.data]),[p,g]=a.useState(r);a.useEffect(()=>{if(p||!h.length)return;let e=h.filter(e=>(e.IndexNumber??1)>0);g((e.find(e=>{var t;return!(null==(t=e.UserData)?void 0:t.Played)})??e[0]??h[0]).Id)},[h,p]);let f=h.find(e=>e.Id===p),v=eS(l.Id,p),j=(null==(t=v.data)?void 0:t.Items)??[],y=x.isLoading||v.isLoading,b=function(e,t){var s;if(!e||!t.length)return null;let n=null==(s=t.find(e=>e.PremiereDate))?void 0:s.PremiereDate,a=n?new Date(n).getFullYear():e.ProductionYear,l=t.filter(e=>"Unaired"===ts(e)).length;return[a,`${t.length} episode${1===t.length?"":"s"}`,l?`${l} unaired`:null].filter(Boolean).join(" \xb7 ")}(f,j),w=!!(null==f||null==(s=f.UserData)?void 0:s.Played),N=h.some(e=>{var t,s;return(null==(t=e.ImageTags)?void 0:t.Primary)&&e.ImageTags.Primary!==(null==(s=l.ImageTags)?void 0:s.Primary)}),I=i?j.findIndex(e=>e.Id===i):-1,k=a.useRef(null);return a.useEffect(()=>{if(v.data&&i){var e;null==(e=k.current)||e.scrollIntoView({behavior:"smooth",block:"center"})}},[v.data,i]),(0,n.jsxs)(ni,{title:"Episodes",action:f&&(0,n.jsx)(e1.$n,{size:"sm",intent:"gray-outline",className:"rounded-full",leftIcon:(0,n.jsx)(eo.mmP,{}),loading:d.isPending,onClick:()=>d.mutate({itemId:f.Id,played:!w}),children:w?"Mark season unwatched":"Mark season watched"}),children:[N?(0,n.jsx)(sn,{shape:"poster",itemClass:"basis-[7rem] sm:basis-[8rem] lg:basis-[8.5rem]",children:h.map(e=>{var t;let s=e.Id===p,a=tN(o,e,{maxWidth:300});return(0,n.jsxs)("button",{type:"button",onClick:()=>g(e.Id),className:"group/season w-full space-y-2 text-left",children:[(0,n.jsxs)("div",{className:"relative aspect-[2/3] overflow-hidden rounded-lg bg-gray-900",children:[a&&(0,n.jsx)("img",{src:a,alt:"",loading:"lazy",className:(0,eh.cn)("absolute inset-0 h-full w-full object-cover transition-opacity",!s&&"opacity-60 group-hover/season:opacity-100")}),(0,n.jsx)("span",{className:(0,eh.cn)("pointer-events-none absolute inset-0 rounded-lg ring-inset",s?"ring-2 ring-white":"ring-1 ring-white/10")}),(null==(t=e.UserData)?void 0:t.Played)&&(0,n.jsx)("span",{className:"absolute right-1.5 top-1.5 flex size-5 items-center justify-center rounded-full bg-brand-500 text-white",children:(0,n.jsx)(eo.mmP,{})})]}),(0,n.jsx)("p",{className:(0,eh.cn)("truncate text-sm",s?"font-semibold text-white":"text-[--muted] group-hover/season:text-white"),children:e.Name})]},e.Id)})}):(0,n.jsx)(nc,{seasons:h,selected:p,onSelect:g}),b&&(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,n.jsx)("p",{className:"text-sm text-[--muted]",children:b}),"row"===m&&j.length>1&&(0,n.jsx)(nx,{title:(null==f?void 0:f.Name)??"Episodes",summary:b,episodes:j})]}),(null==f?void 0:f.Overview)&&(0,n.jsx)("p",{className:"max-w-3xl select-text text-sm text-gray-300",children:f.Overview}),"row"===m?y?(0,n.jsx)(sn,{shape:"wide",itemClass:nd,loading:!0},"loading"):(0,n.jsx)("div",{ref:I>=0?k:void 0,children:(0,n.jsx)(sn,{id:`episodes:${p}`,shape:"wide",itemClass:nd,startIndex:I>=0?I:sK(j),children:j.map(e=>(0,n.jsx)(sJ,{episode:e,highlighted:e.Id===i},e.Id))},p)}
1):y?(0,n.jsx)(sQ,{columns:!0}):(0,n.jsx)(sZ,{episodes:j,highlightId:i,anchorId:i,anchorRef:k,columns:!0})]})}let nd="basis-[85%] sm:basis-[20rem] lg:basis-[22rem] 2xl:basis-[24rem]";function nc(e){let{seasons:t,selected:s,onSelect:a}=e;return(0,n.jsxs)(t2,{gap:"sm",opts:{align:"start",dragFree:!0,slidesToScroll:"auto"},className:"flex items-center gap-2",children:[(0,n.jsx)(nu,{arrow:"prev",follow:t.findIndex(e=>e.Id===s)}),(0,n.jsx)(nm,{children:t.map(e=>{var t;return(0,n.jsx)(t5,{className:"basis-auto",children:(0,n.jsx)(e1.$n,{size:"sm",intent:e.Id===s?"white":"gray-subtle",className:"rounded-full",rightIcon:(null==(t=e.UserData)?void 0:t.Played)?(0,n.jsx)(eo.mmP,{}):void 0,iconSpacing:"0.25rem",onClick:()=>a(e.Id),children:e.Name})},e.Id)})}),(0,n.jsx)(nu,{arrow:"next"})]})}function nu(e){let{arrow:t,follow:s}=e,{api:l,canScrollPrev:r,canScrollNext:i}=tQ();if(a.useEffect(()=>{if(!l||null==s||s<0)return;let e=l.slideNodes()[s];if(!e)return;let t=l.rootNode().getBoundingClientRect(),n=e.getBoundingClientRect();(n.left<t.left||n.right>t.right)&&l.scrollTo(Math.min(s,l.scrollSnapList().length-1))},[l,s]),!r&&!i)return null;let o="prev"===t?t6:t8;return(0,n.jsx)(o,{className:"hidden flex-none disabled:opacity-30 md:inline-flex"})}function nm(e){let{children:t}=e,{canScrollPrev:s,canScrollNext:a}=tQ();return(0,n.jsx)(t3,{contentClass:(0,eh.cn)("min-w-0 flex-1",s&&a?"[mask-image:linear-gradient(to_right,transparent,black_2.5rem,black_calc(100%-2.5rem),transparent)]":s?"[mask-image:linear-gradient(to_right,transparent,black_2.5rem)]":a&&"[mask-image:linear-gradient(to_left,transparent,black_2.5rem)]"),children:t})}function nx(e){var t;let{title:s,summary:l,episodes:r}=e,i=a.useRef(null);return(0,n.jsx)(eX.a,{trigger:(0,n.jsx)(e1.$n,{size:"sm",intent:"gray-outline",className:"flex-none rounded-full",rightIcon:(0,n.jsx)(eo.XWt,{}),iconSpacing:"0.25rem",children:"All episodes"}),title:s,description:l,contentClass:"max-w-3xl",onOpenAutoFocus:e=>{var t;e.preventDefault(),null==(t=i.current)||t.scrollIntoView({block:"center"})},children:(0,n.jsx)(sZ,{episodes:r,anchorId:null==(t=r[sK(r)])?void 0:t.Id,anchorRef:i})})}function nh(e){var t,s;let{parent:l}=e,{client:r}=X(),[i,o]=a.useState(s9["0"].types),d=eN(l.Id,{types:i}),c=(null==(t=d.data)?void 0:t.pages.flatMap(e=>e.Items??[]))??[],u=tV(()=>{d.hasNextPage&&!d.isFetchingNextPage&&d.fetchNextPage()},"800px",[null==(s=d.data)?void 0:s.pages.length,i]);return(0,n.jsxs)(ni,{title:"In this collection",action:(0,n.jsx)(s7,{types:i,onChange:o}),children:[(0,n.jsx)(sk,{items:c,client:r,loading:d.isLoading}),!d.isLoading&&!c.length&&(0,n.jsx)("p",{className:"text-[--muted]",children:"Nothing here."}),d.isFetchingNextPage&&(0,n.jsx)(tv.E,{className:"h-40 w-full rounded-xl"}),(0,n.jsx)("div",{ref:u})]})}function np(e){var t,s,a;let{item:l}=e,r=(null==(t=l.AirDays)?void 0:t.length)?`${l.AirDays.map(e=>`${e}s`).join(", ")}${l.AirTime?` at ${l.AirTime}`:""}`:null,i=l.PremiereDate?new Date(l.PremiereDate).toLocaleDateString(void 0,{day:"numeric",month:"long",year:"numeric"}):null,o=[["Studios",null==(s=l.Studios)?void 0:s.map(e=>e.Name).join(", ")],["Series"===l.Type?"First aired":"Released",i],["Airs","Series"===l.Type&&"Continuing"===l.Status?r:null],["Country",null==(a=l.ProductionLocations)?void 0:a.join(", ")]].filter(e=>{let[,t]=e;return!!t});return o.length?(0,n.jsx)(ni,{title:"Details",children:(0,n.jsx)("dl",{className:"grid max-w-5xl grid-cols-1 gap-x-10 gap-y-4 sm:grid-cols-2 xl:grid-cols-3",children:o.map(e=>{let[t,s]=e;return(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{className:"text-xs uppercase tracking-wide text-[--muted]",children:t}),(0,n.jsx)("dd",{className:"mt-1 text-sm",children:s})]},t)})})}):null}function ng(e){var t,s;let{itemId:l}=e,{client:r}=X(),[i,o]=a.useState(!1),c=tV(()=>o(!0),"400px"),u=function(e,t){let{client:s,user:n}=X();return(0,d.I)({queryKey:[...ey(),"similar",e],queryFn:()=>s.get(`/Items/${e}/Similar`,{userId:n.Id,Limit:20}),enabled:t,staleTime:18e5})}(l,i);return(0,n.jsx)("div",{ref:c,className:"min-h-[2rem]",children:i&&(0,n.jsx)(sn,{title:"More like this",shape:"poster",loading:u.isLoading,children:null==(s=u.data)||null==(t=s.Items)?void 0:t.map(e=>{var t;return(0,n.jsx)(sy,{item:e,children:(0,n.jsx)(sc,{href:e_(eq(e)),image:tN(r,e,{maxWidth:400}
1),title:e.Name??"",subtitle:e8(e),watched:null==(t=e.UserData)?void 0:t.Played})},e.Id)})})})}function nf(e){return new Date(e).toLocaleDateString(void 0,{day:"numeric",month:"long",year:"numeric"})}function nv(e){var t;let{person:s}=e,a=s.PremiereDate,l=s.EndDate,r=null==(t=s.ProductionLocations)?void 0:t[0],i=[(a||r)&&["Born",a&&nf(a),a&&!l&&`(age ${tl(a)})`,r&&`in ${r}`].filter(Boolean).join(" "),l&&`Died ${nf(l)}${a?` (aged ${tl(a,l)})`:""}`].filter(Boolean);return i.length?(0,n.jsx)("div",{className:"space-y-0.5 text-sm text-gray-300",children:i.map(e=>(0,n.jsx)("p",{children:e},e))}):null}function nj(e){let{person:t}=e,{client:s}=X(),a=tN(s,t,{maxWidth:500});return(0,n.jsxs)("div",{className:"flex flex-col gap-6 sm:flex-row sm:items-start sm:gap-8",children:[(0,n.jsx)("div",{className:"aspect-[2/3] w-36 flex-none overflow-hidden rounded-xl bg-gray-900 shadow-2xl ring-1 ring-white/10 sm:w-48",children:a&&(0,n.jsx)("img",{src:a,alt:"",className:"h-full w-full object-cover"})}),(0,n.jsxs)("div",{className:"min-w-0 max-w-3xl flex-1 space-y-3",children:[(0,n.jsx)("h1",{className:"text-3xl font-bold leading-tight sm:text-4xl",children:t.Name}),(0,n.jsx)(nv,{person:t}),(0,n.jsx)(s3,{links:t.ExternalUrls}),(0,n.jsx)(sO,{title:t.Name??"",overview:t.Overview,image:[],clampClass:"line-clamp-5",className:"text-sm leading-relaxed text-gray-300 sm:text-base"})]})]})}function ny(e){var t,s,l,r;let{personId:i}=e,{client:o}=X(),[d,c]=a.useState(s9["0"].types),u=function(e,t){let{client:s,user:n}=X();return(0,ep.q)({queryKey:[...ey(),"person-items",e,t],initialPageParam:0,queryFn:a=>{let{pageParam:l}=a;return s.get("/Items",{userId:n.Id,PersonIds:e,IncludeItemTypes:t,Recursive:!0,SortBy:"PremiereDate,ProductionYear,SortName",SortOrder:"Descending",StartIndex:l,Limit:60})},getNextPageParam:(e,t)=>{let s=60*t.length;return s<(e.TotalRecordCount??0)?s:void 0},staleTime:36e5})}(i,d),m=(null==(t=u.data)?void 0:t.pages.flatMap(e=>e.Items??[]))??[],x=null==(l=u.data)||null==(s=l.pages[0])?void 0:s.TotalRecordCount,h=tV(()=>{u.hasNextPage&&!u.isFetchingNextPage&&u.fetchNextPage()},"800px",[null==(r=u.data)?void 0:r.pages.length,d]);return(0,n.jsxs)("section",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,n.jsxs)("h2",{className:"text-xl font-semibold",children:["Filmography",null!=x&&(0,n.jsx)("span",{className:"ml-2 text-base font-normal text-[--muted]",children:x})]}),(0,n.jsx)(s7,{types:d,onChange:c})]}),u.isError?(0,n.jsx)(sI.D,{title:"Could not load their work"}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(sk,{items:m,client:o,loading:u.isLoading}),!u.isLoading&&!m.length&&(0,n.jsx)("p",{className:"text-[--muted]",children:"Nothing found."})]}),u.isFetchingNextPage&&(0,n.jsx)(tv.E,{className:"h-40 w-full rounded-xl"}),(0,n.jsx)("div",{ref:h})]})}function nb(e){let{personId:t}=e,s=eI(t);return s.isError?(0,n.jsx)(tq,{children:(0,n.jsx)(sI.D,{title:"Could not load this person"})}):(0,n.jsxs)(tq,{children:[s.data?(0,n.jsx)(nj,{person:s.data}):(0,n.jsxs)("div",{className:"flex gap-8",children:[(0,n.jsx)(tv.E,{className:"aspect-[2/3] h-auto w-36 rounded-xl sm:w-48"}),(0,n.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,n.jsx)(tv.E,{className:"h-10 w-1/2"}),(0,n.jsx)(tv.E,{className:"h-5 w-1/3"}),(0,n.jsx)(tv.E,{className:"h-24 w-full max-w-2xl"})]})]}),(0,n.jsx)(ny,{personId:t})]})}var nw=s(78082);function nN(e){let{sessions:t}=e,s=t.filter(e=>e.NowPlayingItem);return s.length?(0,n.jsx)(sn,{title:"Now playing",shape:"wide",children:s.map(e=>(0,n.jsx)(nI,{session:e},e.Id))}):null}function nI(e){var t,s;let{session:a}=e,{client:l}=X(),r=a.NowPlayingItem,i=e2(null==(t=a.PlayState)?void 0:t.PositionTicks),o=e2(r.RunTimeTicks),d=null==(s=a.PlayState)?void 0:s.IsPaused;return(0,n.jsx)(su,{href:e_(eq(r)),image:tk(l,r,{maxWidth:640}),title:e9(r),subtitle:[a.UserName,a.DeviceName||a.Client].filter(Boolean).join(" \xb7 "),meta:o?`${e3(i)} / ${e3(o)}`:e3(i),progress:o?i/o*100:null,badge:(0,n.jsx)(tB,{intent:d?"gray-solid":"primary-solid",size:"sm",children:d?"Paused":"Playing"})})}let nk=e=>e.lastPlayedAt??e.sortAt;function nS(e){let{owners:t,users:s,selected:a,onSelect:l}=e;return t.length<2?null:(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(e1.$n,{size:"sm",intent:null===a?"white":"gray-outline",className:"rounded-full",onClick:()=>l(null),children:"Everyone"}),t.map(e=>{var t;let r=s.filter(t=>t.historyOf===e.user.Id&&t.user.Id!==e.user.Id).map(e=>e.user.Name);return(0,n.jsxs)(e1.$n,{size:"sm",intent:a===e.user.Id?"white":"gray-outline",className:"rounded-full",leftIcon:(0,n.jsx)(eW,{name:e.user.Name,src:e.avatar,className:"size-5 text-[10px]"}),onClick:()=>l(e.user.Id),children:[e.user.Name,r.length>0&&(0,n.jsxs)("span",{className:"ml-1 text-[--muted]",children:["+ ",r.join(", ")
1]}),(0,n.jsx)("span",{className:"ml-2 tabular-nums text-[--muted]",children:(null==(t=e.counts)?void 0:t.played)??0})]},e.user.Id)})]})}function nP(e){let{entries:t,names:s}=e,l=a.useMemo(()=>(function(e){let t=new Map;for(let s of e){let e=new Date(nk(s)),n=e.toDateString(),a=t.get(n);a||(a={key:n,date:e,tiles:[],runtimeMs:0},t.set(n,a));let l="episode"===s.kind&&!!s.item.SeriesId,r=`${s.userId}|${l?s.item.SeriesId:s.itemKey}`,i=a.tiles.find(e=>e.key===r);i||(i={key:r,entries:[],show:l},a.tiles.push(i)),i.entries.push(s),s.played&&(a.runtimeMs+=s.durationMs)}return[...t.values()]})(t),[t]);return(0,n.jsx)("div",{className:"space-y-8",children:l.map(e=>(0,n.jsxs)("section",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-3",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:e.date.toLocaleDateString(void 0,{weekday:"long",day:"numeric",month:"long",year:"numeric"})}),e.runtimeMs>0&&(0,n.jsxs)("span",{className:"text-sm text-[--muted]",children:[e5(e.runtimeMs)," watched"]})]}),(0,n.jsx)("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 2xl:grid-cols-3",children:e.tiles.map(e=>(0,n.jsx)(nC,{tile:e,names:s},e.key))})]},e.key))})}function nC(e){let{tile:t,names:s}=e,{client:l}=X(),[r,i]=a.useState(!1),o=t.entries[0],d=o.item,c=[...t.entries].sort((e,t)=>(e.item.ParentIndexNumber??0)-(t.item.ParentIndexNumber??0)||(e.item.IndexNumber??0)-(t.item.IndexNumber??0)),u=c.length>1,m=e_(eA(t.show&&d.SeriesId?d.SeriesId:d.Id)),x=u?`${e6(c[0].item.ParentIndexNumber,c[0].item.IndexNumber)} â ${e6(c[c.length-1].item.ParentIndexNumber,c[c.length-1].item.IndexNumber)}`:null;return(0,n.jsxs)("div",{className:(0,eh.cn)("rounded-xl border border-white/5 bg-gray-950/60",r&&"md:col-span-2 2xl:col-span-3"),children:[(0,n.jsxs)("div",{className:"flex gap-3 p-3",children:[(0,n.jsx)("a",{href:m,className:"w-14 flex-none",children:(0,n.jsx)(nE,{src:tN(l,d,{maxWidth:200})})}),(0,n.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,n.jsx)("a",{href:m,className:"block truncate font-semibold hover:underline",children:t.show&&d.SeriesName||d.Name}),s&&(0,n.jsx)("p",{className:"truncate text-xs text-[--muted]",children:s.get(o.userId)}),t.show&&u&&(0,n.jsxs)("p",{className:"text-sm",children:[(0,n.jsxs)("span",{className:"font-medium text-brand-300",children:[c.length," episodes"]})," ",(0,n.jsx)("span",{className:"text-[--muted]",children:x})]}),!u&&(0,n.jsx)(nT,{entry:o,showName:t.show})]}),(0,n.jsxs)("div",{className:"flex flex-none flex-col items-end justify-between",children:[u?(0,n.jsx)(e1.K0,{size:"xs",intent:"gray-basic",icon:r?(0,n.jsx)(eo.mlL,{}):(0,n.jsx)(eo.nwe,{}),"aria-label":r?"Hide episodes":"Show episodes",onClick:()=>i(e=>!e)}):(0,n.jsx)(n$,{entries:[o]}),u&&(0,n.jsx)(n$,{entries:c})]})]}),r&&(0,n.jsx)("div",{className:"grid grid-cols-1 gap-2 border-t border-white/5 p-3 sm:grid-cols-2 lg:grid-cols-3",children:c.map(e=>(0,n.jsxs)("div",{className:"flex items-center gap-3 rounded-lg bg-gray-900/60 p-2",children:[(0,n.jsx)("a",{href:e_(eq(e.item)),className:"w-24 flex-none",children:(0,n.jsx)("div",{className:"relative aspect-video overflow-hidden rounded-md bg-gray-900",children:(0,n.jsx)(sr,{src:tk(l,e.item,{maxWidth:300}),alt:""})})}),(0,n.jsx)("div",{className:"min-w-0 flex-1",children:(0,n.jsx)(nT,{entry:e,showName:!0})}),(0,n.jsx)(n$,{entries:[e]})]},e.itemKey))})]})}function nT(e){let{entry:t,showName:s}=e,a=t.item,l=e6(a.ParentIndexNumber,a.IndexNumber);return(0,n.jsxs)("div",{className:"min-w-0 space-y-0.5 text-sm",children:[s&&"episode"===t.kind&&(0,n.jsxs)("p",{className:"truncate",children:[(0,n.jsx)("span",{className:"font-medium text-brand-300",children:l})," ",a.Name]}),(0,n.jsxs)("p",{className:"flex flex-wrap items-center gap-x-2 text-xs text-[--muted]",children:[(0,n.jsx)("span",{children:e4(nk(t))}),(0,n.jsx)(nM,{entry:t}),t.tracker&&(0,n.jsx)(tB,{size:"sm",intent:"gray",children:t.tracker})]})]})}function nM(e){let{entry:t}=e;return t.played?(0,n.jsxs)("span",{className:"flex items-center gap-0.5 text-green-300",children:[(0,n.jsx)(eo.mmP,{}),t.playCount>1?`Watched \xd7${t.playCount}`:"Watched"]}):(0,n.jsxs)("span",{children:[e3(t.positionMs),t.durationMs?` / ${e3(t.durationMs)}`:""]})}function nE(e){let{src:t}=e;return(0,n.jsx)("div",{className:"relative aspect-[2/3] overflow-hidden rounded-md bg-gray-900",children:(0,n.jsx)(sr,{src:t,alt:""})})}function n$(e){var t,s;let{entries:a}=e,{user:l}=X(),r=e$(),i=eU(),o=eL(),d=a[0].userId,c=d!==l.Id&&(null==(s=r.data)||null==(t=s.users.find(e=>e.user.Id===d))?void 0:t.locked)?[]:a.filter(e=>e.played),u=async()=>{for(let e of c)await i.mutateAsync({itemId:e.item.Id,played:!1,userId:e.userId});tf.oR.success("Marked unwatched")};return(0,n.jsxs)(ec.rI,{align:"end",trigger:(0,n.jsx)(e1.K0,{size:"xs",intent:"gray-basic",icon:(0,n.jsx)(eo.voe,{}),"aria-label":"Actions"}),children:[1===a.length&&(0,n.jsx)(ec._2,{onClick:()=>eB(eq(a[0].item)),children:"Open"}),c.length>0&&(0,n.jsx)(ec._2,{onClick:()=>void u(),children:"Mark unwatched"}),(0,n.jsx)(ec._2,{onClick:()=>o.mutate({userId:a[0].userId,itemKeys:a.map(e=>e.itemKey)},{onSuccess:()=>tf.oR.success("Removed from history")}),className:"text-red-300",children:"Remove from history"})]})}function nR(e){let{owner:t}=e,s=eL(),a=(0,em.J)({title:`Reset ${t.user.Name}'s history`,description:"Watched marks and resume points are removed from this server. Favourites stay. Titles a tracker still lists come back when it next syncs.",actionText:"Reset history",onConfirm:()=>s.mutate({userId:t.user.Id},{onSuccess:e=>tf.oR.success(`Removed ${e.cleared} titles from the history`)})});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e1.$n,{size:"sm",intent:"alert-subtle",className:"rounded-full",loading:s.isPending,onClick:a.open,children:"Reset"}),(0,n.jsx)(em.K,{...a})]})}function nU(){let{client:e}=X(),[t,s]=a.useState(!1),l=async()=>{s(!0);try{let t=await e.get("/AIOStreams/History/Export"),s=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),n=document.createElement("a");n.href=URL.createObjectURL(s),n.download=`watch-history-${new Date().toISOString().slice(0,10)}.json`,n.click(),URL.revokeObjectURL(n.href)}catch(e){tf.oR.error(e.message)}finally{s(!1)}};return(0,n.jsx)(e1.$n,{size:"sm",intent:"gray-outline",className:"rounded-full",loading:t,leftIcon:(0,n.jsx)(eo.Ah9,{}),onClick:l,children:"Export"})}function nD(e){let{entries:t,names:s}=e,{client:l}
1=X(),r=eL(),[i,o]=a.useState(new Set),d=e=>`${e.userId}|${e.itemKey}`,c=t.length>0&&i.size===t.length,u=async()=>{let e=new Map;for(let s of t)i.has(d(s))&&e.set(s.userId,[...e.get(s.userId)??[],s.itemKey]);let s=0;for(let[t,n]of e)s+=(await r.mutateAsync({userId:t,itemKeys:n})).cleared;o(new Set),tf.oR.success(`Removed ${s} from the history`)};return(0,n.jsxs)("div",{className:"space-y-3",children:[i.size>0&&(0,n.jsxs)("div",{className:"sticky top-[calc(0.5rem+env(safe-area-inset-top))] z-[5] flex items-center justify-between gap-3 rounded-xl border border-white/10 bg-gray-950/95 p-3 backdrop-blur",children:[(0,n.jsxs)("span",{className:"text-sm",children:[i.size," selected"]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(e1.$n,{size:"sm",intent:"gray-outline",className:"rounded-full",onClick:()=>o(new Set),children:"Clear selection"}),(0,n.jsx)(e1.$n,{size:"sm",intent:"alert-subtle",className:"rounded-full",loading:r.isPending,onClick:()=>void u(),children:"Remove from history"})]})]}),(0,n.jsx)("div",{className:"overflow-x-auto rounded-xl border border-white/5",children:(0,n.jsxs)("table",{className:"w-full text-sm",children:[(0,n.jsx)("thead",{className:"bg-gray-900/60 text-left text-xs uppercase text-[--muted]",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{className:"w-10 p-3",children:(0,n.jsx)(nw.Sc,{value:c,onValueChange:()=>o(c?new Set:new Set(t.map(d))),"aria-label":"Select all"})}),(0,n.jsx)("th",{className:"p-3",children:"Title"}),s&&(0,n.jsx)("th",{className:"hidden p-3 sm:table-cell",children:"User"}),(0,n.jsx)("th",{className:"p-3",children:"Status"}),(0,n.jsx)("th",{className:"hidden p-3 md:table-cell",children:"When"}),(0,n.jsx)("th",{className:"hidden p-3 md:table-cell",children:"Source"}),(0,n.jsx)("th",{className:"w-10 p-3"})]})}),(0,n.jsx)("tbody",{children:t.map(e=>{let t=e.item;return(0,n.jsxs)("tr",{className:(0,eh.cn)("border-t border-white/5",i.has(d(e))&&"bg-brand-500/5"),children:[(0,n.jsx)("td",{className:"p-3",children:(0,n.jsx)(nw.Sc,{value:i.has(d(e)),onValueChange:()=>o(t=>{let s=new Set(t);return s.delete(d(e))||s.add(d(e)),s}),"aria-label":"Select"})}),(0,n.jsx)("td",{className:"p-3",children:(0,n.jsxs)("a",{href:e_(eq(t)),className:"flex items-center gap-3 hover:underline",children:[(0,n.jsx)("span",{className:"w-8 flex-none",children:(0,n.jsx)(nE,{src:tN(l,t,{maxWidth:120})})}),(0,n.jsxs)("span",{className:"min-w-0",children:[(0,n.jsx)("span",{className:"block truncate font-medium",children:"episode"===e.kind&&t.SeriesName||t.Name}),"episode"===e.kind&&(0,n.jsxs)("span",{className:"block truncate text-xs text-[--muted]",children:[e6(t.ParentIndexNumber,t.IndexNumber)," ",t.Name]}),(0,n.jsx)("span",{className:"block text-xs text-[--muted] md:hidden",children:e4(nk(e))})]})]})}),s&&(0,n.jsx)("td",{className:"hidden p-3 text-[--muted] sm:table-cell",children:s.get(e.userId)}),(0,n.jsx)("td",{className:"whitespace-nowrap p-3 text-xs",children:(0,n.jsx)(nM,{entry:e})}),(0,n.jsx)("td",{className:"hidden whitespace-nowrap p-3 text-xs text-[--muted] md:table-cell",children:new Date(nk(e)).toLocaleString(void 0,{dateStyle:"medium",timeStyle:"short"})}),(0,n.jsx)("td",{className:"hidden p-3 text-xs text-[--muted] md:table-cell",children:e.tracker??("local"===e.origin?"Here":"")}),(0,n.jsx)("td",{className:"p-3",children:(0,n.jsx)(n$,{entries:[e]})})]},d(e))})})]})})]})}let nL="aiostreams-web-volume";function nz(){let e=g.get(nL);return{volume:Math.min(1,Math.max(0,(null==e?void 0:e.volume)??1)),muted:(null==e?void 0:e.muted)??!1}}function nF(e,t){return{started:!1,paused:!1,waiting:!0,positionMs:t,durationMs:e.RunTimeTicks?e.RunTimeTicks/1e4:0,bufferedMs:0,rate:1,fullscreen:!1,audio:null,subtitle:null,error:null,...nz()}}function nA(e){let t=a.useRef(e);return t.current=e,t}function nO(e,t){return e.DisplayTitle||e.Title||e.Language||`Track ${t}`}function nq(e,t){return(e.MediaStreams??[]).filter(e=>e.Type===t)}function n_(){var e,t;document.fullscreenElement?document.exitFullscreen():null==(e=(t=document.documentElement).requestFullscreen)||e.call(t).catch(()=>{})}var nK=s(92814);let nB=[.5,.75,1,1.25,1.5,2],nV={Intro:"Skip intro",Recap:"Skip recap",Outro:"Skip credits",Preview:"Skip preview",Commercial:"Skip ad"};function nW(e){let{label:t,className:s,...a}=e;return(0,n.jsx)("button",{type:"button","aria-label":t,title:t,className:(0,eh.cn)("flex size-10 flex-none items-center justify-center rounded-full text-[1.4rem] text-white/85 transition hover:bg-white/10 hover:text-white disabled:pointer-events-none disabled:opacity-40",s),...a}
1)}function nY(e){var t;let{positionMs:s,durationMs:l,bufferedMs:r,segments:i,onSeek:o}=e,d=a.useRef(null),[c,u]=a.useState(null),[m,x]=a.useState(null),h=e=>{var t;let s=null==(t=d.current)?void 0:t.getBoundingClientRect();return s&&l?Math.min(1,Math.max(0,(e-s.left)/s.width))*l:0},p=e=>l?`${Math.min(100,e/l*100)}%`:"0%",g=m??s;return(0,n.jsxs)("div",{ref:d,role:"slider","aria-label":"Seek","aria-valuemin":0,"aria-valuemax":Math.round(l/1e3),"aria-valuenow":Math.round(g/1e3),className:"group/seek relative flex h-5 cursor-pointer touch-none items-center",onPointerDown:e=>{l&&(e.currentTarget.setPointerCapture(e.pointerId),x(h(e.clientX)))},onPointerMove:e=>{let t=h(e.clientX);u(t),null!==m&&x(t)},onPointerUp:()=>{null!==m&&o(m),x(null)},onPointerLeave:()=>u(null),children:[(0,n.jsxs)("div",{className:"relative h-1 w-full overflow-hidden rounded-full bg-white/20 transition-[height] group-hover/seek:h-1.5",children:[(0,n.jsx)("div",{className:"absolute inset-y-0 left-0 bg-white/30",style:{width:p(r)}}),i.map(e=>(0,n.jsx)("div",{className:"absolute inset-y-0 bg-amber-300/60",style:{left:p(e.startMs),width:p(e.endMs-e.startMs)}},`${e.type}-${e.startMs}`)),(0,n.jsx)("div",{className:"absolute inset-y-0 left-0 bg-brand-400",style:{width:p(g)}})]}),(0,n.jsx)("div",{className:"absolute size-3.5 -translate-x-1/2 rounded-full bg-white opacity-0 shadow transition-opacity group-hover/seek:opacity-100",style:{left:p(g),opacity:null!==m?1:void 0}}),null!==c&&l>0&&(0,n.jsxs)("div",{className:"pointer-events-none absolute bottom-6 -translate-x-1/2 rounded-md bg-black/80 px-2 py-1 text-xs tabular-nums",style:{left:p(c)},children:[null==(t=i.find(e=>c>=e.startMs&&c<e.endMs))?void 0:t.type," ",e3(c)]})]})}function nH(e){let{player:t}=e,{volume:s,muted:a}=t.state,l=a?0:s,r=0===l?s0.sRF:l<.5?s0.l$p:s0.exc;return(0,n.jsxs)("div",{className:"group/volume hidden items-center sm:flex",children:[(0,n.jsx)(nW,{label:a?"Unmute":"Mute",onClick:t.toggleMute,children:(0,n.jsx)(r,{})}),(0,n.jsx)("div",{className:"w-0 overflow-hidden transition-[width] duration-200 group-focus-within/volume:w-24 group-hover/volume:w-24",children:(0,n.jsx)("input",{type:"range",min:0,max:100,value:Math.round(100*l),onChange:e=>t.setVolume(Number(e.target.value)/100),"aria-label":"Volume",className:"mx-2 w-20 cursor-pointer accent-white"})})]})}function nG(e){let{label:t,icon:s,options:a,value:l,onSelect:r,onOpenChange:i}=e;return(0,n.jsxs)(ec.rI,{side:"top",align:"end",sideOffset:8,onOpenChange:i,className:"max-h-[60vh] min-w-[12rem] max-w-[min(22rem,90vw)] overflow-y-auto bg-gray-950/95",trigger:(0,n.jsx)(nW,{label:t,children:s}),children:[(0,n.jsx)(ec.lp,{children:t}),a.map(e=>(0,n.jsxs)(ec._2,{onClick:()=>r(""===e.id?null:e.id),children:[(0,n.jsx)(s0.sk9,{className:(0,eh.cn)("flex-none",(l??"")===e.id?"opacity-100":"opacity-0")}),(0,n.jsx)("span",{className:"[overflow-wrap:anywhere]",children:e.label})]},e.id))]})}function nJ(e){let{item:t,player:s,segments:l,onBack:r}=e,{state:o}=s,[d,c]=function(){let[e,t]=a.useState(!1),s=a.useRef(void 0),n=a.useCallback(()=>{t(!1),clearTimeout(s.current),s.current=setTimeout(()=>t(!0),2e3)},[2e3]);return a.useEffect(()=>(n(),()=>clearTimeout(s.current)),[n]),[e,n]}(),[u,x]=a.useState(0),h=a.useRef("mouse"),p=a.useMemo(()=>(l??[]).map(e=>({type:String(e.Type),startMs:e2(e.StartTicks),endMs:e2(e.EndTicks)})).filter(e=>e.endMs>e.startMs),[l]),g=!d||o.paused||u>0||!o.started,f=a.useRef(s);f.current=s;let[v,j]=function(){let[e,t]=a.useState(null),s=a.useRef(void 0);a.useEffect(()=>()=>clearTimeout(s.current),[]);let l=a.useCallback(e=>{clearTimeout(s.current),t({key:Date.now(),playing:e}),s.current=setTimeout(()=>t(null),200)},[]),r=(null==e?void 0:e.playing)?nK.IrE:nK.olp;return[e&&(0,n.jsx)(i.P.div,{initial:{opacity:.2,scale:1},animate:{opacity:.5,scale:1.6},transition:{duration:.06,ease:"easeOut"},className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:(0,n.jsx)(r,{className:"size-10 text-white lg:size-24"})},e.key),l]}(),y=()=>{j(f.current.state.paused),f.current.togglePlay()},b=e=>{let{positionMs:t,durationMs:s}=f.current.state,n=Math.max(0,t+e);f.current.seek(s?Math.min(s,n):n)};a.useEffect(()=>{let e=e=>{var t;if(e.defaultPrevented||e.ctrlKey||e.metaKey||e.altKey||(t=e.target)instanceof HTMLElement&&(t.isContentEditable||["INPUT","TEXTAREA","SELECT"].includes(t.tagName)))return;let s=f.current,n={" ":y,k:y,ArrowLeft:()=>b(-1e4),j:()=>b(-1e4),ArrowRight:()=>b(1e4),l:()=>b(1e4),ArrowUp:()=>s.setVolume(Math.min(1,s.state.volume+.05)),ArrowDown:()=>s.setVolume(Math.max(0,s.state.volume-.05)),m:s.toggleMute,f:s.toggleFullscreen}[e.key];n&&(e.preventDefault(),n(),c())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[c]);let w=p.find(e=>o.positionMs>=e.startMs&&o.positionMs<e.endMs-1e3),N=e=>x(t=>t+(e?1:-1)),I=[{id:"",label:"Off"},...s.subtitleTracks],k=g?"opacity-100":"pointer-events-none opacity-0";return(0,n.jsxs)("div",{className:(0,eh.cn)("fixed inset-0 z-10 select-none",!g&&"cursor-none"),onPointerMove:c,onPointerDown:e=>{h.current=e.pointerType,c()},children:[(0,n.jsx)("div",{className:"absolute inset-0",onClick:()=>{"touch"!==h.current&&y()},onDoubleClick:()=>{"touch"!==h.current&&s.toggleFullscreen()}}),(0,n.jsxs)("div",{className:(0,eh.cn)("absolute inset-x-0 top-0 flex items-center gap-3 bg-gradient-to-b from-black/80 to-transparent pb-12 pl-[max(0.75rem,env(safe-area-inset-left))] pr-[max(0.75rem,env(safe-area-inset-right))] pt-[calc(0.75rem+env(safe-area-inset-top))] transition-opacity duration-300 sm:pl-[max(1.25rem,env(safe-area-inset-left))] sm:pr-[max(1.25rem,env(safe-area-inset-right))] sm:pt-[calc(1.25rem+env(safe-area-inset-top))]",k),children:[(0,n.jsx)(nW,{label:"Back",onClick:r,children:(0,n.jsx)(s0.wwB,{})}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"truncate font-semibold",children:e9(t)}),"Episode"===t.Type&&(0,n.jsx)("p",{className:"truncate text-sm text-gray-300",children:e8(t)})]})]}),(0,n.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:o.waiting&&!o.error?(0,n.jsx)(m.kt,{}):"touch"===h.current&&(0,n.jsx)("button",{type:"button","aria-label":o.paused?"Play":"Pause",onClick:y,className:(0,eh.cn)("pointer-events-auto flex size-16 items-center justify-center rounded-full bg-black/50 text-3xl transition-opacity duration-300",k),children:o.paused?(0,n.jsx)(s0.AJ$,{}):(0,n.jsx)(s0.qwm,{})})}),v,w&&(0,n.jsx)("div",{className:(0,eh.cn)("absolute right-[max(1rem,env(safe-area-inset-right))] z-20 transition-[bottom] duration-300 sm:right-[max(2rem,env(safe-area-inset-right))]",g?"bottom-[calc(7rem+env(safe-area-inset-bottom))] sm:bottom-[calc(8rem+env(safe-area-inset-bottom))]":"bottom-[calc(2rem+env(safe-area-inset-bottom))]"),children:(0,n.jsx)(e1.$n,{intent:"white",className:"rounded-full shadow-lg",rightIcon:(0,n.jsx)(s0.W$T,{}),onClick:()=>s.seek(w.endMs),children:nV[w.type]??"Skip"})}),(0,n.jsxs)("div",{className:(0,eh.cn)("absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/85 via-black/40 to-transparent pb-[calc(0.5rem+env(safe-area-inset-bottom))] pl-[max(0.75rem,env(safe-area-inset-left))] pr-[max(0.75rem,env(safe-area-inset-right))] pt-16 transition-opacity duration-300 sm:pb-[calc(0.75rem+env(safe-area-inset-bottom))] sm:pl-[max(1.25rem,env(safe-area-inset-left))] sm:pr-[max(1.25rem,env(safe-area-inset-right))]",k),children:[(0,n.jsx)(nY,{positionMs:o.positionMs,durationMs:o.durationMs,bufferedMs:o.bufferedMs,segments:p,onSeek:s.seek}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)(nW,{label:o.paused?"Play":"Pause",onClick:y,children:o.paused?(0,n.jsx)(s0.AJ$,{}):(0,n.jsx)(s0.qwm,{})}),(0,n.jsx)(nW,{label:"Back 10 seconds",onClick:()=>b(-1e4),children:(0,n.jsx)(s0.qW5,{})}),(0,n.jsx)(nW,{label:"Forward 10 seconds",onClick:()=>b(1e4),children:(0,n.jsx)(s0.vAB,{})}),(0,n.jsx)(nH,{player:s}),(0,n.jsxs)("span",{className:"ml-2 whitespace-nowrap text-sm tabular-nums text-gray-200",children:[e3(o.positionMs),o.durationMs>0&&(0,n.jsxs)("span",{className:"text-gray-400",children:[" ","/ ",e3(o.durationMs)]})]}),(0,n.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[s.subtitleTracks.length>0&&(0,n.jsx)(nG,{label:"Subtitles",icon:o.subtitle?(0,n.jsx)(s0.Fqr,{}):(0,n.jsx)(s0.W1j,{}),options:I,value:o.subtitle,onSelect:s.setSubtitle,onOpenChange:N}),s.audioTracks.length>1&&(0,n.jsx)(nG,{label:"Audio",icon:(0,n.jsx)(s0.hjC,{}),options:s.audioTracks,value:o.audio,onSelect:e=>e&&s.setAudio(e),onOpenChange:N}),(0,n.jsx)(nG,{label:"Speed",icon:(0,n.jsx)(s0.FY8,{}),options:nB.map(e=>({id:String(e),label:1===e?"Normal":`${e}\xd7`})),value:String(o.rate),onSelect:e=>e&&s.setRate(Number(e)),onOpenChange:N}),(0,n.jsx)(nW,{label:o.fullscreen?"Exit full screen":"Full screen",onClick:s.toggleFullscreen,children:o.fullscreen?(0,n.jsx)(s0.WLc,{}):(0,n.jsx)(s0.Inx,{})})]})]})]})]})}function nX(e){let{itemId:t,sourceId:s,startMs:l}=e,r=eI(t),i=eT(t);a.useLayoutEffect(()=>{let{style:e}=document.documentElement,t=[e.overflowY,e.scrollbarGutter];return e.overflowY="hidden",e.scrollbarGutter="auto",()=>{[e.overflowY,e.scrollbarGutter]=t}},[]);
1let[o,d]=a.useState(null),c=tb(i.data),u=c.find(e=>e.Id===s)??c[0];if(!o&&r.data&&u){var x;d({item:r.data,source:u,playSessionId:(null==(x=i.data)?void 0:x.PlaySessionId)??null})}return o?"desktop"===ee()?(0,n.jsx)(n2,{...o,startMs:l}):(0,n.jsx)(n1,{...o,startMs:l}):r.isLoading||i.isLoading?(0,n.jsx)(nQ,{item:r.data,children:(0,n.jsx)(m.kt,{})}):(0,n.jsx)(n0,{itemId:t,message:"This version is no longer available."})}function nZ(e,t){let{item:s,source:n,playSessionId:l}=t,{client:r}=X(),i=a.useRef(e.state);i.current=e.state;let o=a.useRef(null),{started:d,paused:c}=e.state;a.useEffect(()=>{if(!d)return;let e=new tx(r,{itemId:s.Id,mediaSourceId:n.Id,playSessionId:l},()=>({ms:i.current.positionMs,paused:i.current.paused}));e.start(),o.current=e;let t=()=>e.stop();return window.addEventListener("pagehide",t),()=>{window.removeEventListener("pagehide",t),e.stop(),o.current=null}},[d,r,s.Id,n.Id,l]),a.useEffect(()=>{var e;null==(e=o.current)||e.progress(c?"Pause":"Unpause")},[c])}function nQ(e){let{item:t,hidden:s,children:a}=e,{client:l}=X(),r=t?tS(l,t,{maxWidth:1920}):null;return(0,n.jsxs)("div",{className:(0,eh.cn)("fixed inset-0 flex items-center justify-center bg-black transition-opacity duration-500",s&&"pointer-events-none opacity-0"),children:[r&&(0,n.jsx)("img",{src:r,alt:"",className:"absolute inset-0 h-full w-full object-cover opacity-25"}),(0,n.jsx)("div",{className:"relative",children:a})]})}function n0(e){let{itemId:t,message:s,item:a,source:l}=e,{client:r}=X(),i=tu(),o=a&&l?ti(r,a.Id,l):null;return(0,n.jsx)("div",{className:"fixed inset-0 z-20 flex items-center justify-center bg-black/90 p-6",children:(0,n.jsxs)("div",{className:"max-w-md space-y-4 text-center",children:[(0,n.jsx)("p",{className:"text-lg font-semibold [overflow-wrap:anywhere]",children:s}),(0,n.jsxs)("div",{className:"flex flex-col justify-center gap-2 sm:flex-row",children:[(0,n.jsx)(e1.$n,{intent:"gray-outline",className:"rounded-full",leftIcon:(0,n.jsx)(eo.OLK,{}),onClick:()=>eV(eA(t)),children:"Back"}),o&&i&&(0,n.jsx)(e1.$n,{intent:"white",className:"rounded-full",leftIcon:(0,n.jsx)(eo.zaF,{}),onClick:()=>{window.location.href=tm(i,o)},children:"Open in player"}),o&&(0,n.jsx)(e1.$n,{intent:"gray-outline",className:"rounded-full",leftIcon:(0,n.jsx)(eo.Xpf,{}),onClick:()=>(0,ty.l)(o,{onSuccess:()=>tf.oR.success("Stream link copied"),onError:()=>tf.oR.error("Could not copy the link")}),children:"Copy link"})]})]})})}function n1(e){var t;let{item:s,source:l,playSessionId:r,startMs:i}=e,{client:o}=X(),d=a.useRef(null),c=a.useCallback(()=>eV(eA(s.Id)),[s.Id]),u=function(e,t){let{source:s,startMs:n}=t,[l,r]=a.useState(()=>nF(s,n)),i=nA(t.onEnded),o=a.useMemo(()=>to(s),[s]),d=e=>r(t=>({...t,...e}));return a.useEffect(()=>{let t=e.current;if(!t)return;let{volume:s,muted:a}=nz();t.volume=s,t.muted=a;let l=()=>{for(let e=t.buffered.length-1;e>=0;e--)if(t.buffered.start(e)<=t.currentTime)return 1e3*t.buffered.end(e);return 0},r={loadedmetadata:()=>{n&&(t.currentTime=n/1e3),d({durationMs:1e3*t.duration||0})},durationchange:()=>d({durationMs:1e3*t.duration||0}),playing:()=>d({started:!0,paused:!1,waiting:!1}),pause:()=>d({paused:!0}),play:()=>d({paused:!1}),waiting:()=>d({waiting:!0}),canplay:()=>d({waiting:!1}),timeupdate:()=>d({positionMs:1e3*t.currentTime,bufferedMs:l()}),progress:()=>d({bufferedMs:l()}),volumechange:()=>{d({volume:t.volume,muted:t.muted}),g.set(nL,{volume:t.volume,muted:t.muted})},ratechange:()=>d({rate:t.playbackRate}),ended:()=>i.current(),error:()=>d({error:"This browser cannot play this version. Nothing is converted on the server, so try another version or a player app."})};for(let[e,s]of Object.entries(r))t.addEventListener(e,s);let o=()=>d({fullscreen:!!document.fullscreenElement});return document.addEventListener("fullscreenchange",o),()=>{for(let[e,s]of Object.entries(r))t.removeEventListener(e,s);document.removeEventListener("fullscreenchange",o)}},[e,n,i]),{state:l,audioTracks:[],subtitleTracks:o.map((e,t)=>({id:String(e.Index),label:nO(e,t+1)})),togglePlay:()=>{let t=e.current;t&&(t.paused?t.play().catch(()=>{}):t.pause())},seek:t=>{let s=e.current;s&&(s.currentTime=t/1e3,d({positionMs:t}))},setVolume:t=>{let s=e.current;s&&(s.volume=t,s.muted=0===t)},toggleMute:()=>{let t=e.current;t&&(t.muted&&0===t.volume&&(t.volume=.5),t.muted=!t.muted)},setRate:t=>{let s=e.current;s&&(s.playbackRate=t)},setAudio:()=>{},setSubtitle:t=>{var s;let n=null==(s=e.current)?void 0:s.textTracks;
1n&&(o.forEach((e,s)=>{let a=n[s];a&&(a.mode=String(e.Index)===t?"showing":"disabled")}),d({subtitle:t}))},toggleFullscreen:n_}}(d,{source:l,startMs:i,onEnded:c}),m=eM(s.Id);return nZ(u,{item:s,source:l,playSessionId:r}),(0,n.jsxs)("div",{className:"fixed inset-0 bg-black",children:[(0,n.jsx)("video",{ref:d,src:tr(o,s.Id,l,r),className:"h-full w-full",autoPlay:!0,playsInline:!0,children:to(l).map(e=>{let t=td(o,e);return t?(0,n.jsx)("track",{kind:"subtitles",src:t,srcLang:e.Language??void 0,label:e.DisplayTitle??e.Title??e.Language??"Subtitles"},e.Index):null})}),(0,n.jsx)(nJ,{item:s,player:u,segments:null==(t=m.data)?void 0:t.Items,onBack:c}),u.state.error&&(0,n.jsx)(n0,{itemId:s.Id,item:s,source:l,message:u.state.error})]})}function n2(e){var t;let{item:s,source:l,playSessionId:r,startMs:i}=e,{client:o}=X(),d=a.useCallback(()=>eV(eA(s.Id)),[s.Id]),c=a.useMemo(()=>({Name:s.Name,Type:s.Type,SeriesName:s.SeriesName,IndexNumber:s.IndexNumber,ParentIndexNumber:s.ParentIndexNumber,ProductionYear:s.ProductionYear,RunTimeTicks:s.RunTimeTicks}),[s]),u=function(e){let{source:t,startMs:s,url:n}=e,[l,r]=a.useState(()=>({...nF(t,s),fullscreen:es()})),[i,o]=a.useState(null),d=nA({...e,state:l}),c=e=>r(t=>({...t,...e})),u=nq(t,"Audio"),m=nq(t,"Subtitle"),x=m.filter(e=>"External"!==e.DeliveryMethod),h=m.filter(e=>"External"===e.DeliveryMethod),p=Math.max(1,u.findIndex(e=>e.Index===t.DefaultAudioStreamIndex)+1);a.useEffect(()=>{var e,t;let s;return e=()=>c({fullscreen:es()}),(s=null==(t=window.jmpInfo)?void 0:t.settingsUpdate)?(s.push(e),()=>{let t=s.indexOf(e);t>=0&&s.splice(t,1)}):()=>{}},[]),a.useEffect(()=>{let e=!1,t=()=>{};return et().then(a=>{var l;if(!a||e)return;let r=a.player;o(r);let i=!1,{volume:m,muted:x}=nz(),h=()=>{i||(i=!0,r.setVolume(Math.round(100*m)),r.setMuted(x),r.setVideoRectangle(0,0,0,0)),c({started:!0,paused:!1,waiting:!1})},g=()=>c({paused:!0,waiting:!1}),f=()=>c({waiting:!0}),v=e=>c({positionMs:e}),j=e=>c({durationMs:e}),y=()=>d.current.onEnded(),b=e=>c({error:e});r.playing.connect(h),r.paused.connect(g),r.buffering.connect(f),r.positionUpdate.connect(v),r.updateDuration.connect(j),r.finished.connect(y),r.error.connect(b),r.load(n,{startMilliseconds:s,autoplay:!0},{type:"video",headers:{"User-Agent":(null==(l=window.jmpInfo)?void 0:l.userAgent)??""},metadata:d.current.metadata,media:{}},p,-1,()=>{}),c({audio:u.length?String(p):null}),t=()=>{r.playing.disconnect(h),r.paused.disconnect(g),r.buffering.disconnect(f),r.positionUpdate.disconnect(v),r.updateDuration.disconnect(j),r.finished.disconnect(y),r.error.disconnect(b),r.stop(),r.setVideoRectangle(-1,0,0,0)}}),()=>{e=!0,t()}},[n,s]);let f=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0===e;null==i||i.setVolume(Math.round(100*e)),null==i||i.setMuted(t),g.set(nL,{volume:e,muted:t}),c({volume:e,muted:t})};return{state:l,audioTracks:u.map((e,t)=>({id:String(t+1),label:nO(e,t+1)})),subtitleTracks:[...x.map((e,t)=>({id:`embedded:${t+1}`,label:nO(e,t+1)})),...h.map((e,t)=>({id:`external:${e.Index}`,label:nO(e,x.length+t+1)}))],togglePlay:()=>d.current.state.paused?null==i?void 0:i.play():null==i?void 0:i.pause(),seek:e=>{null==i||i.seekTo(e),c({positionMs:e})},setVolume:e=>f(e),toggleMute:()=>{let{volume:e,muted:t}=d.current.state;f(t&&0===e?.5:e,!t)},setRate:e=>{null==i||i.setPlaybackRate(1e3*e),c({rate:e})},setAudio:e=>{null==i||i.setAudioStream(Number(e)),c({audio:e})},setSubtitle:t=>{if(t)if(t.startsWith("embedded:"))null==i||i.setSubtitleStream(Number(t.slice(9)));else{let s=h.find(e=>`external:${e.Index}`===t),n=s&&td(e.client,s);n&&(null==i||i.setSubtitleStream(`#,${n}`))}else null==i||i.setSubtitleStream(0);c({subtitle:t})},toggleFullscreen:()=>void et().then(e=>null==e?void 0:e.input.executeActions(["host:fullscreen"]))}}({client:o,url:tr(o,s.Id,l,r),source:l,startMs:i,metadata:c,onEnded:d}),m=eM(s.Id);return nZ(u,{item:s,source:l,playSessionId:r}),(0,n.jsxs)("div",{className:"fixed inset-0",children:[(0,n.jsx)(nQ,{item:s,hidden:u.state.started}),(0,n.jsx)(nJ,{item:s,player:u,segments:null==(t=m.data)?void 0:t.Items,onBack:d}),u.state.error&&(0,n.jsx)(n0,{itemId:s.Id,item:s,source:l,message:`Playback failed: ${u.state.error}`})]})}let n3=(0,en.gI)({component:ea.s}),n5=(0,en.un)({getParentRoute:()=>n3,id:"shell",component:function(){var e;let{signOut:t,switchUser:s,user:a}=X(),l=((null==(e=eE().data)?void 0:e.length)??0)>1,r=(0,ei.k)({select:e=>e.location.pathname}),o=(0,ex.j)(!1),d=(0,em.J)({title:"Sign out",description:"Sign out of this browser?",actionText:"Sign out",onConfirm:t}),c=[{name:"Home",iconType:eo.y2w,isCurrent:"/"===r,onClick:()=>eB("/")},{name:"Discover",iconType:eo.cJR,isCurrent:r.startsWith("/discover")||r.startsWith("/library"),onClick:()=>eB(eF())},{name:"Search",iconType:eo.iyI,isCurrent:r.startsWith("/search"),onClick:()=>eB(ez())},{name:"Activity",iconType:eo.grf,isCurrent:r.startsWith("/history"),onClick:()=>eB("/history")}],u=[{name:"Settings",iconType:eo.nMM,onClick:o.open},{name:"Configure",iconType:eo.Wyp,onClick:()=>window.open("/stremio/configure","_blank")},{name:"Sign out",iconType:eo.eZR,onClick:()=>d.open()}],m=[...u,{name:l?`${a.Name??"You"}: switch user`:a.Name??"You",iconType:tF,onClick:l?s:void 0}],x=[...l?[{name:"Switch user",iconType:eo.koG,onClick:s}]:[],...u];return(0,n.jsxs)(ed.Xv,{children:[(0,n.jsx)(tA,{}),(0,n.jsxs)(ed.e7,{withSidebar:!0,sidebarSize:"slim",children:[(0,n.jsx)(ed.yR,{children:(0,n.jsx)(eu.B,{header:(0,n.jsx)(tz,{}),items:c,footerItems:m})}),(0,n.jsx)(ed.e7,{children:(0,n.jsx)(ed.VZ,{children:(0,n.jsx)(tE,{children:(0,n.jsx)(i.P.div,{...tL,className:"pl-[env(safe-area-inset-left)] pr-[env(safe-area-inset-right)] max-lg:pb-[calc(5rem+env(safe-area-inset-bottom))]",children:(0,n.jsx)(ea.s,{})},r)})})})]}),(0,n.jsx)(tO,{items:c,menuItems:x}),(0,n.jsx)(tg,{open:o.isOpen,onOpenChange:o.toggle}),(0,n.jsx)(em.K,{...d})]})}}),n4=(0,en.un)({getParentRoute:()=>n5,path:"/",component:function(){var e,t,s,a,l,r;let i,o,c=function(){let{client:e,user:t}=X();return(0,d.I)({queryKey:[...ey(),"resume"],queryFn:()=>e.get("/UserItems/Resume",{userId:t.Id,Limit:24,MediaTypes:"Video"})})}(),u=function(){let{client:e,user:t}=X();return(0,d.I)({queryKey:[...ey(),"next-up"],queryFn:()=>e.get("/Shows/NextUp",{userId:t.Id,Limit:24,EnableResumable:!1})})}(),m=eb(),[x]=_(),h=(null==(e=m.data)?void 0:e.Items)??[],p="auto"!==x&&m.data?x.filter(e=>!e.startsWith("view:")||h.some(t=>`view:${t.Id}`===e)):x,g="auto"===p||!p.length&&x.length?(i=["movies","tvshows"].map(e=>{var t;return null==(t=h.find(t=>t.CollectionType===e))?void 0:t.Id}).filter(e=>!!e),o=null==(r=h[0])?void 0:r.Id,(i.length?i:o?[o]:[]).map(e=>`view:${e}`)):p,f=g.filter(e=>e.startsWith("view:")).map(e=>e.slice(5)),v=function(e){let{client:t,user:s}=X(),n=ey();return(0,eg.E)({queries:e.map(e=>({queryKey:[...n,"head",e,8],queryFn:()=>t.get("/Items",{userId:s.Id,ParentId:e,Limit:8}),staleTime:3e5}))})}(f),j=new Map(f.map((e,t)=>[e,v[t]])),y=function(e){let t=new Set,s=[],n=Math.max(0,...e.map(e=>e.length));for(let a=0;a<n&&s.length<10;a++)for(let n of e){let e=n[a];!(null==e?void 0:e.Id)||t.has(e.Id)||s.length>=10||(t.add(e.Id),s.push(e))}return s}(g.map(e=>{var t,s,n;return"resume"===e?((null==(t=c.data)?void 0:t.Items)??[]).slice(0,8):(null==(n=j.get(e.slice(5)))||null==(s=n.data)?void 0:s.Items)??[]})),b=m.isLoading||g.includes("resume")&&c.isLoading||v.some(e=>e.isLoading);return(0,n.jsxs)("div",{className:"pb-16",children:[(0,n.jsx)(tH,{items:y,loading:b}),(0,n.jsxs)("div",{className:y.length||b?"relative z-[1] space-y-10 px-4 pt-2 lg:px-10":"relative z-[1] space-y-10 px-4 pt-[calc(1.5rem+env(safe-area-inset-top))] lg:px-10 lg:pt-[calc(2.5rem+env(safe-area-inset-top))]",children:[(0,n.jsx)(sb,{id:"resume",title:"Continue watching",items:null==(t=c.data)?void 0:t.Items,loading:c.isLoading}),(0,n.jsx)(sb,{id:"next-up",title:"Next up",items:null==(s=u.data)?void 0:s.Items,loading:u.isLoading}),(0,n.jsx)(sw,{}),null==(l=m.data)||null==(a=l.Items)?void 0:a.map(e=>(0,n.jsx)(sN,{view:e},e.Id))]})]})}}),n6=(0,en.un)({getParentRoute:()=>n5,path:"/history",component:function(){var e,t;let s=e$(),l=(null==(e=s.data)?void 0:e.users)??[],r=(null==(t=s.data)?void 0:t.sessions)??[],i=l.filter(e=>
1e.counts),[o,d]=a.useState(null),[c,u]=a.useState(!1),[m,x]=a.useState("days"),h=function(e,t){let{client:s}=X();return(0,ep.q)({queryKey:[...ey(),"history",e,t],initialPageParam:null,queryFn:n=>{let{pageParam:a}=n;return s.get("/AIOStreams/History",{userId:e,source:t?"local":void 0,cursor:a})},getNextPageParam:e=>e.cursor??void 0})}(o,c),p=a.useMemo(()=>{var e;return(null==(e=h.data)?void 0:e.pages.flatMap(e=>e.items))??[]},[h.data]),g=a.useMemo(()=>new Map(l.map(e=>[e.user.Id,e.user.Name??""])),[l]),f=a.useRef(null),{hasNextPage:v,isFetchingNextPage:j,fetchNextPage:y}=h;a.useEffect(()=>{let e=f.current;if(!e||!v)return;let t=new IntersectionObserver(e=>{let[t]=e;t.isIntersecting&&!j&&y()},{rootMargin:"600px"});return t.observe(e),()=>t.disconnect()},[v,j,y]);let b=i.find(e=>e.user.Id===o);return(0,n.jsxs)(tq,{children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,n.jsx)("h1",{className:"text-3xl font-bold",children:"Activity"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(nU,{}),b&&(0,n.jsx)(nR,{owner:b})]})]}),(0,n.jsx)(nN,{sessions:r}),i.length>1&&(0,n.jsx)(nS,{owners:i,users:l,selected:o,onSelect:d}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,n.jsx)("div",{className:"flex gap-1 rounded-full bg-gray-900 p-1",children:[{value:!1,label:"Everything"},{value:!0,label:"Played here"}].map(e=>(0,n.jsx)(e1.$n,{size:"xs",intent:c===e.value?"white":"gray-basic",className:"rounded-full",onClick:()=>u(e.value),children:e.label},e.label))}),(0,n.jsxs)("div",{className:"flex gap-1 rounded-full bg-gray-900 p-1",children:[(0,n.jsx)(e1.K0,{size:"xs",intent:"days"===m?"white":"gray-basic",className:"rounded-full",icon:(0,n.jsx)(eo.fiy,{}),"aria-label":"Group by day",onClick:()=>x("days")}),(0,n.jsx)(e1.K0,{size:"xs",intent:"table"===m?"white":"gray-basic",className:"rounded-full",icon:(0,n.jsx)(eo.XfR,{}),"aria-label":"Table",onClick:()=>x("table")})]})]}),h.isError?(0,n.jsx)(sI.D,{title:"Could not load the history"}):h.isLoading?(0,n.jsx)("div",{className:"space-y-3",children:Array.from({length:4},(e,t)=>(0,n.jsx)(tv.E,{className:"h-24 w-full rounded-xl"},t))}):p.length?"days"===m?(0,n.jsx)(nP,{entries:p,names:o?null:g}):(0,n.jsx)(nD,{entries:p,names:o?null:g}):(0,n.jsx)("p",{className:"text-[--muted]",children:"Nothing watched yet."}),j&&(0,n.jsx)(tv.E,{className:"h-24 w-full rounded-xl"}),(0,n.jsx)("div",{ref:f})]})}}),n8=(0,en.un)({getParentRoute:()=>n5,path:"/search",validateSearch:e=>({q:null==e.q?"":String(e.q)}),component:function(){let{q:e}=n8.useSearch();return(0,n.jsx)(sD,{initialTerm:e})}}),n9=(0,en.un)({getParentRoute:()=>n5,path:"/discover",component:()=>(0,n.jsx)(sR,{lastViewId:G()})}),n7=(0,en.un)({getParentRoute:()=>n5,path:"/discover/$viewId",validateSearch:e=>({genre:null==e.genre?void 0:String(e.genre),kind:null==e.kind?void 0:String(e.kind)}),component:function(){let{viewId:e}=n7.useParams(),{genre:t,kind:s}=n7.useSearch();return(0,n.jsx)(s$,{viewId:e,genre:t,kind:s})}}),ae=(0,en.un)({getParentRoute:()=>n5,path:"/library/$viewId",component:function(){let{viewId:e}=ae.useParams();return a.useEffect(()=>{eB(eF(e),{replace:!0})},[e]),(0,n.jsx)(n.Fragment,{})}}),at=(0,en.un)({getParentRoute:()=>n5,path:"/item/$itemId",validateSearch:e=>({season:null==e.season?void 0:String(e.season),episode:null==e.episode?void 0:String(e.episode)}),component:function(){let{itemId:e}=at.useParams(),{season:t,episode:s}=at.useSearch();return(0,n.jsx)(ne,{itemId:e,seasonId:t,episodeId:s},e)}}),as=(0,en.un)({getParentRoute:()=>n5,path:"/person/$personId",component:function(){let{personId:e}=as.useParams();return(0,n.jsx)(nb,{personId:e},e)}}),an=(0,en.un)({getParentRoute:()=>n3,path:"/play/$itemId",validateSearch:e=>({source:null==e.source?"":String(e.source),start:Number(e.start)||0}),component:function(){let{itemId:e}=an.useParams(),{source:t,start:s}=an.useSearch();return(0,n.jsx)(nX,{itemId:e,sourceId:t,startMs:s},`${e}|${t}`)}}),aa=n3.addChildren([n5.addChildren([n4,n6,n8,n9,n7,ae,at,as]),an]),al=(0,el.a)({routeTree:aa,history:(0,er.TM)(),scrollRestoration:!0});eK=(e,t)=>t?al.history.replace(e):al.history.push(e),document.addEventListener("click",e=>{var t,s;if(e.defaultPrevented||0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let n=null==(s=e.target)||null==(t=s.closest)?void 0:t.call(s,'a[href^="#/"]');!n||n.getAttribute("target")||(e.preventDefault(),eB(n.getAttribute("href").slice(1)))}),window.NativeInterface&&(window.NavigationHelper={goBack(){if(document.querySelector('[role="dialog"], [role="menu"]'))document.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape",bubbles:!0}));else if(al.history.canGoBack())al.history.back();else{var e,t;null==(t=window.NativeInterface)||null==(e=t.exitApp)||e.call(t)}}});var ar=s(72780),ai=s(84416),ao=s(18105);let ad={type:"spring",damping:26,stiffness:300,mass:.7},ac={initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.15}},au={initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:ad};function am(){let[e,t]=(0,ar.l)(),s=a.useCallback(()=>{e.current&&t(e.current,{x:[0,-10,10,-6,6,-2,0]},{duration:.42})},[t,e]);return[e,s]}function ax(e){let{error:t}=e;return(0,n.jsx)(r.N,{initial:!1,children:t&&(0,n.jsx)(i.P.p,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0},transition:ad,className:"text-center text-sm text-red-300",children:t},t)})}function ah(e){let{children:t}=e;return(0,n.jsx)("div",{className:"relative flex min-h-screen items-center justify-center bg-[radial-gradient(ellipse_at_top,rgba(99,102,241,0.18),transparent_60%)] px-4 pb-[max(3rem,env(safe-area-inset-bottom))] pt-[max(3rem,env(safe-area-inset-top))]",children:(0,n.jsxs)("div",{className:"w-full max-w-3xl space-y-8",children:[(0,n.jsx)(i.P.div,{initial:{opacity:0,scale:.92},animate:{opacity:1,scale:1},transition:ad,children:(0,n.jsx)(eJ,{className:"mx-auto max-h-16 max-w-[16rem] object-contain"})}),t]})})}function ap(e){let{onSignIn:t,defaultUsername:s="",pinSignIn:l=!1}=e,[o,d]=a.useState(s),[c,u]=a.useState(""),[m,x]=a.useState(null),[h,p]=a.useState(!1),[g,f]=a.useState(null),[v,j]=am(),y=async e=>{e.preventDefault(),p(!0),x(null);try{await t(o.trim(),null===g?c:`${c}/${g}`)}catch(t){let e=t.message;"PIN required"===e?(x(g?"That did not match. Try again.":null),f("")):x(e||"Sign in failed"),j()}finally{p(!1)}};return(0,n.jsx)(ah,{children:(0,n.jsx)(i.P.div,{...au,children:(0,n.jsxs)("form",{ref:v,onSubmit:y,className:"mx-auto w-full max-w-sm space-y-4 rounded-2xl border border-white/10 bg-gray-950/80 p-6 shadow-xl",children:[(0,n.jsxs)("div",{className:"space-y-1 text-center",children:[(0,n.jsx)("h1",{className:"text-xl font-semibold",children:"Sign in"}),(0,n.jsx)("p",{className:"text-sm text-[--muted]",children:l?"Use your user name and PIN, or the configurationâs UUID and its password.":"Use your configurationâs UUID or alias and its password."})]}),(0,n.jsx)(e0.k,{label:l?"User or UUID":"UUID or alias",value:o,onValueChange:d,autoComplete:"username",autoFocus:!s,required:!0}),(0,n.jsx)(ao.y,{label:l?"PIN or password":"Password",autoFocus:!!s,value:c,onValueChange:e=>{u(e),f(null)},required:!0}),(0,n.jsx)(r.N,{initial:!1,children:null!==g&&(0,n.jsx)(i.P.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:ad,className:"overflow-hidden",children:(0,n.jsx)(e0.k,{label:"PIN",help:"This user has a PIN.",type:"password",inputMode:"numeric",autoComplete:"off",autoFocus:!0,value:g,onValueChange:e=>f(e.replace(/\D/g,"").slice(0,12))})})}),(0,n.jsx)(ax,{error:m}),(0,n.jsx)(e1.$n,{type:"submit",intent:"white",className:"w-full rounded-full",loading:h,children:"Sign in"}),(0,n.jsx)("a",{href:"/stremio/configure",className:"block text-center text-sm text-[--muted] hover:text-white",children:"Open the configuration page"})]})})})}function ag(e){let{user:t,className:s}=e;return(0,n.jsx)(i.P.span,{layoutId:`avatar-${t.user.Id}`,transition:ad,className:"block rounded-full",children:(0,n.jsx)(eW,{name:t.user.Name,src:t.avatar,className:s})})}function af(e){let{user:t,busy:s,error:l,onSubmit:r,onBack:o}=e,d="pin"!==t.needs,c="pin"===t.needs||"password-pin"===t.needs,[u,m]=a.useState(""),[x,h]=a.useState(""),[p,g]=am(),f=async e=>{e.preventDefault();let t=d&&c?`${u}/${x}`:c?x:u;await r(t)||(m(""),h(""),g())};return(0,n.jsxs)("form",{onSubmit:f,className:"mx-auto flex w-full max-w-xs flex-col items-center gap-4",children:[(0,n.jsx)(ag,{user:t,className:"size-28 text-4xl sm:size-32"}),(0,n.jsxs)(i.P.div,{className:"flex w-full flex-col items-center gap-4",initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0},transition:{...ad,delay:.05},children:[(0,n.jsx)("h1",{className:"text-xl font-semibold",children:t.user.Name}),(0,n.jsxs)("div",{ref:p,className:"w-full space-y-3",children:[d&&(0,n.jsx)(ao.y,{label:"Configuration password",help:"Needed to switch to this user.",autoFocus:!0,value:u,onValueChange:m}),c&&(0,n.jsx)(e0.k,{label:"PIN",type:"password",inputMode:"numeric",autoComplete:"off",autoFocus:!d,value:x,onValueChange:e=>h(e.replace(/\D/g,"").slice(0,12))})]}),(0,n.jsx)(ax,{error:l}),(0,n.jsx)(e1.$n,{type:"submit",intent:"white",className:"w-full rounded-full",loading:s,disabled:d&&!u||c&&x.length<4,children:"Continue"}),(0,n.jsx)("button",{type:"button",className:"text-sm text-[--muted] hover:text-white",onClick:o,children:"Back"})]})]})}function av(e){let{users:t,onPick:s}
1=e,[l,o]=a.useState(null),[d,c]=a.useState(null),[u,m]=a.useState(1===t.length&&t[0].needs?t[0]:null),x=async(e,t)=>{o(e),c(null);try{return await s(e,t),!0}catch(e){return c(t?"That did not match. Try again.":e.message),o(null),!1}};return(0,n.jsx)(ah,{children:(0,n.jsx)("div",{children:(0,n.jsx)(ai.o,{children:(0,n.jsx)(r.N,{mode:"popLayout",initial:!1,children:u?(0,n.jsx)(i.P.div,{...ac,children:(0,n.jsx)(af,{user:u,busy:!!l,error:d,onSubmit:e=>x(u.user.Id,e),onBack:()=>{m(null),c(null)}})},`prompt-${u.user.Id}`):(0,n.jsxs)(i.P.div,{className:"space-y-8",...ac,children:[(0,n.jsx)(i.P.h1,{className:"text-center text-2xl font-semibold",...au,children:"Who's watching?"}),(0,n.jsx)(i.P.div,{className:"flex flex-wrap justify-center gap-6",initial:"hidden",animate:"shown",variants:{shown:{transition:{staggerChildren:.05}}},children:t.map(e=>(0,n.jsx)(i.P.button,{type:"button",disabled:!!l,onClick:()=>{c(null),e.needs?m(e):x(e.user.Id)},variants:{hidden:{opacity:0,y:14,scale:.96},shown:{opacity:1,y:0,scale:1}},transition:ad,whileTap:l?void 0:{scale:.96},className:"group/user flex w-28 flex-col items-center sm:w-32",children:(0,n.jsxs)("span",{className:(0,eh.cn)("flex w-full flex-col items-center gap-3 transition-opacity",e.hidden&&"opacity-60",l&&l!==e.user.Id&&"opacity-40"),children:[(0,n.jsxs)("span",{className:"relative",children:[(0,n.jsx)(ag,{user:e,className:(0,eh.cn)("size-24 text-3xl ring-2 ring-transparent transition group-hover/user:ring-white sm:size-28",l===e.user.Id&&"animate-pulse ring-brand-400")}),("pin"===e.needs||"password-pin"===e.needs)&&(0,n.jsx)("span",{className:"absolute bottom-0 right-0 flex size-7 items-center justify-center rounded-full bg-gray-900 text-sm ring-2 ring-[--background]",children:(0,n.jsx)(eo.E2M,{"aria-label":"Has a PIN"})})]}),(0,n.jsx)("span",{className:"w-full truncate text-center text-sm font-medium",children:e.user.Name})]})},e.user.Id))}),(0,n.jsx)(ax,{error:d})]},"grid")})})})})}function aj(){return a.useEffect(()=>(document.body.classList.add("jellyfin-web"),()=>document.body.classList.remove("jellyfin-web")),[]),(0,n.jsx)(c.N,{attribute:"class",defaultTheme:"dark",forcedTheme:"dark",children:(0,n.jsxs)(l.x,{reducedMotion:"user",children:[(0,n.jsx)(u.l,{swipeDirections:["top","right"],offset:{top:"calc(24px + env(safe-area-inset-top))"},mobileOffset:{top:"calc(16px + env(safe-area-inset-top))"}}),(0,n.jsx)(ay,{})]})})}function ay(){var e,t;let s,l,c,{base:u,phase:p,signIn:f,switchUser:j,signOut:I}=function(){let e=a.useMemo(v,[]),t=(0,x.jE)(),[s,n]=a.useState({kind:"loading"}),l=a.useCallback((t,s)=>{var a;let l,r=s.User;a={serverId:s.ServerId??"",token:s.AccessToken,userId:r.Id},l=N().filter(t=>t.ManualAddress!==e),g.set(b,{Servers:[{Id:a.serverId,ManualAddress:e,AccessToken:a.token,UserId:a.userId,DateLastAccessed:Date.now(),LastConnectionMode:2},...l]}),g.remove(`${w}:${e}`),g.set(Z(e),r.Id),n({kind:"ready",client:t.withToken(s.AccessToken),user:r})},[e]),r=a.useCallback(async(e,s,n)=>{let a=await e.post("/AIOStreams/Token",{UserId:s,...n?{Pw:n}:{}});t.removeQueries({queryKey:["jf"]}),l(e,a)},[l,t]),i=a.useCallback(async(t,s)=>{var a;let i=await t.get("/AIOStreams/Users"),o=g.get(Z(e)),d=1===i.length?i[0]:i.find(e=>e.user.Id===o);!d||d.needs?n({kind:"picking",client:t,users:i,choose:(e,s)=>r(t,e,s)}):s&&(null==(a=s.User)?void 0:a.Id)===d.user.Id?l(t,s):await r(t,d.user.Id)},[l,e,r]);a.useEffect(()=>{let t=!1,s=new y(e);return(async()=>{let a,l=(null==(a=N().find(t=>t.ManualAddress===e))?void 0:a.AccessToken)&&a.UserId?{token:a.AccessToken,userId:a.UserId}:null;if(l){let e=s.withToken(l.token),a=await e.get("/Users/Me").catch(()=>null);if(a){t||n({kind:"ready",client:e,user:a});return}}if((0,h.LR)()&&!0!==g.get(`${w}:${e}`)){let e=await (0,h.FH)("POST /jellyfin/web/token").catch(()=>null);if(e&&"needsPin"in e){t||n({kind:"picking",client:s,branding:e.branding,users:[{user:e.User,avatar:e.avatar,hidden:!1,needs:"pin"}],choose:async(e,t)=>{let n=await (0,h.FH)("POST /jellyfin/web/token",{body:{pin:t}});await i(s.withToken(n.AccessToken),n)}});return}if(null==e?void 0:e.AccessToken){t||await i(s.withToken(e.AccessToken),e);return}}t||n({kind:"signed-out"})})().catch(()=>{t||n({kind:"signed-out"})}),()=>{t=!0}},[e,i]);let o=a.useCallback(async(t,s)=>{var n;let a=await new y(e).post("/Users/AuthenticateByName",{Username:t,Pw:s}
1),r=new y(e,a.AccessToken??null),o=t.toLowerCase()===((null==(n=a.User)?void 0:n.Name)??"").toLowerCase();t.includes("/")||o?l(r,a):await i(r,a)},[l,e,i]),d=a.useCallback(async()=>{if("ready"!==s.kind)return;let e=s.client,t=await e.get("/AIOStreams/Users");n({kind:"picking",client:e,users:t,choose:(t,s)=>r(e,t,s)})},[s,r]),c=a.useCallback(()=>{"ready"===s.kind&&s.client.post("/Sessions/Logout").catch(()=>void 0),g.set(b,{Servers:N().filter(t=>t.ManualAddress!==e)}),g.set(`${w}:${e}`,!0),g.remove(Z(e)),t.removeQueries({queryKey:["jf"]}),n({kind:"signed-out"})},[e,s,t]);return{base:e,phase:s,signIn:o,switchUser:d,signOut:c}}();a.useEffect(()=>{let e=document.documentElement;return e.style.overflowY="scroll",()=>{e.style.overflowY=""}},[]),a.useEffect(()=>(function(e){if(!window.NativeInterface)return;let t=document.createElement("script");t.src=`${new URL(e).pathname}/web/main.aiostreams.bundle.js`,document.body.appendChild(t)})(u),[u]);let k="ready"===p.kind?p:null,S=a.useMemo(()=>new y(u),[u]),P=(e="ready"===p.kind||"picking"===p.kind?p.client:S,t="picking"===p.kind?p.branding:void 0,l=(0,d.I)({queryKey:["jf-branding",e.base,e.token],queryFn:async()=>{var t;let s=await e.get("/System/Info/Public");return{name:s.ServerName??null,logo:(null==(t=s.aiostreams)?void 0:t.logo)??null}},enabled:!t,staleTime:3e5}),t??l.data??eY);a.useEffect(()=>{document.title=P.name||"AIOStreams"},[P.name]);let C=(c=new URL(u).pathname.split("/").filter(Boolean)).length>=3?c[1]:"",T=(0,d.I)({queryKey:["jf-pin-sign-in",u],queryFn:async()=>{var e;return(null==(e=(await S.get("/System/Info/Public")).aiostreams)?void 0:e.pinSignIn)??!1},enabled:"signed-out"===p.kind&&!!C,staleTime:3e5}),M=T.data??!1;switch(a.useEffect(()=>{k&&window.NativeInterface&&k.client.post("/Sessions/Capabilities/Full",{}).catch(()=>{})},[k]),p.kind){case"loading":s=(0,n.jsx)(m.p8,{});break;case"signed-out":s=T.isLoading?(0,n.jsx)(m.p8,{}):(0,n.jsx)(ap,{onSignIn:f,defaultUsername:M?"":C,pinSignIn:M});break;case"picking":s=(0,n.jsx)(av,{users:p.users,onPick:p.choose});break;case"ready":s=(0,n.jsx)(Q,{client:p.client,user:p.user,switchUser:j,signOut:I,children:(0,n.jsx)(o.p,{router:al})})}return(0,n.jsxs)(eG,{value:P,children:[!k&&(0,n.jsx)(tA,{}),(0,n.jsx)(r.N,{mode:"wait",children:(0,n.jsx)(i.P.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.18},children:s},k?`ready-${k.user.Id}`:p.kind)})]})}}}]);
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.