@serifpersia/dango 3.9.3 → 3.9.5

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 (53) hide show
  1. package/README.md +1 -1
  2. package/client/dist/assets/{AnimeCard-BOrGtplc.js → AnimeCard-Bxo3dYi6.js} +1 -1
  3. package/client/dist/assets/{AnimeInfo-C-PPfut4.js → AnimeInfo-BVfj052Q.js} +1 -1
  4. package/client/dist/assets/{AnimeInfoPage-BFY38gcp.js → AnimeInfoPage-V0Kmrgoa.js} +2 -2
  5. package/client/dist/assets/{Asmr-CRt4Q_2a.js → Asmr-C_uiD3nU.js} +2 -2
  6. package/client/dist/assets/{AsmrPopup-Bg0CeGCm.js → AsmrPopup-BqQpgR1K.js} +1 -1
  7. package/client/dist/assets/{AsmrResetProgressModal-ij785NHe.js → AsmrResetProgressModal-Csv4GiEL.js} +1 -1
  8. package/client/dist/assets/{Home-BFjoIVUt.js → Home-BVuZXbYG.js} +1 -1
  9. package/client/dist/assets/{Insights-Cd3fz8RQ.js → Insights-CzqiUsSq.js} +1 -1
  10. package/client/dist/assets/{LibraryListPage-BbSb5u6S.js → LibraryListPage-CIqBrHf2.js} +1 -1
  11. package/client/dist/assets/{ListeningList-CncJ_BUB.js → ListeningList-DBEOg6Pf.js} +1 -1
  12. package/client/dist/assets/{Manga-BBi76zXr.js → Manga-CMsgHNRo.js} +1 -1
  13. package/client/dist/assets/{MangaInfoPage-DgDDd23Z.js → MangaInfoPage-BtoWZDAH.js} +1 -1
  14. package/client/dist/assets/{MangaReadPage-DUxP_V9q.js → MangaReadPage-C5s5sOKl.js} +1 -1
  15. package/client/dist/assets/{MangaResetProgressModal-CdLYwWHZ.js → MangaResetProgressModal-BBIVaAVA.js} +1 -1
  16. package/client/dist/assets/{Mature-BACq3Kc4.js → Mature-C5nVO-pD.js} +1 -1
  17. package/client/dist/assets/{MatureConsentModal-yectlds9.js → MatureConsentModal-GDXcsFKz.js} +1 -1
  18. package/client/dist/assets/{MediaCard-CpvY5GuT.js → MediaCard-DMGlm3fW.js} +1 -1
  19. package/client/dist/assets/{OptionListMenu-BzRHsU6c.js → OptionListMenu-DpPePCh7.js} +1 -1
  20. package/client/dist/assets/{Player-c3ZtthSI.js → Player-CGfFv0_G.js} +2 -2
  21. package/client/dist/assets/{PlayerProvider-Bll6epmz.js → PlayerProvider-zJDJ7w2h.js} +1 -1
  22. package/client/dist/assets/{PlayerSettings-CjE5s-vS.js → PlayerSettings-B7FQWSSv.js} +1 -1
  23. package/client/dist/assets/{QueueOptionsButton-5UHmZLgC.js → QueueOptionsButton-C40FPjKy.js} +1 -1
  24. package/client/dist/assets/{QueueRail-o5cgpFg4.js → QueueRail-CCI5UE3V.js} +1 -1
  25. package/client/dist/assets/{ReadingList-Q1-e3_GW.js → ReadingList-CwbpzTqQ.js} +1 -1
  26. package/client/dist/assets/{ResetProgressModal-TMqEVVii.js → ResetProgressModal-CRmjBIiM.js} +1 -1
  27. package/client/dist/assets/{Search-ByFLr1Ki.js → Search-DqXagx5u.js} +1 -1
  28. package/client/dist/assets/{Settings-O0h8SHQu.js → Settings-DBZG18um.js} +1 -1
  29. package/client/dist/assets/{SkeletonGrid-DXPv28BD.js → SkeletonGrid-DSalPIgd.js} +1 -1
  30. package/client/dist/assets/{Trackers-DOnb92AU.js → Trackers-DPwyOrMr.js} +1 -1
  31. package/client/dist/assets/{Tv-CZleItJh.js → Tv-DkMAx_ki.js} +1 -1
  32. package/client/dist/assets/{TvInfo-DHSDQz21.js → TvInfo-C9qnEHLF.js} +1 -1
  33. package/client/dist/assets/{TvPopup-BCUEPv0r.js → TvPopup-DmQw1air.js} +1 -1
  34. package/client/dist/assets/{TvSearch-D_6kW_NT.js → TvSearch-Di-AdNgM.js} +1 -1
  35. package/client/dist/assets/{TvWatchlist-CyOlz9IC.js → TvWatchlist-CmW1Mevf.js} +1 -1
  36. package/client/dist/assets/{VirtualKeyboard-DhtUWsN_.js → VirtualKeyboard-CTTIG7Wy.js} +1 -1
  37. package/client/dist/assets/{WatchAlong-BE5l6tqm.js → WatchAlong-6Zw0uSo2.js} +1 -1
  38. package/client/dist/assets/{WatchAlongPanel-Brkp7UMD.js → WatchAlongPanel-CBk19tnW.js} +1 -1
  39. package/client/dist/assets/{Watchlist-JaLhOL0z.js → Watchlist-DLNTPzcr.js} +1 -1
  40. package/client/dist/assets/{index-CD7a-Eff.js → index-CuAIqL2m.js} +2 -2
  41. package/client/dist/assets/{libraryInvalidation-nAOuYLiR.js → libraryInvalidation-CXA8qvJE.js} +1 -1
  42. package/client/dist/assets/{playbackCompletion-BXBBtgdB.js → playbackCompletion-Dz5SRhiZ.js} +1 -1
  43. package/client/dist/assets/{useAnimeInfoData-rUxvbr-T.js → useAnimeInfoData-B3zX9ouO.js} +1 -1
  44. package/client/dist/assets/{useMangaLibrary-BEkb8jwc.js → useMangaLibrary-BN6UWIDi.js} +1 -1
  45. package/client/dist/assets/{useMangaPopup-DR3qXoYv.js → useMangaPopup-iiJ4p_Bv.js} +1 -1
  46. package/client/dist/assets/{useProviders-Cc8CTUYM.js → useProviders-D0h-Ecgo.js} +1 -1
  47. package/client/dist/assets/{useTv-de0-A2mW.js → useTv-CjT0wz2W.js} +1 -1
  48. package/client/dist/assets/{useTvLibrary-BsGpheKM.js → useTvLibrary-C5s5jt9x.js} +1 -1
  49. package/client/dist/assets/{useWatchAlongPlayer-BZs3033g.js → useWatchAlongPlayer-C1iSTWOt.js} +1 -1
  50. package/client/dist/index.html +1 -1
  51. package/package.json +2 -2
  52. package/server/dist/server.js +124 -124
  53. package/server/package.json +1 -1
@@ -1 +1 @@
1
- import{q as r}from"./index-CD7a-Eff.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-CuAIqL2m.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 s}from"./index-CD7a-Eff.js";const r=.8,o=5,a="autoplayEnabled",E="watchedOverlayEnabled",S=(t,e)=>e>0&&t>=e*r,c=new Set(["FINISHED","ENDED","COMPLETED","CANCELED","CANCELLED","RELEASED"]),d=t=>!!t&&c.has(t.trim().toUpperCase()),n=.25,h=(t,e)=>e>0&&Number.isFinite(e)&&t>=e-n,C=t=>t>o,D=()=>{try{return s.getItem(a)==="true"}catch{return!1}},O=t=>{try{s.setItem(a,String(t))}catch{}},i=()=>{try{return s.getItem(E)!=="false"}catch{return!0}},y=t=>{try{s.setItem(E,String(t))}catch{}};export{r as C,D as a,d as b,O as c,h as d,C as h,S as i,i as l,y as s};
1
+ import{p as s}from"./index-CuAIqL2m.js";const r=.8,o=5,a="autoplayEnabled",E="watchedOverlayEnabled",S=(t,e)=>e>0&&t>=e*r,c=new Set(["FINISHED","ENDED","COMPLETED","CANCELED","CANCELLED","RELEASED"]),d=t=>!!t&&c.has(t.trim().toUpperCase()),n=.25,h=(t,e)=>e>0&&Number.isFinite(e)&&t>=e-n,C=t=>t>o,D=()=>{try{return s.getItem(a)==="true"}catch{return!1}},O=t=>{try{s.setItem(a,String(t))}catch{}},i=()=>{try{return s.getItem(E)!=="false"}catch{return!0}},y=t=>{try{s.setItem(E,String(t))}catch{}};export{r as C,D as a,d as b,O as c,h as d,C as h,S as i,i as l,y 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{o as v,J as h,q as Q,t as y}from"./index-CD7a-Eff.js";import{u as A}from"./QueueOptionsButton-5UHmZLgC.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{o as v,J as h,q as Q,t as y}from"./index-CuAIqL2m.js";import{u as A}from"./QueueOptionsButton-C40FPjKy.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 d}from"./vendor-core-DfaOB3Rn.js";import{b as g,u as i,a as u}from"./vendor-query-BBT5_sHx.js";import{o as s,J as r,q as p}from"./index-CD7a-Eff.js";import{i as c}from"./libraryInvalidation-nAOuYLiR.js";const F=e=>e.contentRating==="erotica"||e.contentRating==="pornographic"||e.type==="doujinshi";function q(e,t){const a=e.titles??{};return t==="englishName"?a.en||e.title:t==="nativeName"&&(a.native||a.romaji||e.altTitle)||e.title}function C(e){return{englishName:e.titles?.en??e.title,nativeName:e.titles?.native??e.titles?.romaji??e.altTitle??void 0}}const y=/^anilist:ch:(\d+)$/;function P(e){if(!e)return null;const t=y.exec(e.trim());if(!t)return null;const a=Number.parseInt(t[1],10);return Number.isFinite(a)?a:null}function R(e,t){const a=String(t),n=e.find(m=>(m.number??"").trim()===a);return n||(e.find(m=>{const o=Number.parseFloat((m.number??"").trim());return Number.isFinite(o)&&o===t})??null)}const O=["Reading","Completed","On-Hold","Dropped","Planned"],v=(e,t)=>`${e.toLowerCase()}:${t}`,T=(e="All",t=1,a=24)=>{const n=s();return g(n.mangaLibrary.list.queryOptions({status:e,page:t,limit:a}))},b=()=>{const e=s();return g({...e.mangaLibrary.ids.queryOptions(),staleTime:1e3*60})},$=e=>{const t=s();return g({...t.mangaLibrary.check.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},E=e=>{const t=s();return g({...t.mangaLibrary.entry.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},Q=()=>{const e=s(),t=i();return u(e.mangaLibrary.link.mutationOptions({onSuccess:a=>{r.success(a?.progressMigrated?"Linked - chapter progress carried over":"Linked to AniList entry"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to link: ${a.message}`)}}))},N=(e=24)=>{const t=s();return g(t.mangaProgress.continueReading.queryOptions({limit:e}))},A=e=>{const t=s();return g({...t.mangaProgress.byManga.queryOptions({mangaId:e??""}),enabled:!!e})},L=()=>{const e=s(),t=i();return u(e.mangaLibrary.add.mutationOptions({onSuccess:(a,n)=>{n.silent||r.success("Bookmarked"),t.invalidateQueries(e.mangaLibrary.pathFilter()),t.invalidateQueries({queryKey:[p.mangaLibrary]})},onError:a=>{r.error(`Failed to bookmark: ${a.message}`)}}))},M=()=>{const e=s(),t=i();return u(e.mangaLibrary.remove.mutationOptions({onSuccess:()=>{r.success("Bookmark removed"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to remove: ${a.message}`)}}))},B=()=>{const e=s(),t=i();return u(e.mangaLibrary.setStatus.mutationOptions({onSuccess:()=>{r.success("Status updated"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to update status: ${a.message}`)}}))},I=()=>{const e=s(),t=i();return u(e.mangaProgress.save.mutationOptions({onSuccess:()=>{c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())}}))},_=()=>{const e=s(),t=i();return u(e.mangaProgress.remove.mutationOptions({onSuccess:()=>{r.success("Progress reset"),c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())},onError:a=>{r.error(`Failed to reset progress: ${a.message}`)}}))},j=()=>{const e=s(),t=i();return u(e.mangaLibrary.batchStatus.mutationOptions({onSuccess:a=>{r.success(`Status updated for ${a.updated??0} items`),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to update statuses: ${a.message}`)}}))},w=()=>{const e=s(),t=i();return u(e.mangaLibrary.removeMany.mutationOptions({onSuccess:a=>{const n=a.removed??0;r.success(`Removed ${n} ${n===1?"item":"items"} from reading list`),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to remove: ${a.message}`)}}))},x=()=>{const e=s(),t=i();return u(e.mangaProgress.removeMany.mutationOptions({onSuccess:a=>{const n=a.removed??0;r.success(`Reset progress for ${n} ${n===1?"item":"items"}`),c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())},onError:a=>{r.error(`Failed to reset progress: ${a.message}`)}}))},H=()=>{const e=L(),t=M(),{data:a}=b(),n=d(()=>new Set(a?.ids||[]),[a]);return{toggle:o=>{const l=v(o.provider,o.id);n.has(l)?t.mutate(l):e.mutate({provider:o.provider,mangaId:o.id,title:o.title,cover:o.cover,altTitle:o.altTitle,contentRating:o.contentRating})},bookmarkedIds:n,pending:e.isPending||t.isPending}};export{O as M,C as a,N as b,E as c,L as d,Q as e,$ as f,A as g,M as h,F as i,B as j,R as k,I as l,v as m,T as n,j as o,P as p,w as q,q as r,x as s,_ as t,H as u};
1
+ import{T as d}from"./vendor-core-DfaOB3Rn.js";import{b as g,u as i,a as u}from"./vendor-query-BBT5_sHx.js";import{o as s,J as r,q as p}from"./index-CuAIqL2m.js";import{i as c}from"./libraryInvalidation-CXA8qvJE.js";const F=e=>e.contentRating==="erotica"||e.contentRating==="pornographic"||e.type==="doujinshi";function q(e,t){const a=e.titles??{};return t==="englishName"?a.en||e.title:t==="nativeName"&&(a.native||a.romaji||e.altTitle)||e.title}function C(e){return{englishName:e.titles?.en??e.title,nativeName:e.titles?.native??e.titles?.romaji??e.altTitle??void 0}}const y=/^anilist:ch:(\d+)$/;function P(e){if(!e)return null;const t=y.exec(e.trim());if(!t)return null;const a=Number.parseInt(t[1],10);return Number.isFinite(a)?a:null}function R(e,t){const a=String(t),n=e.find(m=>(m.number??"").trim()===a);return n||(e.find(m=>{const o=Number.parseFloat((m.number??"").trim());return Number.isFinite(o)&&o===t})??null)}const O=["Reading","Completed","On-Hold","Dropped","Planned"],v=(e,t)=>`${e.toLowerCase()}:${t}`,T=(e="All",t=1,a=24)=>{const n=s();return g(n.mangaLibrary.list.queryOptions({status:e,page:t,limit:a}))},b=()=>{const e=s();return g({...e.mangaLibrary.ids.queryOptions(),staleTime:1e3*60})},$=e=>{const t=s();return g({...t.mangaLibrary.check.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},E=e=>{const t=s();return g({...t.mangaLibrary.entry.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},Q=()=>{const e=s(),t=i();return u(e.mangaLibrary.link.mutationOptions({onSuccess:a=>{r.success(a?.progressMigrated?"Linked - chapter progress carried over":"Linked to AniList entry"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to link: ${a.message}`)}}))},N=(e=24)=>{const t=s();return g(t.mangaProgress.continueReading.queryOptions({limit:e}))},A=e=>{const t=s();return g({...t.mangaProgress.byManga.queryOptions({mangaId:e??""}),enabled:!!e})},L=()=>{const e=s(),t=i();return u(e.mangaLibrary.add.mutationOptions({onSuccess:(a,n)=>{n.silent||r.success("Bookmarked"),t.invalidateQueries(e.mangaLibrary.pathFilter()),t.invalidateQueries({queryKey:[p.mangaLibrary]})},onError:a=>{r.error(`Failed to bookmark: ${a.message}`)}}))},M=()=>{const e=s(),t=i();return u(e.mangaLibrary.remove.mutationOptions({onSuccess:()=>{r.success("Bookmark removed"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to remove: ${a.message}`)}}))},B=()=>{const e=s(),t=i();return u(e.mangaLibrary.setStatus.mutationOptions({onSuccess:()=>{r.success("Status updated"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to update status: ${a.message}`)}}))},I=()=>{const e=s(),t=i();return u(e.mangaProgress.save.mutationOptions({onSuccess:()=>{c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())}}))},_=()=>{const e=s(),t=i();return u(e.mangaProgress.remove.mutationOptions({onSuccess:()=>{r.success("Progress reset"),c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())},onError:a=>{r.error(`Failed to reset progress: ${a.message}`)}}))},j=()=>{const e=s(),t=i();return u(e.mangaLibrary.batchStatus.mutationOptions({onSuccess:a=>{r.success(`Status updated for ${a.updated??0} items`),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to update statuses: ${a.message}`)}}))},w=()=>{const e=s(),t=i();return u(e.mangaLibrary.removeMany.mutationOptions({onSuccess:a=>{const n=a.removed??0;r.success(`Removed ${n} ${n===1?"item":"items"} from reading list`),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to remove: ${a.message}`)}}))},x=()=>{const e=s(),t=i();return u(e.mangaProgress.removeMany.mutationOptions({onSuccess:a=>{const n=a.removed??0;r.success(`Reset progress for ${n} ${n===1?"item":"items"}`),c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())},onError:a=>{r.error(`Failed to reset progress: ${a.message}`)}}))},H=()=>{const e=L(),t=M(),{data:a}=b(),n=d(()=>new Set(a?.ids||[]),[a]);return{toggle:o=>{const l=v(o.provider,o.id);n.has(l)?t.mutate(l):e.mutate({provider:o.provider,mangaId:o.id,title:o.title,cover:o.cover,altTitle:o.altTitle,contentRating:o.contentRating})},bookmarkedIds:n,pending:e.isPending||t.isPending}};export{O as M,C as a,N as b,E as c,L as d,Q as e,$ as f,A as g,M as h,F as i,B as j,R as k,I as l,v as m,T as n,j as o,P as p,w as q,q as r,x as s,_ as t,H as u};
@@ -1 +1 @@
1
- import{u as T}from"./vendor-core-DfaOB3Rn.js";import{ag as d,d as k}from"./index-CD7a-Eff.js";import{r as y}from"./useMangaLibrary-BEkb8jwc.js";import{a as h}from"./MediaCard-CpvY5GuT.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}=d(e.provider,e.mangaId,e.rating||"safe",e.mature||!1),{titlePreference:g}=k(),s=o?.chapters.length??0,a=y({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 T(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 T}from"./vendor-core-DfaOB3Rn.js";import{ag as d,d as k}from"./index-CuAIqL2m.js";import{r as y}from"./useMangaLibrary-BN6UWIDi.js";import{a as h}from"./MediaCard-DMGlm3fW.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}=d(e.provider,e.mangaId,e.rating||"safe",e.mature||!1),{titlePreference:g}=k(),s=o?.chapters.length??0,a=y({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 T(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,S as n}from"./index-CD7a-Eff.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,S as n}from"./index-CuAIqL2m.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-CpvY5GuT.js";import{T as g}from"./TvPopup-BCUEPv0r.js";import{k as m,j as f,o as i}from"./index-CD7a-Eff.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:y,page:l}=e;return u({...a.tv.search.queryOptions({q:s?.trim()||"",type:n||"multi",genre:t||"",year:r&&r!=="ALL"?r:"",sortBy:y||"popularity.desc",page:l||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-DMGlm3fW.js";import{T as g}from"./TvPopup-DmQw1air.js";import{k as m,j as f,o as i}from"./index-CuAIqL2m.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:y,page:l}=e;return u({...a.tv.search.queryOptions({q:s?.trim()||"",type:n||"multi",genre:t||"",year:r&&r!=="ALL"?r:"",sortBy:y||"popularity.desc",page:l||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{o as a,J as o,q as m,t as y,ak as g}from"./index-CD7a-Eff.js";import{i as u}from"./libraryInvalidation-nAOuYLiR.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}`)}})},L=()=>{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=L(),{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,L 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{o as a,J as o,q as m,t as y,ak as g}from"./index-CuAIqL2m.js";import{i as u}from"./libraryInvalidation-CXA8qvJE.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}`)}})},L=()=>{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=L(),{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,L 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 C,q as A,h as F,d as P,T as te,$ as ct}from"./vendor-core-DfaOB3Rn.js";import{p as M,al as lt,Q as He,B as X,a3 as se,o as dt,am as Re,q as U,ac as ut,t as pt,h as ht,a6 as ft,an as Fe,ao as mt}from"./index-CD7a-Eff.js";import{I as j}from"./vendor-icons-DrybRNxP.js";import{S as De,a as gt,s as G,f as We,m as yt,h as _t,d as bt,k as vt,u as St,n as ie}from"./PlayerProvider-Bll6epmz.js";import{u as wt}from"./vendor-query-BBT5_sHx.js";import{i as ce,d as Ct}from"./playbackCompletion-BXBBtgdB.js";const kt="_controls_1ne4g_1",xt="_titleContainer_1ne4g_9",Tt="_scheduleInfo_1ne4g_15",Nt="_status_1ne4g_23",Lt="_nextEpisode_1ne4g_35",Pt="_watchlistBtn_1ne4g_45",Bt="_inList_1ne4g_73",At="_queueBtn_1ne4g_84",Et="_queueActive_1ne4g_96",$t="_modeToggleBtn_1ne4g_102",It="_modeToggleActive_1ne4g_109",Mt="_markWatchedBtn_1ne4g_130",Rt="_markWatchedDone_1ne4g_144",Ft="_streamPanel_1ne4g_155",Dt="_desktopEpisodeActions_1ne4g_169",Ot="_sourceLoader_1ne4g_175",qt="_episodeActions_1ne4g_188",Ht="_mobileEpisodeActions_1ne4g_202",Wt="_episodeNavBtn_1ne4g_206",zt="_primary_1ne4g_235",Vt="_secondary_1ne4g_245",Kt="_episodePickerBtn_1ne4g_249",Ut="_queueCountdown_1ne4g_253",Qt="_speedBoostBadge_1ne4g_268",Gt="_videoContainer_1ne4g_299",jt="_loadingOverlay_1ne4g_312",Yt="_loadingDots_1ne4g_326",Xt="_dot_1ne4g_331",Jt="_bounce_1ne4g_1",Zt="_bufferingOverlay_1ne4g_348",en="_bufferingSpinner_1ne4g_357",tn="_spin_1ne4g_459",nn="_videoIframe_1ne4g_381",rn="_videoElementHidden_1ne4g_404",sn="_upscalerCanvas_1ne4g_409",an="_upscalerActive_1ne4g_422",on="_upscalerStatusBadge_1ne4g_426",cn="_subtitleOverlay_1ne4g_441",ln="_spinner_1ne4g_459",dn="_errorOverlay_1ne4g_526",un="_retryButton_1ne4g_536",pn="_detailsToggleBtn_1ne4g_549",hn="_descriptionSection_1ne4g_572",fn="_synopsisFlat_1ne4g_580",mn="_fullscreenActive_1ne4g_614",gn="_errorSubtext_1ne4g_657",yn="_watchedOverlay_1ne4g_680",_n="_watchedTitle_1ne4g_702",bn="_watchedSubtext_1ne4g_708",vn="_watchedActions_1ne4g_714",Sn="_watchedActionsCentered_1ne4g_732",es={controls:kt,titleContainer:xt,scheduleInfo:Tt,status:Nt,nextEpisode:Lt,watchlistBtn:Pt,inList:Bt,queueBtn:At,queueActive:Et,modeToggleBtn:$t,modeToggleActive:It,markWatchedBtn:Mt,markWatchedDone:Rt,streamPanel:Ft,desktopEpisodeActions:Dt,sourceLoader:Ot,episodeActions:qt,mobileEpisodeActions:Ht,episodeNavBtn:Wt,primary:zt,secondary:Vt,episodePickerBtn:Kt,queueCountdown:Ut,speedBoostBadge:Qt,videoContainer:Gt,loadingOverlay:jt,loadingDots:Yt,dot:Xt,bounce:Jt,bufferingOverlay:Zt,bufferingSpinner:en,spin:tn,videoIframe:nn,videoElementHidden:rn,upscalerCanvas:sn,upscalerActive:an,upscalerStatusBadge:on,subtitleOverlay:cn,spinner:ln,errorOverlay:dn,retryButton:un,detailsToggleBtn:pn,descriptionSection:hn,synopsisFlat:fn,fullscreenActive:mn,errorSubtext:gn,watchedOverlay:yn,watchedTitle:_n,watchedSubtext:bn,watchedActions:vn,watchedActionsCentered:Sn},wn="_playerPageLayout_1rxx0_1",Cn="_noSidebar_1rxx0_15",kn="_episodeSidebar_1rxx0_19",xn="_playerMain_1rxx0_32",Tn="_videoPlayerWrapper_1rxx0_40",Nn="_playerInfoHeader_1rxx0_56",Ln="_playerAnimeCard_1rxx0_62",Pn="_playerInfoContainer_1rxx0_74",Bn="_infoColumns_1rxx0_104",An="_videoTitleSection_1rxx0_134",En="_theaterMode_1rxx0_308",ts={playerPageLayout:wn,noSidebar:Cn,episodeSidebar:kn,playerMain:xn,videoPlayerWrapper:Tn,playerInfoHeader:Nn,playerAnimeCard:Ln,playerInfoContainer:Pn,infoColumns:Bn,videoTitleSection:An,theaterMode:En},$n={fontSize:"subtitleFontSize",position:"subtitlePosition",bgOpacity:"subtitleBgOpacity",bgColor:"subtitleBgColor",textColor:"subtitleTextColor",edge:"subtitleEdge",bold:"subtitleBold"},Q={fontSize:1.8,position:0,bgOpacity:.5,bgColor:"#000000",textColor:"#ffffff",edge:"shadow",bold:!1},he=(e,n,s)=>Math.max(n,Math.min(s,e)),fe=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),le=(e,n,s,o)=>{try{const r=M.getItem(e);if(r===null)return n;const i=parseFloat(r);return Number.isFinite(i)?he(i,s,o):n}catch{return n}};function In(){let e=Q.edge,n=Q.bgColor,s=Q.textColor,o=Q.bold;try{const r=M.getItem("subtitleEdge");(r==="shadow"||r==="outline"||r==="none")&&(e=r);const i=M.getItem("subtitleBgColor");fe(i)&&(n=i);const c=M.getItem("subtitleTextColor");fe(c)&&(s=c);const p=M.getItem("subtitleBold");p!==null&&(o=p==="true")}catch{}return{fontSize:le("subtitleFontSize",Q.fontSize,.5,10),position:le("subtitlePosition",Q.position,0,100),bgOpacity:le("subtitleBgOpacity",Q.bgOpacity,0,1),bgColor:n,textColor:s,edge:e,bold:o}}function ze(e,n){const s=`rgba(0, 0, 0, ${he(n,0,1)})`;if(!fe(e))return s;const o=parseInt(e.slice(1,3),16),r=parseInt(e.slice(3,5),16),i=parseInt(e.slice(5,7),16);return`rgba(${o}, ${r}, ${i}, ${he(n,0,1)})`}function Ve(e,n){return e==="none"?n<=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 ns(e){return`
1
+ import{u as t,A as C,q as A,h as F,d as P,T as te,$ as ct}from"./vendor-core-DfaOB3Rn.js";import{p as M,al as lt,Q as He,B as X,a3 as se,o as dt,am as Re,q as U,ac as ut,t as pt,h as ht,a6 as ft,an as Fe,ao as mt}from"./index-CuAIqL2m.js";import{I as j}from"./vendor-icons-DrybRNxP.js";import{S as De,a as gt,s as G,f as We,m as yt,h as _t,d as bt,k as vt,u as St,n as ie}from"./PlayerProvider-zJDJ7w2h.js";import{u as wt}from"./vendor-query-BBT5_sHx.js";import{i as ce,d as Ct}from"./playbackCompletion-Dz5SRhiZ.js";const kt="_controls_1ne4g_1",xt="_titleContainer_1ne4g_9",Tt="_scheduleInfo_1ne4g_15",Nt="_status_1ne4g_23",Lt="_nextEpisode_1ne4g_35",Pt="_watchlistBtn_1ne4g_45",Bt="_inList_1ne4g_73",At="_queueBtn_1ne4g_84",Et="_queueActive_1ne4g_96",$t="_modeToggleBtn_1ne4g_102",It="_modeToggleActive_1ne4g_109",Mt="_markWatchedBtn_1ne4g_130",Rt="_markWatchedDone_1ne4g_144",Ft="_streamPanel_1ne4g_155",Dt="_desktopEpisodeActions_1ne4g_169",Ot="_sourceLoader_1ne4g_175",qt="_episodeActions_1ne4g_188",Ht="_mobileEpisodeActions_1ne4g_202",Wt="_episodeNavBtn_1ne4g_206",zt="_primary_1ne4g_235",Vt="_secondary_1ne4g_245",Kt="_episodePickerBtn_1ne4g_249",Ut="_queueCountdown_1ne4g_253",Qt="_speedBoostBadge_1ne4g_268",Gt="_videoContainer_1ne4g_299",jt="_loadingOverlay_1ne4g_312",Yt="_loadingDots_1ne4g_326",Xt="_dot_1ne4g_331",Jt="_bounce_1ne4g_1",Zt="_bufferingOverlay_1ne4g_348",en="_bufferingSpinner_1ne4g_357",tn="_spin_1ne4g_459",nn="_videoIframe_1ne4g_381",rn="_videoElementHidden_1ne4g_404",sn="_upscalerCanvas_1ne4g_409",an="_upscalerActive_1ne4g_422",on="_upscalerStatusBadge_1ne4g_426",cn="_subtitleOverlay_1ne4g_441",ln="_spinner_1ne4g_459",dn="_errorOverlay_1ne4g_526",un="_retryButton_1ne4g_536",pn="_detailsToggleBtn_1ne4g_549",hn="_descriptionSection_1ne4g_572",fn="_synopsisFlat_1ne4g_580",mn="_fullscreenActive_1ne4g_614",gn="_errorSubtext_1ne4g_657",yn="_watchedOverlay_1ne4g_680",_n="_watchedTitle_1ne4g_702",bn="_watchedSubtext_1ne4g_708",vn="_watchedActions_1ne4g_714",Sn="_watchedActionsCentered_1ne4g_732",es={controls:kt,titleContainer:xt,scheduleInfo:Tt,status:Nt,nextEpisode:Lt,watchlistBtn:Pt,inList:Bt,queueBtn:At,queueActive:Et,modeToggleBtn:$t,modeToggleActive:It,markWatchedBtn:Mt,markWatchedDone:Rt,streamPanel:Ft,desktopEpisodeActions:Dt,sourceLoader:Ot,episodeActions:qt,mobileEpisodeActions:Ht,episodeNavBtn:Wt,primary:zt,secondary:Vt,episodePickerBtn:Kt,queueCountdown:Ut,speedBoostBadge:Qt,videoContainer:Gt,loadingOverlay:jt,loadingDots:Yt,dot:Xt,bounce:Jt,bufferingOverlay:Zt,bufferingSpinner:en,spin:tn,videoIframe:nn,videoElementHidden:rn,upscalerCanvas:sn,upscalerActive:an,upscalerStatusBadge:on,subtitleOverlay:cn,spinner:ln,errorOverlay:dn,retryButton:un,detailsToggleBtn:pn,descriptionSection:hn,synopsisFlat:fn,fullscreenActive:mn,errorSubtext:gn,watchedOverlay:yn,watchedTitle:_n,watchedSubtext:bn,watchedActions:vn,watchedActionsCentered:Sn},wn="_playerPageLayout_1rxx0_1",Cn="_noSidebar_1rxx0_15",kn="_episodeSidebar_1rxx0_19",xn="_playerMain_1rxx0_32",Tn="_videoPlayerWrapper_1rxx0_40",Nn="_playerInfoHeader_1rxx0_56",Ln="_playerAnimeCard_1rxx0_62",Pn="_playerInfoContainer_1rxx0_74",Bn="_infoColumns_1rxx0_104",An="_videoTitleSection_1rxx0_134",En="_theaterMode_1rxx0_308",ts={playerPageLayout:wn,noSidebar:Cn,episodeSidebar:kn,playerMain:xn,videoPlayerWrapper:Tn,playerInfoHeader:Nn,playerAnimeCard:Ln,playerInfoContainer:Pn,infoColumns:Bn,videoTitleSection:An,theaterMode:En},$n={fontSize:"subtitleFontSize",position:"subtitlePosition",bgOpacity:"subtitleBgOpacity",bgColor:"subtitleBgColor",textColor:"subtitleTextColor",edge:"subtitleEdge",bold:"subtitleBold"},Q={fontSize:1.8,position:0,bgOpacity:.5,bgColor:"#000000",textColor:"#ffffff",edge:"shadow",bold:!1},he=(e,n,s)=>Math.max(n,Math.min(s,e)),fe=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),le=(e,n,s,o)=>{try{const r=M.getItem(e);if(r===null)return n;const i=parseFloat(r);return Number.isFinite(i)?he(i,s,o):n}catch{return n}};function In(){let e=Q.edge,n=Q.bgColor,s=Q.textColor,o=Q.bold;try{const r=M.getItem("subtitleEdge");(r==="shadow"||r==="outline"||r==="none")&&(e=r);const i=M.getItem("subtitleBgColor");fe(i)&&(n=i);const c=M.getItem("subtitleTextColor");fe(c)&&(s=c);const p=M.getItem("subtitleBold");p!==null&&(o=p==="true")}catch{}return{fontSize:le("subtitleFontSize",Q.fontSize,.5,10),position:le("subtitlePosition",Q.position,0,100),bgOpacity:le("subtitleBgOpacity",Q.bgOpacity,0,1),bgColor:n,textColor:s,edge:e,bold:o}}function ze(e,n){const s=`rgba(0, 0, 0, ${he(n,0,1)})`;if(!fe(e))return s;const o=parseInt(e.slice(1,3),16),r=parseInt(e.slice(3,5),16),i=parseInt(e.slice(5,7),16);return`rgba(${o}, ${r}, ${i}, ${he(n,0,1)})`}function Ve(e,n){return e==="none"?n<=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 ns(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-CD7a-Eff.js"></script>
36
+ <script type="module" crossorigin src="/assets/index-CuAIqL2m.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.9.3",
3
+ "version": "3.9.5",
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-11-03T20:34:27.659Z"
72
+ "versionDate": "2026-11-04T14:08:25.295Z"
73
73
  }