@serifpersia/dango 3.8.2 → 3.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +1 -1
  2. package/client/dist/assets/{AnimeCard-Dl21Mnwa.js → AnimeCard-Dc6uPr1B.js} +1 -1
  3. package/client/dist/assets/{AnimeInfo-BZnCkkHq.js → AnimeInfo-BkT4v_EB.js} +1 -1
  4. package/client/dist/assets/{AnimeInfoPage-CPFvFKt0.js → AnimeInfoPage-CvGOUt7G.js} +2 -2
  5. package/client/dist/assets/{Asmr--BgcQsb9.js → Asmr-CaO_2wxo.js} +1 -1
  6. package/client/dist/assets/{AsmrResetProgressModal-VXhNSZib.js → AsmrResetProgressModal-h35ZX9OW.js} +1 -1
  7. package/client/dist/assets/{Home-CXsFL5QN.js → Home-CHKpLQLZ.js} +1 -1
  8. package/client/dist/assets/{Insights-4HjAFOov.js → Insights-CA_1302g.js} +1 -1
  9. package/client/dist/assets/{LibraryListPage-BnJw-xnm.js → LibraryListPage-0IybQgPU.js} +1 -1
  10. package/client/dist/assets/{ListeningList-DSc_Aqz9.js → ListeningList-Cn1z8o3k.js} +1 -1
  11. package/client/dist/assets/{Manga-mB3KYDUt.js → Manga-B4p5dXe8.js} +1 -1
  12. package/client/dist/assets/{MangaInfoPage-C2sxlrwM.js → MangaInfoPage-DR2_2eve.js} +1 -1
  13. package/client/dist/assets/{MangaReadPage-pDNIP1mf.js → MangaReadPage-CC72GY9L.js} +1 -1
  14. package/client/dist/assets/{MangaResetProgressModal-C_QbfWkA.js → MangaResetProgressModal-ojbIsaI7.js} +1 -1
  15. package/client/dist/assets/{Mature-CWEA-qdC.js → Mature-C1PCMe3g.js} +1 -1
  16. package/client/dist/assets/{MatureConsentModal-Ixo33c5M.js → MatureConsentModal-BTJloHUV.js} +1 -1
  17. package/client/dist/assets/{MediaCard-BhYZUPLl.js → MediaCard-wcV5T3yJ.js} +1 -1
  18. package/client/dist/assets/{OptionListMenu-D-g4a-VC.js → OptionListMenu-CFBJv5e-.js} +1 -1
  19. package/client/dist/assets/{Player-B2CmI6hn.js → Player-MJJ6fHc4.js} +2 -2
  20. package/client/dist/assets/{PlayerProvider-Q25sRaQm.js → PlayerProvider-DjIXyFBk.js} +1 -1
  21. package/client/dist/assets/{PlayerSettings-puzcbL0V.js → PlayerSettings-B37kxh6A.js} +1 -1
  22. package/client/dist/assets/{QueueOptionsButton-C0U85ua3.js → QueueOptionsButton-D0LpFAJe.js} +1 -1
  23. package/client/dist/assets/{QueueRail-D2SeBzV5.js → QueueRail-D4qxAKBU.js} +1 -1
  24. package/client/dist/assets/{ReadingList-Bp_5vTLj.js → ReadingList-B6pULeSS.js} +1 -1
  25. package/client/dist/assets/{ResetProgressModal-By_82RcA.js → ResetProgressModal-Dq6yudb6.js} +1 -1
  26. package/client/dist/assets/{Search-BpG4bAm2.js → Search-B2C2_KM4.js} +1 -1
  27. package/client/dist/assets/{Settings-C72mbc_2.js → Settings-DQHfH5Ba.js} +1 -1
  28. package/client/dist/assets/{SkeletonGrid-CPc8hqla.js → SkeletonGrid-TIfa7-R8.js} +1 -1
  29. package/client/dist/assets/{Trackers-CYbGDEf-.js → Trackers-ChrW-D2i.js} +1 -1
  30. package/client/dist/assets/{Tv-FXbgyY_h.js → Tv-BNc7ujCX.js} +1 -1
  31. package/client/dist/assets/{TvInfo-Cu6BPMzl.js → TvInfo-k9u9Pxa3.js} +1 -1
  32. package/client/dist/assets/{TvPopup-BnPKXA6c.js → TvPopup-e7OkKs6q.js} +1 -1
  33. package/client/dist/assets/{TvSearch-BQNApkYS.js → TvSearch-BP-0VIrE.js} +1 -1
  34. package/client/dist/assets/{TvWatchlist-DKbRFInR.js → TvWatchlist-Yv8Qc4lj.js} +1 -1
  35. package/client/dist/assets/{VirtualKeyboard-B0KbwdUi.js → VirtualKeyboard-Cqj3Id2l.js} +1 -1
  36. package/client/dist/assets/{WatchAlong-CoZ0_fXQ.js → WatchAlong-Dt5_kNJg.js} +1 -1
  37. package/client/dist/assets/{WatchAlongPanel-CerutuF6.js → WatchAlongPanel-DTjl8tog.js} +1 -1
  38. package/client/dist/assets/{Watchlist-5UqdPHPq.js → Watchlist-BvbY9oBd.js} +1 -1
  39. package/client/dist/assets/{index-hnIW0p5l.js → index-BR99iwWT.js} +2 -2
  40. package/client/dist/assets/{libraryInvalidation-DGzo-Q94.js → libraryInvalidation-BirscVrS.js} +1 -1
  41. package/client/dist/assets/{playbackCompletion-DCNDnWtX.js → playbackCompletion-C8izYMOL.js} +1 -1
  42. package/client/dist/assets/{useAnimeInfoData-C-n9ZzJX.js → useAnimeInfoData-C60IXLN5.js} +1 -1
  43. package/client/dist/assets/{useAsmr-QthQGpYA.js → useAsmr-yVlXiVJj.js} +1 -1
  44. package/client/dist/assets/{useAsmrPopup-BGI3k7sr.js → useAsmrPopup-Do0bqxew.js} +1 -1
  45. package/client/dist/assets/{useMangaLibrary-uCL2et8O.js → useMangaLibrary-ClgxldD8.js} +1 -1
  46. package/client/dist/assets/{useMangaPopup-DV8-cCbz.js → useMangaPopup-D4ItPSfW.js} +1 -1
  47. package/client/dist/assets/{useProviders-Bzr6U-8b.js → useProviders-DVv7j4AK.js} +1 -1
  48. package/client/dist/assets/{useTv-D2BZQllK.js → useTv-BUu6RG6F.js} +1 -1
  49. package/client/dist/assets/{useTvLibrary-BIs22-2H.js → useTvLibrary-DnKiDhxZ.js} +1 -1
  50. package/client/dist/assets/{useWatchAlongPlayer-B79YboC3.js → useWatchAlongPlayer-hjLY2hHu.js} +1 -1
  51. package/client/dist/index.html +1 -1
  52. package/package.json +2 -2
  53. package/server/dist/server.js +101 -101
  54. package/server/package.json +1 -1
@@ -1 +1 @@
1
- import{q as r}from"./index-hnIW0p5l.js";const s={tv:{library:r.tvLibrary,continue:r.tvContinueWatching,progress:r.tvProgress},manga:{library:r.mangaLibrary,continue:r.mangaContinueReading,progress:r.mangaProgress},asmr:{library:r.asmrLibrary,continue:r.asmrContinueListening,progress:r.asmrProgress}};function t(a,e,n=!1){const i=s[e];n&&a.invalidateQueries({queryKey:[i.progress]}),a.invalidateQueries({queryKey:[i.library]}),a.invalidateQueries({queryKey:[i.continue]})}export{t as i};
1
+ import{q as r}from"./index-BR99iwWT.js";const s={tv:{library:r.tvLibrary,continue:r.tvContinueWatching,progress:r.tvProgress},manga:{library:r.mangaLibrary,continue:r.mangaContinueReading,progress:r.mangaProgress},asmr:{library:r.asmrLibrary,continue:r.asmrContinueListening,progress:r.asmrProgress}};function t(a,e,n=!1){const i=s[e];n&&a.invalidateQueries({queryKey:[i.progress]}),a.invalidateQueries({queryKey:[i.library]}),a.invalidateQueries({queryKey:[i.continue]})}export{t as i};
@@ -1 +1 @@
1
- import{p as e}from"./index-hnIW0p5l.js";const o=.8,r=5,a="autoplayEnabled",E=(s,t)=>t>0&&s>=t*o,c=.25,l=(s,t)=>t>0&&Number.isFinite(t)&&s>=t-c,p=s=>s>r,m=()=>{try{return e.getItem(a)==="true"}catch{return!1}},b=s=>{try{e.setItem(a,String(s))}catch{}};export{o as C,l as a,p as h,E as i,m as l,b as s};
1
+ import{p as e}from"./index-BR99iwWT.js";const o=.8,r=5,a="autoplayEnabled",E=(s,t)=>t>0&&s>=t*o,c=.25,l=(s,t)=>t>0&&Number.isFinite(t)&&s>=t-c,p=s=>s>r,m=()=>{try{return e.getItem(a)==="true"}catch{return!1}},b=s=>{try{e.setItem(a,String(s))}catch{}};export{o as C,l as a,p as h,E as i,m as l,b as s};
@@ -1 +1 @@
1
- import{q as g}from"./vendor-core-DfaOB3Rn.js";import{u as p,b as q,a as M}from"./vendor-query-BBT5_sHx.js";import{l as v,F as h,q as Q,t as y}from"./index-hnIW0p5l.js";import{u as A}from"./QueueOptionsButton-C0U85ua3.js";function k(t){const s=p(),c=v(),{data:i,isLoading:w,error:u}=A(t),n=c.watchlist.check.queryOptions({showId:t??""}).queryKey,{data:d}=q({...c.watchlist.check.queryOptions({showId:t??""}),enabled:!!t}),r=d?.inWatchlist??!1,{mutateAsync:l}=M({mutationFn:async({wasIn:e,meta:a})=>{if(!t)throw new Error("Missing showId");if(e)await y.watchlist.remove.mutate({id:t});else{const o=a?.names,m=a?.name||o?.romaji;if(!m)throw new Error("Missing show name");await y.watchlist.add.mutate({id:t,name:m,thumbnail:a?.thumbnail,nativeName:o?.native,englishName:o?.english,type:a?.type,isAdult:a?.isAdult})}return!e},onMutate:async({wasIn:e})=>{await s.cancelQueries({queryKey:n}),s.setQueryData(n,a=>({...a,inWatchlist:!e,status:a?.status??""}))},onError:e=>{s.invalidateQueries({queryKey:n}),h.error(e instanceof Error?e.message:"Failed to update watchlist")},onSuccess:e=>{h.success(e?"Added to watchlist":"Removed from watchlist"),s.invalidateQueries({queryKey:[Q.watchlist]})}}),f=g(async()=>{!t||!i||await l({wasIn:r,meta:i})},[t,i,r,l]);return{showMeta:i,inWatchlist:r,loadingMeta:w,error:u?u.message:null,toggleWatchlist:f}}export{k as u};
1
+ import{q as g}from"./vendor-core-DfaOB3Rn.js";import{u as p,b as q,a as M}from"./vendor-query-BBT5_sHx.js";import{l as v,F as h,q as Q,t as y}from"./index-BR99iwWT.js";import{u as A}from"./QueueOptionsButton-D0LpFAJe.js";function k(t){const s=p(),c=v(),{data:i,isLoading:w,error:u}=A(t),n=c.watchlist.check.queryOptions({showId:t??""}).queryKey,{data:d}=q({...c.watchlist.check.queryOptions({showId:t??""}),enabled:!!t}),r=d?.inWatchlist??!1,{mutateAsync:l}=M({mutationFn:async({wasIn:e,meta:a})=>{if(!t)throw new Error("Missing showId");if(e)await y.watchlist.remove.mutate({id:t});else{const o=a?.names,m=a?.name||o?.romaji;if(!m)throw new Error("Missing show name");await y.watchlist.add.mutate({id:t,name:m,thumbnail:a?.thumbnail,nativeName:o?.native,englishName:o?.english,type:a?.type,isAdult:a?.isAdult})}return!e},onMutate:async({wasIn:e})=>{await s.cancelQueries({queryKey:n}),s.setQueryData(n,a=>({...a,inWatchlist:!e,status:a?.status??""}))},onError:e=>{s.invalidateQueries({queryKey:n}),h.error(e instanceof Error?e.message:"Failed to update watchlist")},onSuccess:e=>{h.success(e?"Added to watchlist":"Removed from watchlist"),s.invalidateQueries({queryKey:[Q.watchlist]})}}),f=g(async()=>{!t||!i||await l({wasIn:r,meta:i})},[t,i,r,l]);return{showMeta:i,inWatchlist:r,loadingMeta:w,error:u?u.message:null,toggleWatchlist:f}}export{k as u};
@@ -1 +1 @@
1
- import{T as C}from"./vendor-core-DfaOB3Rn.js";import{b as p,u as d,a as l,e as Q}from"./vendor-query-BBT5_sHx.js";import{l as n,F as a,q as v,t as b}from"./index-hnIW0p5l.js";import{i as g}from"./libraryInvalidation-DGzo-Q94.js";function k(s){return String(s||"").trim().toUpperCase()}function H(s){return k(s.id||s._id||"")}function K(s){return!!s.isAdult}const U=["Listening","Completed","On-Hold","Dropped","Planned"],T=s=>k(s),x=(s="All",r=1,e=24)=>{const t=n();return p(t.asmrLibrary.list.queryOptions({status:s,page:r,limit:e}))},_=()=>{const s=n();return p({...s.asmrLibrary.ids.queryOptions(),staleTime:1e3*60})},W=s=>{const r=n();return p({...r.asmrLibrary.check.queryOptions({id:s||""}),enabled:!!s,staleTime:1e3*60})},j=(s=24)=>{const r=n();return p(r.asmrProgress.continueListening.queryOptions({limit:s}))},z=s=>{const r=n();return p({...r.asmrProgress.getByWork.queryOptions({workId:s||""}),enabled:!!s})},B=()=>{const s=n(),r=d();return l({mutationFn:async e=>{const{silent:t,...m}=e;return b.asmrLibrary.add.mutate(m)},onSuccess:(e,t)=>{t.silent||a.success("Added to listening list"),r.invalidateQueries({queryKey:[v.asmrLibrary]}),r.invalidateQueries(s.asmrLibrary.pathFilter())},onError:e=>{a.error(`Failed to add: ${e.message}`)}})},R=()=>{const s=n(),r=d();return l(s.asmrLibrary.remove.mutationOptions({onSuccess:()=>{a.success("Removed from listening list"),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to remove: ${e.message}`)}}))},Y=()=>{const s=n(),r=d();return l(s.asmrLibrary.setStatus.mutationOptions({onSuccess:()=>{a.success("Status updated"),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to update status: ${e.message}`)}}))},J=()=>{const s=n(),r=d();return l(s.asmrProgress.save.mutationOptions({onSuccess:()=>{g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())}}))},V=()=>{const s=n(),r=d();return l(s.asmrProgress.remove.mutationOptions({onSuccess:()=>{a.success("Progress reset"),g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to reset progress: ${e.message}`)}}))},X=()=>{const s=n(),r=d();return l(s.asmrLibrary.batchStatus.mutationOptions({onSuccess:e=>{a.success(`Status updated for ${e.updated??0} items`),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to update statuses: ${e.message}`)}}))},Z=()=>{const s=n(),r=d();return l(s.asmrLibrary.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;a.success(`Removed ${t} ${t===1?"item":"items"} from listening list`),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to remove: ${e.message}`)}}))},ss=()=>{const s=n(),r=d();return l(s.asmrProgress.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;a.success(`Reset progress for ${t} ${t===1?"item":"items"}`),g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to reset progress: ${e.message}`)}}))},rs=()=>{const s=B(),r=R(),{data:e}=_(),t=C(()=>new Set(e?.ids||[]),[e]);return{toggle:o=>{const i=T(o.rjCode);t.has(i)?r.mutate({id:i}):s.mutate({...o,thumbnail:o.thumbnail||""})},bookmarkedIds:t,pending:s.isPending||r.isPending}},f=300*1e3,F=15,es=(s,r,e,t)=>{const m=r+1,o=Q({queries:Array.from({length:m},(u,E)=>{const P=E+1;return{queryKey:[v.asmrBrowse,s,P,e,t],queryFn:()=>{const O=s.trim();return b.asmr.browse.query({q:O||void 0,page:P,sort:e&&e!=="latest"?e:void 0,rating:t||void 0})},staleTime:f}})}),i=o.flatMap(u=>u.data?.shows??[]),L=i.slice((r-1)*F,r*F),y=o[o.length-1]?.data,A=!!(y&&(y.hasNext||i.length>r*F)),S=o.some(u=>u.isLoading),c=o.some(u=>u.isFetching),q=o.some(u=>u.isError);return{data:{shows:L,hasNext:A},isLoading:S,isError:q,isFetching:c}},ts=s=>{const r=n(),e=p({...r.asmr.work.queryOptions({rj:s}),enabled:!!s,staleTime:f,refetchOnMount:"always"});return{...e,data:e.data}},$=15,h=6;function I(s){if(s.isAdult||!s.thumbnail)return!1;const r=(s.rating||"").toLowerCase();return r===""||r==="sfw"}function w(s,r){const e=new Set,t=[];for(const m of s)for(const o of m){if(t.length>=r)return t;const i=o.id||o._id;!i||e.has(i)||(e.add(i),I(o)&&t.push(o))}return t}const os=(s=!0)=>{const r=Q({queries:Array.from({length:$},(c,q)=>{const u=q+1;return{queryKey:[v.asmrBrowse,"",u,"popular_month",""],queryFn:()=>b.asmr.browse.query({page:u,sort:"popular_month"}),staleTime:f,enabled:s,retry:1}})}),e=r.map(c=>c.data?.shows??[]),t=w(e,h),m=r.every(c=>c.isFetched),o=s&&m&&t.length<h,i=p({queryKey:[v.asmrBrowse,"",1,"popular","sfw"],queryFn:()=>b.asmr.browse.query({page:1,sort:"popular",rating:"sfw"}),staleTime:f,enabled:o,retry:1}),L=i.data?.shows??[],y=t.length>=h?t.slice(0,h):w([t,L],h),A=s&&(r.some(c=>c.isLoading)||o&&i.isLoading),S=s&&m&&y.length===0&&r.some(c=>c.isError);return{data:y,isLoading:A,isError:S}};export{U as A,H as a,os as b,ts as c,W as d,rs as e,z as f,k as g,J as h,B as i,es as j,T as k,K as l,x as m,R as n,Y as o,X as p,Z as q,ss as r,V as s,j as u};
1
+ import{T as C}from"./vendor-core-DfaOB3Rn.js";import{b as p,u as d,a as l,e as Q}from"./vendor-query-BBT5_sHx.js";import{l as n,F as a,q as v,t as b}from"./index-BR99iwWT.js";import{i as g}from"./libraryInvalidation-BirscVrS.js";function k(s){return String(s||"").trim().toUpperCase()}function H(s){return k(s.id||s._id||"")}function K(s){return!!s.isAdult}const U=["Listening","Completed","On-Hold","Dropped","Planned"],T=s=>k(s),x=(s="All",r=1,e=24)=>{const t=n();return p(t.asmrLibrary.list.queryOptions({status:s,page:r,limit:e}))},_=()=>{const s=n();return p({...s.asmrLibrary.ids.queryOptions(),staleTime:1e3*60})},W=s=>{const r=n();return p({...r.asmrLibrary.check.queryOptions({id:s||""}),enabled:!!s,staleTime:1e3*60})},j=(s=24)=>{const r=n();return p(r.asmrProgress.continueListening.queryOptions({limit:s}))},z=s=>{const r=n();return p({...r.asmrProgress.getByWork.queryOptions({workId:s||""}),enabled:!!s})},B=()=>{const s=n(),r=d();return l({mutationFn:async e=>{const{silent:t,...m}=e;return b.asmrLibrary.add.mutate(m)},onSuccess:(e,t)=>{t.silent||a.success("Added to listening list"),r.invalidateQueries({queryKey:[v.asmrLibrary]}),r.invalidateQueries(s.asmrLibrary.pathFilter())},onError:e=>{a.error(`Failed to add: ${e.message}`)}})},R=()=>{const s=n(),r=d();return l(s.asmrLibrary.remove.mutationOptions({onSuccess:()=>{a.success("Removed from listening list"),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to remove: ${e.message}`)}}))},Y=()=>{const s=n(),r=d();return l(s.asmrLibrary.setStatus.mutationOptions({onSuccess:()=>{a.success("Status updated"),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to update status: ${e.message}`)}}))},J=()=>{const s=n(),r=d();return l(s.asmrProgress.save.mutationOptions({onSuccess:()=>{g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())}}))},V=()=>{const s=n(),r=d();return l(s.asmrProgress.remove.mutationOptions({onSuccess:()=>{a.success("Progress reset"),g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to reset progress: ${e.message}`)}}))},X=()=>{const s=n(),r=d();return l(s.asmrLibrary.batchStatus.mutationOptions({onSuccess:e=>{a.success(`Status updated for ${e.updated??0} items`),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to update statuses: ${e.message}`)}}))},Z=()=>{const s=n(),r=d();return l(s.asmrLibrary.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;a.success(`Removed ${t} ${t===1?"item":"items"} from listening list`),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to remove: ${e.message}`)}}))},ss=()=>{const s=n(),r=d();return l(s.asmrProgress.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;a.success(`Reset progress for ${t} ${t===1?"item":"items"}`),g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to reset progress: ${e.message}`)}}))},rs=()=>{const s=B(),r=R(),{data:e}=_(),t=C(()=>new Set(e?.ids||[]),[e]);return{toggle:o=>{const i=T(o.rjCode);t.has(i)?r.mutate({id:i}):s.mutate({...o,thumbnail:o.thumbnail||""})},bookmarkedIds:t,pending:s.isPending||r.isPending}},f=300*1e3,F=15,es=(s,r,e,t)=>{const m=r+1,o=Q({queries:Array.from({length:m},(u,E)=>{const P=E+1;return{queryKey:[v.asmrBrowse,s,P,e,t],queryFn:()=>{const O=s.trim();return b.asmr.browse.query({q:O||void 0,page:P,sort:e&&e!=="latest"?e:void 0,rating:t||void 0})},staleTime:f}})}),i=o.flatMap(u=>u.data?.shows??[]),L=i.slice((r-1)*F,r*F),y=o[o.length-1]?.data,A=!!(y&&(y.hasNext||i.length>r*F)),S=o.some(u=>u.isLoading),c=o.some(u=>u.isFetching),q=o.some(u=>u.isError);return{data:{shows:L,hasNext:A},isLoading:S,isError:q,isFetching:c}},ts=s=>{const r=n(),e=p({...r.asmr.work.queryOptions({rj:s}),enabled:!!s,staleTime:f,refetchOnMount:"always"});return{...e,data:e.data}},$=15,h=6;function I(s){if(s.isAdult||!s.thumbnail)return!1;const r=(s.rating||"").toLowerCase();return r===""||r==="sfw"}function w(s,r){const e=new Set,t=[];for(const m of s)for(const o of m){if(t.length>=r)return t;const i=o.id||o._id;!i||e.has(i)||(e.add(i),I(o)&&t.push(o))}return t}const os=(s=!0)=>{const r=Q({queries:Array.from({length:$},(c,q)=>{const u=q+1;return{queryKey:[v.asmrBrowse,"",u,"popular_month",""],queryFn:()=>b.asmr.browse.query({page:u,sort:"popular_month"}),staleTime:f,enabled:s,retry:1}})}),e=r.map(c=>c.data?.shows??[]),t=w(e,h),m=r.every(c=>c.isFetched),o=s&&m&&t.length<h,i=p({queryKey:[v.asmrBrowse,"",1,"popular","sfw"],queryFn:()=>b.asmr.browse.query({page:1,sort:"popular",rating:"sfw"}),staleTime:f,enabled:o,retry:1}),L=i.data?.shows??[],y=t.length>=h?t.slice(0,h):w([t,L],h),A=s&&(r.some(c=>c.isLoading)||o&&i.isLoading),S=s&&m&&y.length===0&&r.some(c=>c.isError);return{data:y,isLoading:A,isError:S}};export{U as A,H as a,os as b,ts as c,W as d,rs as e,z as f,k as g,J as h,B as i,es as j,T as k,K as l,x as m,R as n,Y as o,X as p,Z as q,ss as r,V as s,j as u};
@@ -1 +1 @@
1
- import{u as b}from"./vendor-core-DfaOB3Rn.js";import{c as k}from"./useAsmr-QthQGpYA.js";import{a as g}from"./MediaCard-BhYZUPLl.js";import{u as d}from"./usePopup-DS9jMzp6.js";const y=({data:o,anchorRect:n,bookmarked:a,onToggleBookmark:l,onMouseEnter:p,onMouseLeave:c,onRequestClose:u})=>{const{data:r,isLoading:m}=k(o.rjCode||null),e=r?.tracks.length??0,i=e>0,t=!m,s=[{icon:"headphones",label:t?i?`${e} track${e===1?"":"s"}`:"No tracks":"Loading tracks…"}];return o.rating&&s.push({label:o.rating.toUpperCase()}),o.isAdult&&s.push({label:"18+"}),o.progressLabel&&s.push({icon:"bookmark",label:o.progressLabel}),b(g,{anchorRect:n,title:o.title,subtitle:o.rjCode,cover:o.thumbnail,meta:s,synopsis:!t&&!r?.description?"Loading description…":r?.description??"No description available.",primaryAction:{to:o.listenTarget,label:i?"Listen now":t?"No tracks":"Loading…",icon:"play",disabled:!i},secondaryAction:{to:o.listenTarget,label:"Details"},bookmarked:a,bookmarkLabel:"Bookmark",onToggleBookmark:l,onMouseEnter:p,onMouseLeave:c,onRequestClose:u})},C=()=>d();export{y as A,C as u};
1
+ import{u as b}from"./vendor-core-DfaOB3Rn.js";import{c as k}from"./useAsmr-yVlXiVJj.js";import{a as g}from"./MediaCard-wcV5T3yJ.js";import{u as d}from"./usePopup-DS9jMzp6.js";const y=({data:o,anchorRect:n,bookmarked:a,onToggleBookmark:l,onMouseEnter:p,onMouseLeave:c,onRequestClose:u})=>{const{data:r,isLoading:m}=k(o.rjCode||null),e=r?.tracks.length??0,i=e>0,t=!m,s=[{icon:"headphones",label:t?i?`${e} track${e===1?"":"s"}`:"No tracks":"Loading tracks…"}];return o.rating&&s.push({label:o.rating.toUpperCase()}),o.isAdult&&s.push({label:"18+"}),o.progressLabel&&s.push({icon:"bookmark",label:o.progressLabel}),b(g,{anchorRect:n,title:o.title,subtitle:o.rjCode,cover:o.thumbnail,meta:s,synopsis:!t&&!r?.description?"Loading description…":r?.description??"No description available.",primaryAction:{to:o.listenTarget,label:i?"Listen now":t?"No tracks":"Loading…",icon:"play",disabled:!i},secondaryAction:{to:o.listenTarget,label:"Details"},bookmarked:a,bookmarkLabel:"Bookmark",onToggleBookmark:l,onMouseEnter:p,onMouseLeave:c,onRequestClose:u})},C=()=>d();export{y as A,C as u};
@@ -1 +1 @@
1
- import{b as u,c as f,u as c,a as g}from"./vendor-query-BBT5_sHx.js";import{q as v,t as b,l as o,F as s}from"./index-hnIW0p5l.js";import{T as L}from"./vendor-core-DfaOB3Rn.js";import{i as l}from"./libraryInvalidation-DGzo-Q94.js";const q=300*1e3,h={mangadex:"https://mangadex.org/",mangapill:"https://www.mangapill.com/"},F=(e,a)=>`/api/proxy?url=${encodeURIComponent(a)}&referer=${encodeURIComponent(h[e])}`,B=(e,a)=>a&&(e==="mangapill"||e==="mangadex"?F(e,a):a),N=(e,a=!0)=>{const{provider:t,query:r,page:i,sort:n,status:m,type:p,rating:y,mature:d}=e;return u({queryKey:[v.mangaBrowse,t,r,i,n,m,p,y,d],queryFn:()=>b.manga.search.query({provider:t,q:r.trim()||void 0,page:i,sort:n||void 0,status:m||void 0,type:p||void 0,rating:y||void 0,mature:d?"1":void 0}),staleTime:q,enabled:a})},I=(e,a=14)=>{const{provider:t,query:r,sort:i,status:n,type:m,rating:p,mature:y}=e;return f({queryKey:[v.mangaBrowseInfinite,t,r,i,n,m,p,y,a],queryFn:({pageParam:d=1})=>b.manga.search.query({provider:t,q:r.trim()||void 0,page:d,limit:a,sort:i||void 0,status:n||void 0,type:m||void 0,rating:p||void 0,mature:y?"1":void 0}),initialPageParam:1,getNextPageParam:(d,M)=>d.hasNext?M.length+1:void 0,staleTime:q,enabled:!0})},Q=(e,a,t="safe",r=!1)=>u({queryKey:[v.mangaDetail,e,a,t,r],queryFn:()=>b.manga.info.query({provider:e||"",id:a||"",rating:t,mature:r?"1":void 0}),enabled:!!e&&!!a,staleTime:q}),A=(e,a,t)=>u({queryKey:[v.mangaPages,e,a],queryFn:()=>b.manga.pages.query({provider:e||"",id:a||""}),enabled:!!e&&!!a,staleTime:1800*1e3}),w=()=>{const e=o(),a=u({...e.manga.trending.queryOptions(),staleTime:600*1e3,retry:1});return{...a,data:a.data}},x=e=>e.contentRating==="erotica"||e.contentRating==="pornographic"||e.type==="doujinshi";function _(e,a){const t=e.titles??{};return a==="englishName"?t.en||e.title:a==="nativeName"&&(t.native||t.romaji||e.altTitle)||e.title}function D(e){return{englishName:e.titles?.en??e.title,nativeName:e.titles?.native??e.titles?.romaji??e.altTitle??void 0}}const P=/^anilist:ch:(\d+)$/;function K(e){if(!e)return null;const a=P.exec(e.trim());if(!a)return null;const t=Number.parseInt(a[1],10);return Number.isFinite(t)?t:null}function U(e,a){const t=String(a),r=e.find(i=>(i.number??"").trim()===t);return r||(e.find(i=>{const n=Number.parseFloat((i.number??"").trim());return Number.isFinite(n)&&n===a})??null)}const j=["Reading","Completed","On-Hold","Dropped","Planned"],S=(e,a)=>`${e.toLowerCase()}:${a}`,H=(e="All",a=1,t=24)=>{const r=o();return u(r.mangaLibrary.list.queryOptions({status:e,page:a,limit:t}))},R=()=>{const e=o();return u({...e.mangaLibrary.ids.queryOptions(),staleTime:1e3*60})},V=e=>{const a=o();return u({...a.mangaLibrary.check.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},Y=e=>{const a=o();return u({...a.mangaLibrary.entry.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},z=()=>{const e=o(),a=c();return g(e.mangaLibrary.link.mutationOptions({onSuccess:t=>{s.success(t?.progressMigrated?"Linked - chapter progress carried over":"Linked to AniList entry"),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to link: ${t.message}`)}}))},G=(e=24)=>{const a=o();return u(a.mangaProgress.continueReading.queryOptions({limit:e}))},J=e=>{const a=o();return u({...a.mangaProgress.byManga.queryOptions({mangaId:e??""}),enabled:!!e})},k=()=>{const e=o(),a=c();return g(e.mangaLibrary.add.mutationOptions({onSuccess:(t,r)=>{r.silent||s.success("Bookmarked"),a.invalidateQueries(e.mangaLibrary.pathFilter()),a.invalidateQueries({queryKey:[v.mangaLibrary]})},onError:t=>{s.error(`Failed to bookmark: ${t.message}`)}}))},C=()=>{const e=o(),a=c();return g(e.mangaLibrary.remove.mutationOptions({onSuccess:()=>{s.success("Bookmark removed"),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to remove: ${t.message}`)}}))},W=()=>{const e=o(),a=c();return g(e.mangaLibrary.setStatus.mutationOptions({onSuccess:()=>{s.success("Status updated"),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to update status: ${t.message}`)}}))},X=()=>{const e=o(),a=c();return g(e.mangaProgress.save.mutationOptions({onSuccess:()=>{l(a,"manga",!0),a.invalidateQueries(e.mangaProgress.pathFilter())}}))},Z=()=>{const e=o(),a=c();return g(e.mangaProgress.remove.mutationOptions({onSuccess:()=>{s.success("Progress reset"),l(a,"manga",!0),a.invalidateQueries(e.mangaProgress.pathFilter())},onError:t=>{s.error(`Failed to reset progress: ${t.message}`)}}))},ee=()=>{const e=o(),a=c();return g(e.mangaLibrary.batchStatus.mutationOptions({onSuccess:t=>{s.success(`Status updated for ${t.updated??0} items`),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to update statuses: ${t.message}`)}}))},ae=()=>{const e=o(),a=c();return g(e.mangaLibrary.removeMany.mutationOptions({onSuccess:t=>{const r=t.removed??0;s.success(`Removed ${r} ${r===1?"item":"items"} from reading list`),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to remove: ${t.message}`)}}))},te=()=>{const e=o(),a=c();return g(e.mangaProgress.removeMany.mutationOptions({onSuccess:t=>{const r=t.removed??0;s.success(`Reset progress for ${r} ${r===1?"item":"items"}`),l(a,"manga",!0),a.invalidateQueries(e.mangaProgress.pathFilter())},onError:t=>{s.error(`Failed to reset progress: ${t.message}`)}}))},re=()=>{const e=k(),a=C(),{data:t}=R(),r=L(()=>new Set(t?.ids||[]),[t]);return{toggle:n=>{const m=S(n.provider,n.id);r.has(m)?a.mutate(m):e.mutate({provider:n.provider,mangaId:n.id,title:n.title,cover:n.cover,altTitle:n.altTitle,contentRating:n.contentRating})},bookmarkedIds:r,pending:e.isPending||a.isPending}};export{te as A,Z as B,j as M,I as a,B as b,D as c,G as d,w as e,N as f,Y as g,k as h,x as i,z as j,Q as k,V as l,S as m,J as n,C as o,W as p,K as q,_ as r,U as s,A as t,re as u,F as v,X as w,H as x,ee as y,ae as z};
1
+ import{b as u,c as f,u as c,a as g}from"./vendor-query-BBT5_sHx.js";import{q as v,t as b,l as o,F as s}from"./index-BR99iwWT.js";import{T as L}from"./vendor-core-DfaOB3Rn.js";import{i as l}from"./libraryInvalidation-BirscVrS.js";const q=300*1e3,h={mangadex:"https://mangadex.org/",mangapill:"https://www.mangapill.com/"},F=(e,a)=>`/api/proxy?url=${encodeURIComponent(a)}&referer=${encodeURIComponent(h[e])}`,B=(e,a)=>a&&(e==="mangapill"||e==="mangadex"?F(e,a):a),N=(e,a=!0)=>{const{provider:t,query:r,page:i,sort:n,status:m,type:p,rating:y,mature:d}=e;return u({queryKey:[v.mangaBrowse,t,r,i,n,m,p,y,d],queryFn:()=>b.manga.search.query({provider:t,q:r.trim()||void 0,page:i,sort:n||void 0,status:m||void 0,type:p||void 0,rating:y||void 0,mature:d?"1":void 0}),staleTime:q,enabled:a})},I=(e,a=14)=>{const{provider:t,query:r,sort:i,status:n,type:m,rating:p,mature:y}=e;return f({queryKey:[v.mangaBrowseInfinite,t,r,i,n,m,p,y,a],queryFn:({pageParam:d=1})=>b.manga.search.query({provider:t,q:r.trim()||void 0,page:d,limit:a,sort:i||void 0,status:n||void 0,type:m||void 0,rating:p||void 0,mature:y?"1":void 0}),initialPageParam:1,getNextPageParam:(d,M)=>d.hasNext?M.length+1:void 0,staleTime:q,enabled:!0})},Q=(e,a,t="safe",r=!1)=>u({queryKey:[v.mangaDetail,e,a,t,r],queryFn:()=>b.manga.info.query({provider:e||"",id:a||"",rating:t,mature:r?"1":void 0}),enabled:!!e&&!!a,staleTime:q}),A=(e,a,t)=>u({queryKey:[v.mangaPages,e,a],queryFn:()=>b.manga.pages.query({provider:e||"",id:a||""}),enabled:!!e&&!!a,staleTime:1800*1e3}),w=()=>{const e=o(),a=u({...e.manga.trending.queryOptions(),staleTime:600*1e3,retry:1});return{...a,data:a.data}},x=e=>e.contentRating==="erotica"||e.contentRating==="pornographic"||e.type==="doujinshi";function _(e,a){const t=e.titles??{};return a==="englishName"?t.en||e.title:a==="nativeName"&&(t.native||t.romaji||e.altTitle)||e.title}function D(e){return{englishName:e.titles?.en??e.title,nativeName:e.titles?.native??e.titles?.romaji??e.altTitle??void 0}}const P=/^anilist:ch:(\d+)$/;function K(e){if(!e)return null;const a=P.exec(e.trim());if(!a)return null;const t=Number.parseInt(a[1],10);return Number.isFinite(t)?t:null}function U(e,a){const t=String(a),r=e.find(i=>(i.number??"").trim()===t);return r||(e.find(i=>{const n=Number.parseFloat((i.number??"").trim());return Number.isFinite(n)&&n===a})??null)}const j=["Reading","Completed","On-Hold","Dropped","Planned"],S=(e,a)=>`${e.toLowerCase()}:${a}`,H=(e="All",a=1,t=24)=>{const r=o();return u(r.mangaLibrary.list.queryOptions({status:e,page:a,limit:t}))},R=()=>{const e=o();return u({...e.mangaLibrary.ids.queryOptions(),staleTime:1e3*60})},V=e=>{const a=o();return u({...a.mangaLibrary.check.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},Y=e=>{const a=o();return u({...a.mangaLibrary.entry.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},z=()=>{const e=o(),a=c();return g(e.mangaLibrary.link.mutationOptions({onSuccess:t=>{s.success(t?.progressMigrated?"Linked - chapter progress carried over":"Linked to AniList entry"),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to link: ${t.message}`)}}))},G=(e=24)=>{const a=o();return u(a.mangaProgress.continueReading.queryOptions({limit:e}))},J=e=>{const a=o();return u({...a.mangaProgress.byManga.queryOptions({mangaId:e??""}),enabled:!!e})},k=()=>{const e=o(),a=c();return g(e.mangaLibrary.add.mutationOptions({onSuccess:(t,r)=>{r.silent||s.success("Bookmarked"),a.invalidateQueries(e.mangaLibrary.pathFilter()),a.invalidateQueries({queryKey:[v.mangaLibrary]})},onError:t=>{s.error(`Failed to bookmark: ${t.message}`)}}))},C=()=>{const e=o(),a=c();return g(e.mangaLibrary.remove.mutationOptions({onSuccess:()=>{s.success("Bookmark removed"),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to remove: ${t.message}`)}}))},W=()=>{const e=o(),a=c();return g(e.mangaLibrary.setStatus.mutationOptions({onSuccess:()=>{s.success("Status updated"),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to update status: ${t.message}`)}}))},X=()=>{const e=o(),a=c();return g(e.mangaProgress.save.mutationOptions({onSuccess:()=>{l(a,"manga",!0),a.invalidateQueries(e.mangaProgress.pathFilter())}}))},Z=()=>{const e=o(),a=c();return g(e.mangaProgress.remove.mutationOptions({onSuccess:()=>{s.success("Progress reset"),l(a,"manga",!0),a.invalidateQueries(e.mangaProgress.pathFilter())},onError:t=>{s.error(`Failed to reset progress: ${t.message}`)}}))},ee=()=>{const e=o(),a=c();return g(e.mangaLibrary.batchStatus.mutationOptions({onSuccess:t=>{s.success(`Status updated for ${t.updated??0} items`),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to update statuses: ${t.message}`)}}))},ae=()=>{const e=o(),a=c();return g(e.mangaLibrary.removeMany.mutationOptions({onSuccess:t=>{const r=t.removed??0;s.success(`Removed ${r} ${r===1?"item":"items"} from reading list`),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to remove: ${t.message}`)}}))},te=()=>{const e=o(),a=c();return g(e.mangaProgress.removeMany.mutationOptions({onSuccess:t=>{const r=t.removed??0;s.success(`Reset progress for ${r} ${r===1?"item":"items"}`),l(a,"manga",!0),a.invalidateQueries(e.mangaProgress.pathFilter())},onError:t=>{s.error(`Failed to reset progress: ${t.message}`)}}))},re=()=>{const e=k(),a=C(),{data:t}=R(),r=L(()=>new Set(t?.ids||[]),[t]);return{toggle:n=>{const m=S(n.provider,n.id);r.has(m)?a.mutate(m):e.mutate({provider:n.provider,mangaId:n.id,title:n.title,cover:n.cover,altTitle:n.altTitle,contentRating:n.contentRating})},bookmarkedIds:r,pending:e.isPending||a.isPending}};export{te as A,Z as B,j as M,I as a,B as b,D as c,G as d,w as e,N as f,Y as g,k as h,x as i,z as j,Q as k,V as l,S as m,J as n,C as o,W as p,K as q,_ as r,U as s,A as t,re as u,F as v,X as w,H as x,ee as y,ae as z};
@@ -1 +1 @@
1
- import{u as k}from"./vendor-core-DfaOB3Rn.js";import{k as T,r as d}from"./useMangaLibrary-uCL2et8O.js";import{d as y}from"./index-hnIW0p5l.js";import{a as h}from"./MediaCard-BhYZUPLl.js";import{u as M}from"./usePopup-DS9jMzp6.js";const B=({data:e,anchorRect:i,bookmarked:l,onToggleBookmark:n,onMouseEnter:p,onMouseLeave:c,onRequestClose:m})=>{const{data:o,isLoading:u}=T(e.provider,e.mangaId,e.rating||"safe",e.mature||!1),{titlePreference:g}=y(),s=o?.chapters.length??0,a=d({title:e.title,altTitle:o?.altTitle??e.altTitle},g),t=[],r=[o?.status,o?.type].filter(Boolean).join(" · ");r&&t.push({icon:"book",label:r}),s>0&&t.push({label:`${s} chapter${s===1?"":"s"}`}),e.progressLabel&&t.push({icon:"bookmark",label:e.progressLabel});const b=Array.isArray(o?.genres)?o.genres.filter(Boolean).slice(0,4).map(f=>f):[];return k(h,{anchorRect:i,title:a,subtitle:o?.altTitle&&o.altTitle!==a?`Also known as: ${o.altTitle}`:void 0,loading:u,meta:t,genres:b,synopsis:o?.description?o.description:"No synopsis available.",primaryAction:{to:e.readTarget,label:"Read now",icon:"book"},secondaryAction:{to:`/manga/${e.provider}/${encodeURIComponent(e.mangaId)}`,label:"Read more"},bookmarked:l,bookmarkLabel:"Bookmark",onToggleBookmark:n,onMouseEnter:p,onMouseLeave:c,onRequestClose:m})},I=()=>M();export{B as M,I as u};
1
+ import{u as k}from"./vendor-core-DfaOB3Rn.js";import{k as T,r as d}from"./useMangaLibrary-ClgxldD8.js";import{d as y}from"./index-BR99iwWT.js";import{a as h}from"./MediaCard-wcV5T3yJ.js";import{u as M}from"./usePopup-DS9jMzp6.js";const B=({data:e,anchorRect:i,bookmarked:l,onToggleBookmark:n,onMouseEnter:p,onMouseLeave:c,onRequestClose:m})=>{const{data:o,isLoading:u}=T(e.provider,e.mangaId,e.rating||"safe",e.mature||!1),{titlePreference:g}=y(),s=o?.chapters.length??0,a=d({title:e.title,altTitle:o?.altTitle??e.altTitle},g),t=[],r=[o?.status,o?.type].filter(Boolean).join(" · ");r&&t.push({icon:"book",label:r}),s>0&&t.push({label:`${s} chapter${s===1?"":"s"}`}),e.progressLabel&&t.push({icon:"bookmark",label:e.progressLabel});const b=Array.isArray(o?.genres)?o.genres.filter(Boolean).slice(0,4).map(f=>f):[];return k(h,{anchorRect:i,title:a,subtitle:o?.altTitle&&o.altTitle!==a?`Also known as: ${o.altTitle}`:void 0,loading:u,meta:t,genres:b,synopsis:o?.description?o.description:"No synopsis available.",primaryAction:{to:e.readTarget,label:"Read now",icon:"book"},secondaryAction:{to:`/manga/${e.provider}/${encodeURIComponent(e.mangaId)}`,label:"Read more"},bookmarked:l,bookmarkLabel:"Bookmark",onToggleBookmark:n,onMouseEnter:p,onMouseLeave:c,onRequestClose:m})},I=()=>M();export{B as M,I as u};
@@ -1 +1 @@
1
- import{T as o}from"./vendor-core-DfaOB3Rn.js";import{b as a}from"./vendor-query-BBT5_sHx.js";import{q as i,O as n}from"./index-hnIW0p5l.js";const l=300*1e3,c=()=>{const e=a({queryKey:[i.providers],queryFn:()=>n("/api/providers"),staleTime:l,retry:1}),r=Array.isArray(e.data)?e.data:null,s=o(()=>r&&r.length>0?r.filter(t=>t.loaded):[],[r]);return{...e,options:s,isFallback:!r||r.length===0}};export{c as u};
1
+ import{T as o}from"./vendor-core-DfaOB3Rn.js";import{b as a}from"./vendor-query-BBT5_sHx.js";import{q as i,O as n}from"./index-BR99iwWT.js";const l=300*1e3,c=()=>{const e=a({queryKey:[i.providers],queryFn:()=>n("/api/providers"),staleTime:l,retry:1}),r=Array.isArray(e.data)?e.data:null,s=o(()=>r&&r.length>0?r.filter(t=>t.loaded):[],[r]);return{...e,options:s,isFallback:!r||r.length===0}};export{c as u};
@@ -1 +1 @@
1
- import{N as c,u as o,S as d}from"./vendor-core-DfaOB3Rn.js";import{I as v}from"./vendor-icons-DrybRNxP.js";import{M as T}from"./MediaCard-BhYZUPLl.js";import{T as g}from"./TvPopup-BnPKXA6c.js";import{j as m,i as f,l as i}from"./index-hnIW0p5l.js";import{b as u}from"./vendor-query-BBT5_sHx.js";const P=c(({item:e})=>{const a=e.type==="tv"||e.type==="tvSeries"||e.type==="tvMiniSeries",s=m(e.type,e.id);return o(T,{item:{id:String(e.id),title:e.title,thumbnail:e.image,typeBadge:a?"TV":"Movie",isAdult:f(e)},linkTo:s,hoverIcon:"info",showInfoButton:!0,metaRow:o(d,{children:[e.year&&o("span",{style:{opacity:.75},children:e.year}),e.vote_average!=null&&o("span",{style:{display:"inline-flex",alignItems:"center",gap:3},children:[o(v,{name:"star",size:10}),Number(e.vote_average).toFixed(1)]})]}),renderPopup:(n,t)=>o(g,{item:e,anchorRect:n,onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,onRequestClose:t.close})})}),p=1e3*60*5,_=e=>{const a=i(),{query:s,type:n,genre:t,year:r,sort_by:l,page:y}=e;return u({...a.tv.search.queryOptions({q:s?.trim()||"",type:n||"multi",genre:t||"",year:r&&r!=="ALL"?r:"",sortBy:l||"popularity.desc",page:y||1}),staleTime:p,retry:1})},b=(e="all",a="week",s=1,n=!0)=>{const t=i(),r=u({...t.tv.trending.queryOptions({mediaType:e,timeWindow:a,page:s}),enabled:n,staleTime:p,retry:1});return{...r,data:r.data}};export{P as T,_ as a,b as u};
1
+ import{N as c,u as o,S as d}from"./vendor-core-DfaOB3Rn.js";import{I as v}from"./vendor-icons-DrybRNxP.js";import{M as T}from"./MediaCard-wcV5T3yJ.js";import{T as g}from"./TvPopup-e7OkKs6q.js";import{j as m,i as f,l as i}from"./index-BR99iwWT.js";import{b as u}from"./vendor-query-BBT5_sHx.js";const P=c(({item:e})=>{const a=e.type==="tv"||e.type==="tvSeries"||e.type==="tvMiniSeries",s=m(e.type,e.id);return o(T,{item:{id:String(e.id),title:e.title,thumbnail:e.image,typeBadge:a?"TV":"Movie",isAdult:f(e)},linkTo:s,hoverIcon:"info",showInfoButton:!0,metaRow:o(d,{children:[e.year&&o("span",{style:{opacity:.75},children:e.year}),e.vote_average!=null&&o("span",{style:{display:"inline-flex",alignItems:"center",gap:3},children:[o(v,{name:"star",size:10}),Number(e.vote_average).toFixed(1)]})]}),renderPopup:(n,t)=>o(g,{item:e,anchorRect:n,onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,onRequestClose:t.close})})}),p=1e3*60*5,_=e=>{const a=i(),{query:s,type:n,genre:t,year:r,sort_by:l,page:y}=e;return u({...a.tv.search.queryOptions({q:s?.trim()||"",type:n||"multi",genre:t||"",year:r&&r!=="ALL"?r:"",sortBy:l||"popularity.desc",page:y||1}),staleTime:p,retry:1})},b=(e="all",a="week",s=1,n=!0)=>{const t=i(),r=u({...t.tv.trending.queryOptions({mediaType:e,timeWindow:a,page:s}),enabled:n,staleTime:p,retry:1});return{...r,data:r.data}};export{P as T,_ as a,b as u};
@@ -1 +1 @@
1
- import{T as p}from"./vendor-core-DfaOB3Rn.js";import{b as c,u as i,a as n}from"./vendor-query-BBT5_sHx.js";import{l as a,F as o,q as m,t as y,a9 as g}from"./index-hnIW0p5l.js";import{i as u}from"./libraryInvalidation-DGzo-Q94.js";const q=["Watching","Completed","On-Hold","Dropped","Planned"],b=(t,e)=>g(t,e),C=(t="All",e=1,r=24)=>{const s=a();return c(s.tvLibrary.list.queryOptions({status:t,page:e,limit:r}))},T=()=>{const t=a();return c({...t.tvLibrary.ids.queryOptions(),staleTime:1e3*60})},O=t=>{const e=a();return c({...e.tvLibrary.check.queryOptions({id:t||""}),enabled:!!t,staleTime:1e3*60})},k=(t=24)=>{const e=a();return c(e.tvProgress.continueWatching.queryOptions({limit:t}))},$=t=>{const e=a();return c({...e.tvProgress.getByMedia.queryOptions({mediaId:t||""}),enabled:!!t})},f=(t,e,r)=>{const s=a();return c({...s.tvProgress.latest.queryOptions({mediaId:t||"",season:e,episode:r}),enabled:!!t,staleTime:0})},h=()=>{const t=a(),e=i();return n({mutationFn:async r=>{const{silent:s,...d}=r;return y.tvLibrary.add.mutate(d)},onSuccess:(r,s)=>{s.silent||o.success("Added to TV watchlist"),e.invalidateQueries({queryKey:[m.tvLibrary]}),e.invalidateQueries(t.tvLibrary.pathFilter())},onError:r=>{o.error(`Failed to add: ${r.message}`)}})},F=()=>{const t=a(),e=i();return n(t.tvLibrary.remove.mutationOptions({onSuccess:()=>{o.success("Removed from TV watchlist"),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to remove: ${r.message}`)}}))},R=()=>{const t=a(),e=i();return n(t.tvLibrary.setStatus.mutationOptions({onSuccess:()=>{o.success("Status updated"),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to update status: ${r.message}`)}}))},B=()=>{const t=a(),e=i();return n(t.tvProgress.save.mutationOptions({onSuccess:()=>{u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())}}))},E=()=>{const t=a(),e=i();return n(t.tvProgress.remove.mutationOptions({onSuccess:()=>{o.success("Progress reset"),u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to reset progress: ${r.message}`)}}))},I=()=>{const t=a(),e=i();return n(t.tvLibrary.batchStatus.mutationOptions({onSuccess:r=>{o.success(`Status updated for ${r.updated??0} items`),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to update statuses: ${r.message}`)}}))},A=()=>{const t=a(),e=i();return n(t.tvLibrary.removeMany.mutationOptions({onSuccess:r=>{const s=r.removed??0;o.success(`Removed ${s} ${s===1?"item":"items"} from TV watchlist`),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to remove: ${r.message}`)}}))},w=()=>{const t=a(),e=i();return n(t.tvProgress.removeMany.mutationOptions({onSuccess:r=>{const s=r.removed??0;o.success(`Reset progress for ${s} ${s===1?"item":"items"}`),u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to reset progress: ${r.message}`)}}))},M=()=>{const t=h(),e=F(),{data:r}=T(),s=p(()=>new Set(r?.ids||[]),[r]);return{toggle:v=>{const l=b(v.mediaType,v.tmdbId);s.has(l)?e.mutate(l):t.mutate({...v,poster:v.poster||""})},bookmarkedIds:s,pending:t.isPending||e.isPending}};export{q as T,F as a,E as b,O as c,M as d,B as e,R as f,h as g,f as h,$ as i,C as j,I as k,A as l,w as m,k as u};
1
+ import{T as p}from"./vendor-core-DfaOB3Rn.js";import{b as c,u as i,a as n}from"./vendor-query-BBT5_sHx.js";import{l as a,F as o,q as m,t as y,a9 as g}from"./index-BR99iwWT.js";import{i as u}from"./libraryInvalidation-BirscVrS.js";const q=["Watching","Completed","On-Hold","Dropped","Planned"],b=(t,e)=>g(t,e),C=(t="All",e=1,r=24)=>{const s=a();return c(s.tvLibrary.list.queryOptions({status:t,page:e,limit:r}))},T=()=>{const t=a();return c({...t.tvLibrary.ids.queryOptions(),staleTime:1e3*60})},O=t=>{const e=a();return c({...e.tvLibrary.check.queryOptions({id:t||""}),enabled:!!t,staleTime:1e3*60})},k=(t=24)=>{const e=a();return c(e.tvProgress.continueWatching.queryOptions({limit:t}))},$=t=>{const e=a();return c({...e.tvProgress.getByMedia.queryOptions({mediaId:t||""}),enabled:!!t})},f=(t,e,r)=>{const s=a();return c({...s.tvProgress.latest.queryOptions({mediaId:t||"",season:e,episode:r}),enabled:!!t,staleTime:0})},h=()=>{const t=a(),e=i();return n({mutationFn:async r=>{const{silent:s,...d}=r;return y.tvLibrary.add.mutate(d)},onSuccess:(r,s)=>{s.silent||o.success("Added to TV watchlist"),e.invalidateQueries({queryKey:[m.tvLibrary]}),e.invalidateQueries(t.tvLibrary.pathFilter())},onError:r=>{o.error(`Failed to add: ${r.message}`)}})},F=()=>{const t=a(),e=i();return n(t.tvLibrary.remove.mutationOptions({onSuccess:()=>{o.success("Removed from TV watchlist"),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to remove: ${r.message}`)}}))},R=()=>{const t=a(),e=i();return n(t.tvLibrary.setStatus.mutationOptions({onSuccess:()=>{o.success("Status updated"),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to update status: ${r.message}`)}}))},B=()=>{const t=a(),e=i();return n(t.tvProgress.save.mutationOptions({onSuccess:()=>{u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())}}))},E=()=>{const t=a(),e=i();return n(t.tvProgress.remove.mutationOptions({onSuccess:()=>{o.success("Progress reset"),u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to reset progress: ${r.message}`)}}))},I=()=>{const t=a(),e=i();return n(t.tvLibrary.batchStatus.mutationOptions({onSuccess:r=>{o.success(`Status updated for ${r.updated??0} items`),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to update statuses: ${r.message}`)}}))},A=()=>{const t=a(),e=i();return n(t.tvLibrary.removeMany.mutationOptions({onSuccess:r=>{const s=r.removed??0;o.success(`Removed ${s} ${s===1?"item":"items"} from TV watchlist`),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to remove: ${r.message}`)}}))},w=()=>{const t=a(),e=i();return n(t.tvProgress.removeMany.mutationOptions({onSuccess:r=>{const s=r.removed??0;o.success(`Reset progress for ${s} ${s===1?"item":"items"}`),u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to reset progress: ${r.message}`)}}))},M=()=>{const t=h(),e=F(),{data:r}=T(),s=p(()=>new Set(r?.ids||[]),[r]);return{toggle:v=>{const l=b(v.mediaType,v.tmdbId);s.has(l)?e.mutate(l):t.mutate({...v,poster:v.poster||""})},bookmarkedIds:s,pending:t.isPending||e.isPending}};export{q as T,F as a,E as b,O as c,M as d,B as e,R as f,h as g,f as h,$ as i,C as j,I as k,A as l,w as m,k as u};
@@ -1,4 +1,4 @@
1
- import{u as t,A as w,q as E,h as j,d as P,T as te,$ as ct}from"./vendor-core-DfaOB3Rn.js";import{p as M,L as qe,B as Y,$ as se,l as lt,aa as Re,q as K,a6 as dt,t as ut,g as pt,a2 as ft,ab as je,ac as ht}from"./index-hnIW0p5l.js";import{I as X}from"./vendor-icons-DrybRNxP.js";import{S as Fe,a as mt,s as Q,f as He,m as yt,h as bt,d as gt,k as _t,u as vt,n as ie}from"./PlayerProvider-Q25sRaQm.js";import{u as St}from"./vendor-query-BBT5_sHx.js";import{i as ce,a as wt}from"./playbackCompletion-DCNDnWtX.js";const Ct="_controls_pcbjf_1",kt="_titleContainer_pcbjf_9",xt="_scheduleInfo_pcbjf_15",Tt="_status_pcbjf_23",Lt="_nextEpisode_pcbjf_35",Nt="_watchlistBtn_pcbjf_45",Pt="_inList_pcbjf_72",Bt="_queueBtn_pcbjf_83",Et="_queueActive_pcbjf_95",At="_modeToggleBtn_pcbjf_101",$t="_modeToggleActive_pcbjf_108",It="_markWatchedBtn_pcbjf_129",Mt="_markWatchedDone_pcbjf_143",Rt="_streamPanel_pcbjf_154",jt="_desktopEpisodeActions_pcbjf_168",Ft="_sourceLoader_pcbjf_174",Dt="_episodeActions_pcbjf_187",Ot="_mobileEpisodeActions_pcbjf_201",qt="_episodeNavBtn_pcbjf_205",Ht="_primary_pcbjf_235",Wt="_secondary_pcbjf_245",zt="_episodePickerBtn_pcbjf_249",Vt="_queueCountdown_pcbjf_253",Kt="_speedBoostBadge_pcbjf_268",Ut="_videoContainer_pcbjf_299",Qt="_loadingOverlay_pcbjf_312",Gt="_loadingDots_pcbjf_326",Yt="_dot_pcbjf_331",Xt="_bounce_pcbjf_1",Jt="_bufferingOverlay_pcbjf_348",Zt="_bufferingSpinner_pcbjf_357",er="_spin_pcbjf_444",tr="_videoIframe_pcbjf_366",rr="_videoElementHidden_pcbjf_389",nr="_upscalerCanvas_pcbjf_394",sr="_upscalerActive_pcbjf_407",ar="_upscalerStatusBadge_pcbjf_411",or="_subtitleOverlay_pcbjf_426",ir="_spinner_pcbjf_444",cr="_errorOverlay_pcbjf_505",lr="_retryButton_pcbjf_515",dr="_detailsToggleBtn_pcbjf_528",ur="_descriptionSection_pcbjf_551",pr="_synopsisFlat_pcbjf_559",fr="_fullscreenActive_pcbjf_593",hr="_errorSubtext_pcbjf_636",Qn={controls:Ct,titleContainer:kt,scheduleInfo:xt,status:Tt,nextEpisode:Lt,watchlistBtn:Nt,inList:Pt,queueBtn:Bt,queueActive:Et,modeToggleBtn:At,modeToggleActive:$t,markWatchedBtn:It,markWatchedDone:Mt,streamPanel:Rt,desktopEpisodeActions:jt,sourceLoader:Ft,episodeActions:Dt,mobileEpisodeActions:Ot,episodeNavBtn:qt,primary:Ht,secondary:Wt,episodePickerBtn:zt,queueCountdown:Vt,speedBoostBadge:Kt,videoContainer:Ut,loadingOverlay:Qt,loadingDots:Gt,dot:Yt,bounce:Xt,bufferingOverlay:Jt,bufferingSpinner:Zt,spin:er,videoIframe:tr,videoElementHidden:rr,upscalerCanvas:nr,upscalerActive:sr,upscalerStatusBadge:ar,subtitleOverlay:or,spinner:ir,errorOverlay:cr,retryButton:lr,detailsToggleBtn:dr,descriptionSection:ur,synopsisFlat:pr,fullscreenActive:fr,errorSubtext:hr},mr="_playerPageLayout_13s1u_1",yr="_noSidebar_13s1u_15",br="_episodeSidebar_13s1u_19",gr="_playerMain_13s1u_32",_r="_videoPlayerWrapper_13s1u_40",vr="_playerInfoHeader_13s1u_56",Sr="_playerAnimeCard_13s1u_62",wr="_playerInfoContainer_13s1u_74",Cr="_infoColumns_13s1u_86",kr="_videoTitleSection_13s1u_114",xr="_theaterMode_13s1u_288",Gn={playerPageLayout:mr,noSidebar:yr,episodeSidebar:br,playerMain:gr,videoPlayerWrapper:_r,playerInfoHeader:vr,playerAnimeCard:Sr,playerInfoContainer:wr,infoColumns:Cr,videoTitleSection:kr,theaterMode:xr},Tr={fontSize:"subtitleFontSize",position:"subtitlePosition",bgOpacity:"subtitleBgOpacity",bgColor:"subtitleBgColor",textColor:"subtitleTextColor",edge:"subtitleEdge",bold:"subtitleBold"},U={fontSize:1.8,position:0,bgOpacity:.5,bgColor:"#000000",textColor:"#ffffff",edge:"shadow",bold:!1},fe=(e,r,s)=>Math.max(r,Math.min(s,e)),he=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),le=(e,r,s,o)=>{try{const n=M.getItem(e);if(n===null)return r;const i=parseFloat(n);return Number.isFinite(i)?fe(i,s,o):r}catch{return r}};function Lr(){let e=U.edge,r=U.bgColor,s=U.textColor,o=U.bold;try{const n=M.getItem("subtitleEdge");(n==="shadow"||n==="outline"||n==="none")&&(e=n);const i=M.getItem("subtitleBgColor");he(i)&&(r=i);const c=M.getItem("subtitleTextColor");he(c)&&(s=c);const p=M.getItem("subtitleBold");p!==null&&(o=p==="true")}catch{}return{fontSize:le("subtitleFontSize",U.fontSize,.5,10),position:le("subtitlePosition",U.position,0,100),bgOpacity:le("subtitleBgOpacity",U.bgOpacity,0,1),bgColor:r,textColor:s,edge:e,bold:o}}function We(e,r){const s=`rgba(0, 0, 0, ${fe(r,0,1)})`;if(!he(e))return s;const o=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),i=parseInt(e.slice(5,7),16);return`rgba(${o}, ${n}, ${i}, ${fe(r,0,1)})`}function ze(e,r){return e==="none"?r<=0?"0 1px 3px rgba(0, 0, 0, 0.9)":"none":e==="outline"?["-1px 0 0 black","1px 0 0 black","0 -1px 0 black","0 1px 0 black","-1px -1px 0 black","1px -1px 0 black","-1px 1px 0 black","1px 1px 0 black","0 0 6px rgba(0, 0, 0, 0.9)"].join(", "):"0 0 4px black, 0 1px 2px rgba(0, 0, 0, 0.8)"}function Yn(e){return`
1
+ import{u as t,A as w,q as E,h as j,d as P,T as te,$ as ct}from"./vendor-core-DfaOB3Rn.js";import{p as M,L as qe,B as Y,$ as se,l as lt,aa as Re,q as K,a6 as dt,t as ut,g as pt,a2 as ft,ab as je,ac as ht}from"./index-BR99iwWT.js";import{I as X}from"./vendor-icons-DrybRNxP.js";import{S as Fe,a as mt,s as Q,f as He,m as yt,h as bt,d as gt,k as _t,u as vt,n as ie}from"./PlayerProvider-DjIXyFBk.js";import{u as St}from"./vendor-query-BBT5_sHx.js";import{i as ce,a as wt}from"./playbackCompletion-C8izYMOL.js";const Ct="_controls_pcbjf_1",kt="_titleContainer_pcbjf_9",xt="_scheduleInfo_pcbjf_15",Tt="_status_pcbjf_23",Lt="_nextEpisode_pcbjf_35",Nt="_watchlistBtn_pcbjf_45",Pt="_inList_pcbjf_72",Bt="_queueBtn_pcbjf_83",Et="_queueActive_pcbjf_95",At="_modeToggleBtn_pcbjf_101",$t="_modeToggleActive_pcbjf_108",It="_markWatchedBtn_pcbjf_129",Mt="_markWatchedDone_pcbjf_143",Rt="_streamPanel_pcbjf_154",jt="_desktopEpisodeActions_pcbjf_168",Ft="_sourceLoader_pcbjf_174",Dt="_episodeActions_pcbjf_187",Ot="_mobileEpisodeActions_pcbjf_201",qt="_episodeNavBtn_pcbjf_205",Ht="_primary_pcbjf_235",Wt="_secondary_pcbjf_245",zt="_episodePickerBtn_pcbjf_249",Vt="_queueCountdown_pcbjf_253",Kt="_speedBoostBadge_pcbjf_268",Ut="_videoContainer_pcbjf_299",Qt="_loadingOverlay_pcbjf_312",Gt="_loadingDots_pcbjf_326",Yt="_dot_pcbjf_331",Xt="_bounce_pcbjf_1",Jt="_bufferingOverlay_pcbjf_348",Zt="_bufferingSpinner_pcbjf_357",er="_spin_pcbjf_444",tr="_videoIframe_pcbjf_366",rr="_videoElementHidden_pcbjf_389",nr="_upscalerCanvas_pcbjf_394",sr="_upscalerActive_pcbjf_407",ar="_upscalerStatusBadge_pcbjf_411",or="_subtitleOverlay_pcbjf_426",ir="_spinner_pcbjf_444",cr="_errorOverlay_pcbjf_505",lr="_retryButton_pcbjf_515",dr="_detailsToggleBtn_pcbjf_528",ur="_descriptionSection_pcbjf_551",pr="_synopsisFlat_pcbjf_559",fr="_fullscreenActive_pcbjf_593",hr="_errorSubtext_pcbjf_636",Qn={controls:Ct,titleContainer:kt,scheduleInfo:xt,status:Tt,nextEpisode:Lt,watchlistBtn:Nt,inList:Pt,queueBtn:Bt,queueActive:Et,modeToggleBtn:At,modeToggleActive:$t,markWatchedBtn:It,markWatchedDone:Mt,streamPanel:Rt,desktopEpisodeActions:jt,sourceLoader:Ft,episodeActions:Dt,mobileEpisodeActions:Ot,episodeNavBtn:qt,primary:Ht,secondary:Wt,episodePickerBtn:zt,queueCountdown:Vt,speedBoostBadge:Kt,videoContainer:Ut,loadingOverlay:Qt,loadingDots:Gt,dot:Yt,bounce:Xt,bufferingOverlay:Jt,bufferingSpinner:Zt,spin:er,videoIframe:tr,videoElementHidden:rr,upscalerCanvas:nr,upscalerActive:sr,upscalerStatusBadge:ar,subtitleOverlay:or,spinner:ir,errorOverlay:cr,retryButton:lr,detailsToggleBtn:dr,descriptionSection:ur,synopsisFlat:pr,fullscreenActive:fr,errorSubtext:hr},mr="_playerPageLayout_13s1u_1",yr="_noSidebar_13s1u_15",br="_episodeSidebar_13s1u_19",gr="_playerMain_13s1u_32",_r="_videoPlayerWrapper_13s1u_40",vr="_playerInfoHeader_13s1u_56",Sr="_playerAnimeCard_13s1u_62",wr="_playerInfoContainer_13s1u_74",Cr="_infoColumns_13s1u_86",kr="_videoTitleSection_13s1u_114",xr="_theaterMode_13s1u_288",Gn={playerPageLayout:mr,noSidebar:yr,episodeSidebar:br,playerMain:gr,videoPlayerWrapper:_r,playerInfoHeader:vr,playerAnimeCard:Sr,playerInfoContainer:wr,infoColumns:Cr,videoTitleSection:kr,theaterMode:xr},Tr={fontSize:"subtitleFontSize",position:"subtitlePosition",bgOpacity:"subtitleBgOpacity",bgColor:"subtitleBgColor",textColor:"subtitleTextColor",edge:"subtitleEdge",bold:"subtitleBold"},U={fontSize:1.8,position:0,bgOpacity:.5,bgColor:"#000000",textColor:"#ffffff",edge:"shadow",bold:!1},fe=(e,r,s)=>Math.max(r,Math.min(s,e)),he=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),le=(e,r,s,o)=>{try{const n=M.getItem(e);if(n===null)return r;const i=parseFloat(n);return Number.isFinite(i)?fe(i,s,o):r}catch{return r}};function Lr(){let e=U.edge,r=U.bgColor,s=U.textColor,o=U.bold;try{const n=M.getItem("subtitleEdge");(n==="shadow"||n==="outline"||n==="none")&&(e=n);const i=M.getItem("subtitleBgColor");he(i)&&(r=i);const c=M.getItem("subtitleTextColor");he(c)&&(s=c);const p=M.getItem("subtitleBold");p!==null&&(o=p==="true")}catch{}return{fontSize:le("subtitleFontSize",U.fontSize,.5,10),position:le("subtitlePosition",U.position,0,100),bgOpacity:le("subtitleBgOpacity",U.bgOpacity,0,1),bgColor:r,textColor:s,edge:e,bold:o}}function We(e,r){const s=`rgba(0, 0, 0, ${fe(r,0,1)})`;if(!he(e))return s;const o=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),i=parseInt(e.slice(5,7),16);return`rgba(${o}, ${n}, ${i}, ${fe(r,0,1)})`}function ze(e,r){return e==="none"?r<=0?"0 1px 3px rgba(0, 0, 0, 0.9)":"none":e==="outline"?["-1px 0 0 black","1px 0 0 black","0 -1px 0 black","0 1px 0 black","-1px -1px 0 black","1px -1px 0 black","-1px 1px 0 black","1px 1px 0 black","0 0 6px rgba(0, 0, 0, 0.9)"].join(", "):"0 0 4px black, 0 1px 2px rgba(0, 0, 0, 0.8)"}function Yn(e){return`
2
2
  video::cue {
3
3
  font-size: ${e.fontSize}rem !important;
4
4
  color: ${e.textColor} !important;
@@ -33,7 +33,7 @@
33
33
  background-color: #0c0d12;
34
34
  }
35
35
  </style>
36
- <script type="module" crossorigin src="/assets/index-hnIW0p5l.js"></script>
36
+ <script type="module" crossorigin src="/assets/index-BR99iwWT.js"></script>
37
37
  <link rel="modulepreload" crossorigin href="/assets/vendor-core-DfaOB3Rn.js">
38
38
  <link rel="modulepreload" crossorigin href="/assets/vendor-query-BBT5_sHx.js">
39
39
  <link rel="modulepreload" crossorigin href="/assets/vendor-icons-DrybRNxP.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serifpersia/dango",
3
- "version": "3.8.2",
3
+ "version": "3.8.3",
4
4
  "description": "A web application for watching anime.",
5
5
  "main": "orchestrator.js",
6
6
  "repository": {
@@ -69,5 +69,5 @@
69
69
  "allowScripts": {
70
70
  "esbuild@0.28.2": true
71
71
  },
72
- "versionDate": "2026-10-28T19:38:12.421Z"
72
+ "versionDate": "2026-10-29T12:36:44.940Z"
73
73
  }