@serifpersia/dango 4.0.6 → 4.0.7

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 (55) hide show
  1. package/README.md +1 -1
  2. package/client/dist/assets/{AnimeCard-ZMgtR741.js → AnimeCard-CcvD-9Bi.js} +1 -1
  3. package/client/dist/assets/{AnimeInfo-CmDzxK-x.js → AnimeInfo-t3qfap0B.js} +1 -1
  4. package/client/dist/assets/{AnimeInfoPage-BtMHG64S.js → AnimeInfoPage-D3vtcWL7.js} +2 -2
  5. package/client/dist/assets/Asmr-GHxClLoM.js +2 -0
  6. package/client/dist/assets/{AsmrPopup-ER6dDxFM.js → AsmrPopup-Bt7wZkV8.js} +1 -1
  7. package/client/dist/assets/{AsmrResetProgressModal-CmDqGKma.js → AsmrResetProgressModal-Di6VgAZx.js} +1 -1
  8. package/client/dist/assets/{Home-CWsXJfHc.js → Home-C9caLBqU.js} +1 -1
  9. package/client/dist/assets/{Insights-Dlu3LypY.js → Insights-B-jf5_UY.js} +1 -1
  10. package/client/dist/assets/{LibraryListPage-L4Lyt1BV.js → LibraryListPage-B5q00Vno.js} +1 -1
  11. package/client/dist/assets/{ListeningList-CEiZWAUS.js → ListeningList-BNUrMPyA.js} +1 -1
  12. package/client/dist/assets/{Manga-CazCyWIh.js → Manga-SYhXSYV_.js} +1 -1
  13. package/client/dist/assets/{MangaInfoPage-8ZsayGOJ.js → MangaInfoPage-CsGcpQ4g.js} +1 -1
  14. package/client/dist/assets/{MangaReadPage-CG59Zuhi.js → MangaReadPage-B0BKdQeU.js} +1 -1
  15. package/client/dist/assets/{MangaResetProgressModal-CmIGgwJc.js → MangaResetProgressModal-8Q_Jp8Tk.js} +1 -1
  16. package/client/dist/assets/{Mature-Dw4DVRVT.js → Mature-DtyWIW42.js} +1 -1
  17. package/client/dist/assets/{MatureConsentModal-CBGHgiBA.js → MatureConsentModal-DoPl5ONK.js} +1 -1
  18. package/client/dist/assets/MediaCard-Ce90T0yC.js +1 -0
  19. package/client/dist/assets/{OptionListMenu-BdiwBX1S.js → OptionListMenu-CHqo2pTO.js} +1 -1
  20. package/client/dist/assets/{Player-DJSkQVjM.js → Player-CYrY9dNs.js} +2 -2
  21. package/client/dist/assets/{PlayerProvider-C6humJW5.js → PlayerProvider-CjctET1A.js} +1 -1
  22. package/client/dist/assets/{PlayerSettings-C3MmSKgQ.js → PlayerSettings-uDMPYAlP.js} +1 -1
  23. package/client/dist/assets/{PlayerSurface-C0SuP9xJ.js → PlayerSurface-B_rgFBYD.js} +1 -1
  24. package/client/dist/assets/{QueueOptionsButton-C1o8UacJ.js → QueueOptionsButton-BHkP1DB_.js} +1 -1
  25. package/client/dist/assets/{QueueRail-Dj_zPCND.js → QueueRail-CxtCW4xn.js} +1 -1
  26. package/client/dist/assets/{ReadingList-CMo85dG4.js → ReadingList-C0hu5BhB.js} +1 -1
  27. package/client/dist/assets/{ResetProgressModal-udBYaYWc.js → ResetProgressModal-CncQLVw1.js} +1 -1
  28. package/client/dist/assets/{Search-vE5ITchW.js → Search-J3jIU8gd.js} +1 -1
  29. package/client/dist/assets/{Settings-DTdakL-f.js → Settings-B8jClutS.js} +1 -1
  30. package/client/dist/assets/{SkeletonGrid-CKVHMLEB.js → SkeletonGrid-zCAxRZIz.js} +1 -1
  31. package/client/dist/assets/{Trackers-Cbuzzhap.js → Trackers-DTlCK6Gw.js} +1 -1
  32. package/client/dist/assets/{Tv-z-RzIer_.js → Tv-CnahgiVt.js} +1 -1
  33. package/client/dist/assets/{TvInfo-DBdRrmSJ.js → TvInfo-Co-CnIbQ.js} +1 -1
  34. package/client/dist/assets/{TvPopup-C_TEPZqV.js → TvPopup-Ci4SXMWf.js} +1 -1
  35. package/client/dist/assets/{TvSearch-DhZt3CXR.js → TvSearch-dkkP831q.js} +1 -1
  36. package/client/dist/assets/{TvWatchlist-Dg7X14X1.js → TvWatchlist-CTxHqUB9.js} +1 -1
  37. package/client/dist/assets/{VirtualKeyboard-BkfL6fYx.js → VirtualKeyboard-ClY9H0vl.js} +1 -1
  38. package/client/dist/assets/{WatchAlong-D-Wdl6L6.js → WatchAlong-RAJe62YS.js} +1 -1
  39. package/client/dist/assets/{WatchAlongPanel-BtiB_ErQ.js → WatchAlongPanel-G2j2eopw.js} +1 -1
  40. package/client/dist/assets/{Watchlist-DFXVM31Q.js → Watchlist-D8prt4l1.js} +1 -1
  41. package/client/dist/assets/index-BOJFs4B4.js +180 -0
  42. package/client/dist/assets/{libraryInvalidation-DWCCaTbI.js → libraryInvalidation-1xwHWgGv.js} +1 -1
  43. package/client/dist/assets/{playbackCompletion-DzRc-CrM.js → playbackCompletion-BpEGpC-Z.js} +1 -1
  44. package/client/dist/assets/{useAnimeInfoData-Di0AjMa7.js → useAnimeInfoData-CvV6vRjn.js} +1 -1
  45. package/client/dist/assets/{useMangaLibrary-DQvZO29f.js → useMangaLibrary-OgS0RRdO.js} +1 -1
  46. package/client/dist/assets/{useMangaPopup-BiaJvL8C.js → useMangaPopup-Eyed-Gg3.js} +1 -1
  47. package/client/dist/assets/{useTv-Daayom0r.js → useTv-SLXsIWFQ.js} +1 -1
  48. package/client/dist/assets/{useTvLibrary-7zDxMjFz.js → useTvLibrary-F0S6WnwD.js} +1 -1
  49. package/client/dist/assets/{useWatchAlongPlayer-BNJCb3D5.js → useWatchAlongPlayer-D-fPdbp2.js} +1 -1
  50. package/client/dist/index.html +1 -1
  51. package/package.json +2 -2
  52. package/server/package.json +1 -1
  53. package/client/dist/assets/Asmr-Ct7Pp0i7.js +0 -2
  54. package/client/dist/assets/MediaCard-Bd24Icus.js +0 -1
  55. package/client/dist/assets/index-hrS3r0UE.js +0 -179
@@ -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{r as v,L as h,q as Q,t as y}from"./index-hrS3r0UE.js";import{u as A}from"./QueueOptionsButton-C1o8UacJ.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{r as v,L as h,q as Q,t as y}from"./index-BOJFs4B4.js";import{u as A}from"./QueueOptionsButton-BHkP1DB_.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{r as s,L as r,q as p}from"./index-hrS3r0UE.js";import{i as c}from"./libraryInvalidation-DWCCaTbI.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{r as s,L as r,q as p}from"./index-BOJFs4B4.js";import{i as c}from"./libraryInvalidation-1xwHWgGv.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{ae as d,d as k}from"./index-hrS3r0UE.js";import{r as y}from"./useMangaLibrary-DQvZO29f.js";import{a as h}from"./MediaCard-Bd24Icus.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{ae as d,d as k}from"./index-BOJFs4B4.js";import{r as y}from"./useMangaLibrary-OgS0RRdO.js";import{a as h}from"./MediaCard-Ce90T0yC.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{N as c,u as o,S as d}from"./vendor-core-DfaOB3Rn.js";import{I as v}from"./vendor-icons-C1Pj_eSX.js";import{M as T}from"./MediaCard-Bd24Icus.js";import{T as g}from"./TvPopup-C_TEPZqV.js";import{l as m,k as f,r as i}from"./index-hrS3r0UE.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-C1Pj_eSX.js";import{M as T}from"./MediaCard-Ce90T0yC.js";import{T as g}from"./TvPopup-Ci4SXMWf.js";import{l as m,k as f,r as i}from"./index-BOJFs4B4.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{r as a,L as o,q as m,t as y,ai as g}from"./index-hrS3r0UE.js";import{i as u}from"./libraryInvalidation-DWCCaTbI.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{r as a,L as o,q as m,t as y,ai as g}from"./index-BOJFs4B4.js";import{i as u}from"./libraryInvalidation-1xwHWgGv.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,d as T,A as x,T as ee,h as O,$ as at,q as P}from"./vendor-core-DfaOB3Rn.js";import{p as I,aj as ot,S as Oe,B as Y,F as it,a5 as re,r as ct,ak as Re,q as U,ab as lt,t as dt,i as ut,a7 as pt,al as Me,am as ft}from"./index-hrS3r0UE.js";import{I as j}from"./vendor-icons-C1Pj_eSX.js";import{s as ae,u as ht,d as mt,m as oe}from"./PlayerProvider-C6humJW5.js";import{u as gt}from"./vendor-query-BBT5_sHx.js";import{i as ie,d as yt}from"./playbackCompletion-DzRc-CrM.js";const _t="_controls_1ne4g_1",bt="_titleContainer_1ne4g_9",vt="_scheduleInfo_1ne4g_15",wt="_status_1ne4g_23",St="_nextEpisode_1ne4g_35",Ct="_watchlistBtn_1ne4g_45",xt="_inList_1ne4g_73",kt="_queueBtn_1ne4g_84",Lt="_queueActive_1ne4g_96",Tt="_modeToggleBtn_1ne4g_102",Nt="_modeToggleActive_1ne4g_109",At="_markWatchedBtn_1ne4g_130",Et="_markWatchedDone_1ne4g_144",Bt="_streamPanel_1ne4g_155",Pt="_desktopEpisodeActions_1ne4g_169",It="_sourceLoader_1ne4g_175",$t="_episodeActions_1ne4g_188",Rt="_mobileEpisodeActions_1ne4g_202",Mt="_episodeNavBtn_1ne4g_206",Dt="_primary_1ne4g_235",Ft="_secondary_1ne4g_245",Ot="_episodePickerBtn_1ne4g_249",qt="_queueCountdown_1ne4g_253",zt="_speedBoostBadge_1ne4g_268",Wt="_videoContainer_1ne4g_299",Ht="_loadingOverlay_1ne4g_312",Vt="_loadingDots_1ne4g_326",Kt="_dot_1ne4g_331",Ut="_bounce_1ne4g_1",Qt="_bufferingOverlay_1ne4g_348",jt="_bufferingSpinner_1ne4g_357",Gt="_spin_1ne4g_459",Yt="_videoIframe_1ne4g_381",Xt="_videoElementHidden_1ne4g_404",Jt="_upscalerCanvas_1ne4g_409",Zt="_upscalerActive_1ne4g_422",en="_upscalerStatusBadge_1ne4g_426",tn="_subtitleOverlay_1ne4g_441",nn="_spinner_1ne4g_459",rn="_errorOverlay_1ne4g_526",sn="_retryButton_1ne4g_536",an="_detailsToggleBtn_1ne4g_549",on="_descriptionSection_1ne4g_572",cn="_synopsisFlat_1ne4g_580",ln="_fullscreenActive_1ne4g_614",dn="_errorSubtext_1ne4g_657",un="_watchedOverlay_1ne4g_680",pn="_watchedTitle_1ne4g_702",fn="_watchedSubtext_1ne4g_708",hn="_watchedActions_1ne4g_714",mn="_watchedActionsCentered_1ne4g_732",Vr={controls:_t,titleContainer:bt,scheduleInfo:vt,status:wt,nextEpisode:St,watchlistBtn:Ct,inList:xt,queueBtn:kt,queueActive:Lt,modeToggleBtn:Tt,modeToggleActive:Nt,markWatchedBtn:At,markWatchedDone:Et,streamPanel:Bt,desktopEpisodeActions:Pt,sourceLoader:It,episodeActions:$t,mobileEpisodeActions:Rt,episodeNavBtn:Mt,primary:Dt,secondary:Ft,episodePickerBtn:Ot,queueCountdown:qt,speedBoostBadge:zt,videoContainer:Wt,loadingOverlay:Ht,loadingDots:Vt,dot:Kt,bounce:Ut,bufferingOverlay:Qt,bufferingSpinner:jt,spin:Gt,videoIframe:Yt,videoElementHidden:Xt,upscalerCanvas:Jt,upscalerActive:Zt,upscalerStatusBadge:en,subtitleOverlay:tn,spinner:nn,errorOverlay:rn,retryButton:sn,detailsToggleBtn:an,descriptionSection:on,synopsisFlat:cn,fullscreenActive:ln,errorSubtext:dn,watchedOverlay:un,watchedTitle:pn,watchedSubtext:fn,watchedActions:hn,watchedActionsCentered:mn},gn="_playerPageLayout_1rxx0_1",yn="_noSidebar_1rxx0_15",_n="_episodeSidebar_1rxx0_19",bn="_playerMain_1rxx0_32",vn="_videoPlayerWrapper_1rxx0_40",wn="_playerInfoHeader_1rxx0_56",Sn="_playerAnimeCard_1rxx0_62",Cn="_playerInfoContainer_1rxx0_74",xn="_infoColumns_1rxx0_104",kn="_videoTitleSection_1rxx0_134",Ln="_theaterMode_1rxx0_308",Kr={playerPageLayout:gn,noSidebar:yn,episodeSidebar:_n,playerMain:bn,videoPlayerWrapper:vn,playerInfoHeader:wn,playerAnimeCard:Sn,playerInfoContainer:Cn,infoColumns:xn,videoTitleSection:kn,theaterMode:Ln},Tn={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},pe=(e,n,s)=>Math.max(n,Math.min(s,e)),fe=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),ce=(e,n,s,o)=>{try{const r=I.getItem(e);if(r===null)return n;const i=parseFloat(r);return Number.isFinite(i)?pe(i,s,o):n}catch{return n}};function Nn(){let e=Q.edge,n=Q.bgColor,s=Q.textColor,o=Q.bold;try{const r=I.getItem("subtitleEdge");(r==="shadow"||r==="outline"||r==="none")&&(e=r);const i=I.getItem("subtitleBgColor");fe(i)&&(n=i);const c=I.getItem("subtitleTextColor");fe(c)&&(s=c);const u=I.getItem("subtitleBold");u!==null&&(o=u==="true")}catch{}return{fontSize:ce("subtitleFontSize",Q.fontSize,.5,10),position:ce("subtitlePosition",Q.position,0,100),bgOpacity:ce("subtitleBgOpacity",Q.bgOpacity,0,1),bgColor:n,textColor:s,edge:e,bold:o}}function qe(e,n){const s=`rgba(0, 0, 0, ${pe(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}, ${pe(n,0,1)})`}function ze(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 Ur(e){return`
1
+ import{u as t,d as T,A as x,T as ee,h as O,$ as at,q as P}from"./vendor-core-DfaOB3Rn.js";import{p as I,aj as ot,S as Oe,B as Y,F as it,a5 as re,r as ct,ak as Re,q as U,ab as lt,t as dt,i as ut,a7 as pt,al as Me,am as ft}from"./index-BOJFs4B4.js";import{I as j}from"./vendor-icons-C1Pj_eSX.js";import{s as ae,u as ht,d as mt,m as oe}from"./PlayerProvider-CjctET1A.js";import{u as gt}from"./vendor-query-BBT5_sHx.js";import{i as ie,d as yt}from"./playbackCompletion-BpEGpC-Z.js";const _t="_controls_1ne4g_1",bt="_titleContainer_1ne4g_9",vt="_scheduleInfo_1ne4g_15",wt="_status_1ne4g_23",St="_nextEpisode_1ne4g_35",Ct="_watchlistBtn_1ne4g_45",xt="_inList_1ne4g_73",kt="_queueBtn_1ne4g_84",Lt="_queueActive_1ne4g_96",Tt="_modeToggleBtn_1ne4g_102",Nt="_modeToggleActive_1ne4g_109",At="_markWatchedBtn_1ne4g_130",Et="_markWatchedDone_1ne4g_144",Bt="_streamPanel_1ne4g_155",Pt="_desktopEpisodeActions_1ne4g_169",It="_sourceLoader_1ne4g_175",$t="_episodeActions_1ne4g_188",Rt="_mobileEpisodeActions_1ne4g_202",Mt="_episodeNavBtn_1ne4g_206",Dt="_primary_1ne4g_235",Ft="_secondary_1ne4g_245",Ot="_episodePickerBtn_1ne4g_249",qt="_queueCountdown_1ne4g_253",zt="_speedBoostBadge_1ne4g_268",Wt="_videoContainer_1ne4g_299",Ht="_loadingOverlay_1ne4g_312",Vt="_loadingDots_1ne4g_326",Kt="_dot_1ne4g_331",Ut="_bounce_1ne4g_1",Qt="_bufferingOverlay_1ne4g_348",jt="_bufferingSpinner_1ne4g_357",Gt="_spin_1ne4g_459",Yt="_videoIframe_1ne4g_381",Xt="_videoElementHidden_1ne4g_404",Jt="_upscalerCanvas_1ne4g_409",Zt="_upscalerActive_1ne4g_422",en="_upscalerStatusBadge_1ne4g_426",tn="_subtitleOverlay_1ne4g_441",nn="_spinner_1ne4g_459",rn="_errorOverlay_1ne4g_526",sn="_retryButton_1ne4g_536",an="_detailsToggleBtn_1ne4g_549",on="_descriptionSection_1ne4g_572",cn="_synopsisFlat_1ne4g_580",ln="_fullscreenActive_1ne4g_614",dn="_errorSubtext_1ne4g_657",un="_watchedOverlay_1ne4g_680",pn="_watchedTitle_1ne4g_702",fn="_watchedSubtext_1ne4g_708",hn="_watchedActions_1ne4g_714",mn="_watchedActionsCentered_1ne4g_732",Vr={controls:_t,titleContainer:bt,scheduleInfo:vt,status:wt,nextEpisode:St,watchlistBtn:Ct,inList:xt,queueBtn:kt,queueActive:Lt,modeToggleBtn:Tt,modeToggleActive:Nt,markWatchedBtn:At,markWatchedDone:Et,streamPanel:Bt,desktopEpisodeActions:Pt,sourceLoader:It,episodeActions:$t,mobileEpisodeActions:Rt,episodeNavBtn:Mt,primary:Dt,secondary:Ft,episodePickerBtn:Ot,queueCountdown:qt,speedBoostBadge:zt,videoContainer:Wt,loadingOverlay:Ht,loadingDots:Vt,dot:Kt,bounce:Ut,bufferingOverlay:Qt,bufferingSpinner:jt,spin:Gt,videoIframe:Yt,videoElementHidden:Xt,upscalerCanvas:Jt,upscalerActive:Zt,upscalerStatusBadge:en,subtitleOverlay:tn,spinner:nn,errorOverlay:rn,retryButton:sn,detailsToggleBtn:an,descriptionSection:on,synopsisFlat:cn,fullscreenActive:ln,errorSubtext:dn,watchedOverlay:un,watchedTitle:pn,watchedSubtext:fn,watchedActions:hn,watchedActionsCentered:mn},gn="_playerPageLayout_1rxx0_1",yn="_noSidebar_1rxx0_15",_n="_episodeSidebar_1rxx0_19",bn="_playerMain_1rxx0_32",vn="_videoPlayerWrapper_1rxx0_40",wn="_playerInfoHeader_1rxx0_56",Sn="_playerAnimeCard_1rxx0_62",Cn="_playerInfoContainer_1rxx0_74",xn="_infoColumns_1rxx0_104",kn="_videoTitleSection_1rxx0_134",Ln="_theaterMode_1rxx0_308",Kr={playerPageLayout:gn,noSidebar:yn,episodeSidebar:_n,playerMain:bn,videoPlayerWrapper:vn,playerInfoHeader:wn,playerAnimeCard:Sn,playerInfoContainer:Cn,infoColumns:xn,videoTitleSection:kn,theaterMode:Ln},Tn={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},pe=(e,n,s)=>Math.max(n,Math.min(s,e)),fe=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),ce=(e,n,s,o)=>{try{const r=I.getItem(e);if(r===null)return n;const i=parseFloat(r);return Number.isFinite(i)?pe(i,s,o):n}catch{return n}};function Nn(){let e=Q.edge,n=Q.bgColor,s=Q.textColor,o=Q.bold;try{const r=I.getItem("subtitleEdge");(r==="shadow"||r==="outline"||r==="none")&&(e=r);const i=I.getItem("subtitleBgColor");fe(i)&&(n=i);const c=I.getItem("subtitleTextColor");fe(c)&&(s=c);const u=I.getItem("subtitleBold");u!==null&&(o=u==="true")}catch{}return{fontSize:ce("subtitleFontSize",Q.fontSize,.5,10),position:ce("subtitlePosition",Q.position,0,100),bgOpacity:ce("subtitleBgOpacity",Q.bgOpacity,0,1),bgColor:n,textColor:s,edge:e,bold:o}}function qe(e,n){const s=`rgba(0, 0, 0, ${pe(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}, ${pe(n,0,1)})`}function ze(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 Ur(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-hrS3r0UE.js"></script>
36
+ <script type="module" crossorigin src="/assets/index-BOJFs4B4.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-C1Pj_eSX.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serifpersia/dango",
3
- "version": "4.0.6",
3
+ "version": "4.0.7",
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-11T21:13:07.618Z"
72
+ "versionDate": "2026-11-11T23:44:42.555Z"
73
73
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dango-server",
3
3
  "private": true,
4
- "version": "4.0.6",
4
+ "version": "4.0.7",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "node": ">=22.12.0"
@@ -1,2 +0,0 @@
1
- import{T as Pe,u as e,d as N,A as W,a as We,g as Ne,q as V,h as T,S as U,$ as Me,o as ea,p as aa}from"./vendor-core-DfaOB3Rn.js";import{o as je,F as ta,i as Te,aa as na,t as Be,ab as ra,B as Ie,S as sa,p as be,g as la,ac as Ce}from"./index-hrS3r0UE.js";import{I as b}from"./vendor-icons-C1Pj_eSX.js";import{T as $e}from"./ToggleSwitch-CN_ppEc9.js";import{M as oa}from"./MatureConsentModal-CBGHgiBA.js";import{M as ia,P as ca}from"./MediaCard-Bd24Icus.js";import{d as Fe,e as da,a as Ue,f as qe,g as ma,h as ua,i as pa,b as Ee,A as ha}from"./AsmrPopup-ER6dDxFM.js";import{u as ga}from"./useAsmrPopup-BBmHrx9v.js";import{u as fa,e as ya,f as _a,d as ba,g as ka,h as va,S as Oe,a as wa,i as He,j as Ca,k as Na,V as Ta,l as Ba}from"./PlayerProvider-C6humJW5.js";import{p as Y}from"./page.module-C1MlZzf3.js";import"./vendor-query-BBT5_sHx.js";import"./MediaPopupShell-BewMMT93.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";import"./libraryInvalidation-DWCCaTbI.js";import"./usePopup-DS9jMzp6.js";const Aa="_sortSelect_1f2gy_1",Sa="_grid_1f2gy_11",La="_fetching_1f2gy_25",Ra="_thumbPlaceholder_1f2gy_64",Pa="_asmrCardWrap_1f2gy_100",Ma="_bookmarkBtn_1f2gy_105",Ia="_bookmarked_1f2gy_129",$a="_statusMsg_1f2gy_152",Ea="_skeletonCard_1f2gy_160",Oa="_skeletonThumb_1f2gy_165",Ha="_skeletonLine_1f2gy_171",Da="_shimmer_1f2gy_178",Wa="_pagination_1f2gy_192",ja="_matureToggleWrap_1f2gy_219",Fa="_matureLabel_1f2gy_226",Ua="_translateToggleWrap_1f2gy_232",qa="_filterTogglesGroup_1f2gy_239",Va="_filterBar_1f2gy_251",xa="_filterLabel_1f2gy_258",Ga="_detailOverlay_1f2gy_263",Ka="_detailModal_1f2gy_275",za="_detailClose_1f2gy_287",Ya="_detailHeader_1f2gy_303",Ja="_detailCover_1f2gy_309",Qa="_detailInfo_1f2gy_318",Za="_detailTitle_1f2gy_322",Xa="_detailRj_1f2gy_329",et="_metaRow_1f2gy_335",at="_metaLabel_1f2gy_341",tt="_tagChips_1f2gy_347",nt="_tagChip_1f2gy_347",rt="_npOverlay_1f2gy_363",st="_playerBarDocked_1f2gy_378",lt="_playerBarDockedHidden_1f2gy_392",ot="_npOverlayControlsHidden_1f2gy_403",it="_npArrow_1f2gy_403",ct="_npImageCount_1f2gy_404",dt="_npStage_1f2gy_413",mt="_sliderViewport_1f2gy_429",ut="_slide_1f2gy_429",pt="_slideImg_1f2gy_431",ht="_npStageBlank_1f2gy_450",gt="_sliderTrack_1f2gy_469",ft="_slideImgLoaded_1f2gy_502",yt="_slideSpinner_1f2gy_507",_t="_npArrowLeft_1f2gy_557",bt="_npArrowRight_1f2gy_561",kt="_chapterPanel_1f2gy_578",vt="_chapterRow_1f2gy_593",wt="_chapterRowActive_1f2gy_612",Ct="_chapterRowTime_1f2gy_616",Nt="_chapterRowLabel_1f2gy_627",Tt="_npBackdrop_1f2gy_633",Bt="_playerBtn_1f2gy_639",At="_playerBtnActive_1f2gy_639",St="_tracksSection_1f2gy_645",Lt="_tracksHeading_1f2gy_649",Rt="_trackList_1f2gy_655",Pt="_trackRow_1f2gy_664",Mt="_trackIcon_1f2gy_682",It="_trackLabel_1f2gy_687",$t="_trackType_1f2gy_692",Et="_noTracks_1f2gy_697",Ot="_playAllBtn_1f2gy_702",Ht="_detailActions_1f2gy_715",Dt="_playerBar_1f2gy_378",Wt="_playerActions_1f2gy_738",jt="_playerInfo_1f2gy_744",Ft="_playerTitle_1f2gy_749",Ut="_playerTrack_1f2gy_758",qt="_playerControls_1f2gy_764",Vt="_seekRow_1f2gy_771",xt="_playerButtons_1f2gy_779",Gt="_seekBtn_1f2gy_814",Kt="_playBtn_1f2gy_824",zt="_seekBar_1f2gy_871",Yt="_volumeBar_1f2gy_872",Jt="_timeLabel_1f2gy_964",Qt="_playerRight_1f2gy_970",Zt="_volumeIcon_1f2gy_976",Xt="_playerToggle_1f2gy_1020",a={sortSelect:Aa,grid:Sa,fetching:La,thumbPlaceholder:Ra,asmrCardWrap:Pa,bookmarkBtn:Ma,bookmarked:Ia,statusMsg:$a,skeletonCard:Ea,skeletonThumb:Oa,skeletonLine:Ha,shimmer:Da,pagination:Wa,matureToggleWrap:ja,matureLabel:Fa,translateToggleWrap:Ua,filterTogglesGroup:qa,filterBar:Va,filterLabel:xa,detailOverlay:Ga,detailModal:Ka,detailClose:za,detailHeader:Ya,detailCover:Ja,detailInfo:Qa,detailTitle:Za,detailRj:Xa,metaRow:et,metaLabel:at,tagChips:tt,tagChip:nt,npOverlay:rt,playerBarDocked:st,playerBarDockedHidden:lt,npOverlayControlsHidden:ot,npArrow:it,npImageCount:ct,npStage:dt,sliderViewport:mt,slide:ut,slideImg:pt,npStageBlank:ht,sliderTrack:gt,slideImgLoaded:ft,slideSpinner:yt,npArrowLeft:_t,npArrowRight:bt,chapterPanel:kt,chapterRow:vt,chapterRowActive:wt,chapterRowTime:Ct,chapterRowLabel:Nt,npBackdrop:Tt,playerBtn:Bt,playerBtnActive:At,tracksSection:St,tracksHeading:Lt,trackList:Rt,trackRow:Pt,trackIcon:Mt,trackLabel:It,trackType:$t,noTracks:Et,playAllBtn:Ot,detailActions:Ht,playerBar:Dt,playerActions:Wt,playerInfo:jt,playerTitle:Ft,playerTrack:Ut,playerControls:qt,seekRow:Vt,playerButtons:xt,seekBtn:Gt,playBtn:Kt,seekBar:zt,volumeBar:Yt,timeLabel:Jt,playerRight:Qt,volumeIcon:Zt,playerToggle:Xt},en=({work:r,onClose:l,onPlay:k,t:p})=>{const{data:i,isLoading:m}=Fe(r.id||null),f=je(r),{data:S}=da(f||void 0),{toggle:v,bookmarkedIds:w}=Ue(),{data:E}=qe(f||void 0),P=f?w.has(f):!!S?.inLibrary,g=Pe(()=>(i?.description||r.description||"").split(`
2
- `).map(c=>{const o=c.indexOf(":");return o===-1?null:{label:c.slice(0,o),value:c.slice(o+1).trim()}}).filter(c=>!!c&&!!c.value),[i?.description,r.description]),y=i?.tracks||[],M=r.thumbnail||i?.images?.[0],L=Pe(()=>{const c=E?.progress??[];return c.length>0?c.reduce((o,B)=>o.updatedAt>=B.updatedAt?o:B):null},[E]),h=L&&L.trackIndex<y.length?L.trackIndex:null;return e("div",{className:a.detailOverlay,onClick:l,children:e("div",{className:a.detailModal,onClick:c=>c.stopPropagation(),children:[e("button",{className:a.detailClose,onClick:l,"aria-label":"Close",children:e(b,{name:"times"})}),e("div",{className:a.detailHeader,children:[M?e(ta,{className:a.detailCover,src:M,alt:r.name,decoding:"async"}):e("div",{className:`${a.detailCover} ${a.thumbPlaceholder}`}),e("div",{className:a.detailInfo,children:[e("h2",{className:a.detailTitle,children:p?p(r.name):r.name}),e("p",{className:a.detailRj,children:r.id}),g.map(c=>c.label==="Tags"?e("p",{className:a.metaRow,children:[e("span",{className:a.metaLabel,children:"Tags"}),e("span",{className:a.tagChips,children:c.value.split(", ").map(o=>e("span",{className:a.tagChip,children:o},o))})]},c.label):e("p",{className:a.metaRow,children:[e("span",{className:a.metaLabel,children:c.label}),c.value]},c.label))]})]}),e("div",{className:a.tracksSection,children:[e("h3",{className:a.tracksHeading,children:m?"Loading tracks…":`Tracks (${y.length})`}),!m&&(y.length>0?e("ul",{className:a.trackList,children:y.map((c,o)=>e("li",{children:e("button",{className:a.trackRow,onClick:()=>k(r,y,o),children:[e(b,{name:"play",className:a.trackIcon}),e("span",{className:a.trackLabel,children:c.resolutionStr}),e("span",{className:a.trackType,children:c.hls?"HLS":"MP3"})]})},c.link))}):e("p",{className:a.noTracks,children:"No audio streams available for this work."}))]}),e("div",{className:a.detailActions,children:[!m&&y.length>0&&e("button",{className:a.playAllBtn,onClick:()=>k(r,y,0),children:[e(b,{name:"play"})," Play from start"]}),!m&&h!==null&&L&&e("button",{className:a.playAllBtn,onClick:()=>k(r,y,h),children:[e(b,{name:"history"})," Resume track ",h+1," ·"," ",Te(L.currentTime),L.duration>0?` / ${Te(L.duration)}`:""]}),f&&e("button",{className:a.playAllBtn,onClick:()=>v({rjCode:f,title:r.name,thumbnail:r.thumbnail||"",isAdult:!!r.isAdult}),"aria-pressed":P,children:[e(b,{name:P?"check":"plus"})," ",P?"In listening list":"Add to listening list"]})]})]})})},an=r=>{const{engine:l}=fa({volumeKey:"asmrVolume",mutedKey:"asmrMuted"});return e(ya,{engine:l,children:e(tn,{...r})})},tn=({title:r,images:l,chapters:k,tracks:p,trackIndex:i,expanded:m,isAdult:f,rjCode:S,t:v,onTrackChange:w,onExpandedChange:E,onClose:P})=>{const g=_a(),y=g.mediaRef,{duration:M,volume:L,isPlaying:h}=ba(g),{currentTime:c}=ka(g),[o,B]=N(!0),[u,I]=N(0),[re,se]=N(new Set),[A,J]=N(!1),[le,j]=N(!0),R=W("");R.current||(R.current=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`asmr-${Date.now()}-${Math.random().toString(36).slice(2)}`);const pe=We(),O=Ne.useMemo(()=>S?na(S):"",[S]),oe=ma(),he=ua(),{data:x}=qe(O||void 0),[ke,Q]=N(!1),Z=W(""),H=W(null),ie=W(0),G=W(0),D=W(0),X=p[i],ce=X?.link,ee=X?.hls,de=X?.resolutionStr||"",ae=l.length>0,F=`${O}:${i}`,te=Ne.useMemo(()=>(x?.progress??[]).find(s=>s.trackIndex===i)??null,[x,i]),ge=W({workId:"",trackIndex:0,trackLabel:""}),fe=W(x);fe.current=x,ge.current={workId:O,trackIndex:i,trackLabel:de};const ne=V((t,s,_,$=!1)=>{!t.workId||!_||_<10||!$&&Math.abs(s-ie.current)<5||(ie.current=s,oe.mutate({workId:t.workId,trackIndex:t.trackIndex,trackLabel:t.trackLabel,currentTime:Math.floor(s),duration:Math.floor(_),title:r,thumbnail:l[0]||"",rjCode:t.workId,isAdult:f?1:0}))},[oe,r,l,f]),me=V((t=!1)=>{H.current&&(clearTimeout(H.current),H.current=null),ne(ge.current,G.current,D.current,t)},[ne]),n=W(me);n.current=me;const d=W(ne);d.current=ne,T(()=>{if(!y.current||!ce)return;const s={workId:O,trackIndex:i,trackLabel:de},_=()=>{H.current&&(clearTimeout(H.current),H.current=null),d.current(s,g.getTimeline().currentTime,g.getState().duration||D.current,!0)};G.current=0,D.current=0,ie.current=0;const $=fe.current?.progress?.find(Xe=>Xe.trackIndex===i),_e=$?.currentTime||0,ve=$?.duration||0,we=_e>=10&&ve-_e>=15,Ze=g.loadSource({url:ce,hls:ee},{autoPlay:!we});return()=>{_(),Ze()}},[g,ce,ee,O,i,de,y]),T(()=>{const t=()=>{document.visibilityState==="hidden"&&n.current()},s=()=>n.current();return document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",s),()=>{document.removeEventListener("visibilitychange",t),window.removeEventListener("pagehide",s)}},[]),T(()=>{if(!te||Z.current===F||!(M>0))return;const t=te.currentTime||0,s=te.duration||M;Z.current=F,!(!(t>=10&&s-t>=15&&G.current<t)||!y.current)&&(g.seek(t),G.current=t,g.play())},[g,y,te,M,F]),T(()=>{if(m)return document.body.classList.add("asmr-player-open"),()=>document.body.classList.remove("asmr-player-open")},[m]),T(()=>{I(0)},[l]),T(()=>{m&&j(!0)},[m]),T(()=>{A&&j(!0)},[A]);const C=V(t=>{if(!r||p.length===0)return;const s=p[i],_=s?`${s.resolutionStr} (${i+1}/${p.length})`:"",$=y.current,_e=$?$.currentTime:0,ve=$&&$.duration||0,we=l[0]||"";Be.discord.asmrPresence.mutate({title:r,trackLabel:_,isPlaying:t,thumbnail:we,thumbnails:l,currentTime:_e,duration:ve,isAdult:!!f,rjCode:S||"",sessionId:R.current}).catch(()=>{}),Be.discord.heartbeat.mutate({sessionId:R.current}).catch(()=>{})},[y,r,p,i,l,f,S]);T(()=>{C(h)},[C,h,i,r,m]),T(()=>{if(!h)return;const t=window.setInterval(()=>C(!0),15e3);return()=>window.clearInterval(t)},[h,C]),T(()=>{const t=R.current,s=()=>ra(t),_=()=>s(),$=()=>{document.visibilityState==="hidden"&&s()};return window.addEventListener("pagehide",_),window.addEventListener("beforeunload",_),document.addEventListener("visibilitychange",$),()=>{window.removeEventListener("pagehide",_),window.removeEventListener("beforeunload",_),document.removeEventListener("visibilitychange",$),s()}},[]);const K=V(t=>{se(s=>{if(s.has(t))return s;const _=new Set(s);return _.add(t),_})},[]),z=V((t,s)=>{t&&t.complete&&t.naturalWidth>0&&K(s)},[K]);T(()=>{if(!m)return;const t=s=>{if(!(s.defaultPrevented||s.ctrlKey||s.metaKey||s.altKey||s.target instanceof Element&&s.target.closest('input, textarea, select, button, [role="slider"], [contenteditable="true"]'))){if(s.key==="Escape"){A?J(!1):E(!1);return}!o||l.length<2||(s.key==="ArrowLeft"&&I(_=>Math.max(0,_-1)),s.key==="ArrowRight"&&I(_=>Math.min(l.length-1,_+1)))}};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[m,o,l.length,A,E]);const ye=()=>{me(!0),i<p.length-1?w(i+1):Q(!0)},q=t=>{const s=t.currentTarget.currentTime;G.current=s,H.current&&clearTimeout(H.current),H.current=setTimeout(()=>n.current(),5e3)},xe=()=>{n.current()},Ge=t=>{const s=t.currentTarget.duration;D.current=Number.isFinite(s)?s:0},Ke=V(()=>{O&&he.mutate({rjCode:O,title:r,thumbnail:l[0]||"",status:"Completed",isAdult:!!f,silent:!0}),Q(!1),P(),pe("/")},[O,he,r,l,f,P,pe]),ze=k.reduce((t,s,_)=>c>=s.time?_:t,-1),Ye=t=>g.seek(t);va(g,()=>j(!0),!m||!o&&!A);const Je=e(U,{children:[e("div",{className:a.playerButtons,children:[e("button",{className:a.playerBtn,onClick:()=>w(Math.max(0,i-1)),disabled:i===0,"aria-label":"Previous track",children:e(b,{name:"step-backward"})}),e(Oe,{seconds:-10,className:`${a.playerBtn} ${a.seekBtn}`}),e(wa,{className:`${a.playerBtn} ${a.playBtn}`}),e(Oe,{seconds:10,className:`${a.playerBtn} ${a.seekBtn}`}),e("button",{className:a.playerBtn,onClick:()=>w(Math.min(p.length-1,i+1)),disabled:i>=p.length-1,"aria-label":"Next track",children:e(b,{name:"step-forward"})})]}),e("div",{className:a.seekRow,children:[e(He,{className:a.timeLabel}),e(Ca,{className:a.seekBar}),e(He,{className:a.timeLabel,durationOnly:!0})]})]}),Ae=e(U,{children:[e("button",{className:`${a.playerBtn} ${a.playerToggle}`,onClick:()=>E(!m),"aria-label":m?"Minimize player":"Expand player",title:m?"Minimize to browse":"Expand",children:m?e(b,{name:"chevron-down"}):e(b,{name:"chevron-up"})}),e("div",{className:a.playerInfo,children:[e(Na,{}),e("p",{className:a.playerTitle,title:r,children:v?v(r):r}),e("p",{className:a.playerTrack,children:[X?.resolutionStr||"",p.length>1?` (${i+1}/${p.length})`:""]})]}),e("div",{className:a.playerControls,children:Je}),e("div",{className:a.playerRight,children:[L===0?e(b,{name:"volume-mute",className:a.volumeIcon}):L<.5?e(b,{name:"volume-down",className:a.volumeIcon}):e(b,{name:"volume-up",className:a.volumeIcon}),e(Ta,{className:a.volumeBar})]}),e("div",{className:a.playerActions,children:[m&&ae&&e("button",{className:a.playerBtn,onClick:()=>B(t=>!t),"aria-label":o?"Hide images":"Show images",title:o?"Hide images":"Show images",children:o?e(b,{name:"eye-slash"}):e(b,{name:"image"})}),m&&k.length>0&&e("button",{className:`${a.playerBtn} ${A?a.playerBtnActive:""}`,onClick:()=>J(t=>!t),"aria-label":A?"Hide bookmarks":"Show bookmarks",title:"Timestamps",children:e(b,{name:"list-ol"})}),e("button",{className:a.playerBtn,onClick:P,"aria-label":"Close player",children:e(b,{name:"times"})})]})]}),Se=e(Ba,{preload:"metadata",onPause:xe,onTimeUpdate:q,onLoadedMetadata:Ge,onEnded:ye}),Le=e(sa,{isOpen:ke,onClose:()=>Q(!1),title:"Finished!",children:e("div",{style:{padding:"1rem",textAlign:"center"},children:[e(b,{name:"check-circle",size:48,style:{color:"var(--accent-lighter)",marginBottom:"0.5rem"}}),e("p",{style:{fontSize:"1.1rem",fontWeight:600},children:v?v(r):r}),e("p",{style:{color:"var(--text-secondary)"},children:"You finished this work!"}),e("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center"},children:[e(Ie,{variant:"secondary",onClick:()=>Q(!1),children:"Close"}),e(Ie,{onClick:Ke,children:"Mark Completed & Back to Home"})]})]})});if(!m)return Me(e(U,{children:[Se,e("div",{ref:g.containerRef,"data-player-root":"true",className:a.playerBar,children:Ae}),Le]}),document.body);const ue=Math.min(u,Math.max(0,l.length-1)),Re=l[ue],Qe=o&&ae&&!!Re&&!re.has(Re);return Me(e(U,{children:[Se,Le,e("div",{ref:g.containerRef,"data-player-root":"true",className:`${a.npOverlay} ${le?"":a.npOverlayControlsHidden}`,children:[e("div",{className:`${a.npStage} ${!o||!ae?a.npStageBlank:""}`,onClick:()=>j(t=>!t),children:o&&ae&&e(U,{children:[e("div",{className:a.sliderViewport,children:[e("div",{className:a.sliderTrack,style:{transform:`translateX(-${ue*100}%)`},children:l.map(t=>e("div",{className:a.slide,children:e("img",{ref:s=>z(s,t),src:t,alt:`${v?v(r):r} - work image`,loading:"lazy",decoding:"async",draggable:!1,onLoad:()=>K(t),onError:()=>K(t),className:`${a.slideImg} ${re.has(t)?a.slideImgLoaded:""}`})},t))}),Qe&&e("span",{className:a.slideSpinner,"aria-label":"Loading image"})]}),l.length>1&&e(U,{children:[e("button",{className:`${a.npArrow} ${a.npArrowLeft}`,onClick:t=>{t.stopPropagation(),I(s=>Math.max(0,s-1)),j(!0)},disabled:ue===0,"aria-label":"Previous image",children:e(b,{name:"chevron-left"})}),e("button",{className:`${a.npArrow} ${a.npArrowRight}`,onClick:t=>{t.stopPropagation(),I(s=>Math.min(l.length-1,s+1)),j(!0)},disabled:ue===l.length-1,"aria-label":"Next image",children:e(b,{name:"chevron-right"})}),e("span",{className:a.npImageCount,onClick:t=>t.stopPropagation(),children:[ue+1," / ",l.length]})]})]})}),e("div",{className:`${a.playerBar} ${a.playerBarDocked} ${le?"":a.playerBarDockedHidden}`,onClick:t=>t.stopPropagation(),children:[Ae,A&&e(U,{children:[e("div",{className:a.npBackdrop,onClick:()=>J(!1)}),e("div",{className:a.chapterPanel,children:k.map((t,s)=>e("button",{className:`${a.chapterRow} ${s===ze?a.chapterRowActive:""}`,title:v?v(t.label):t.label,onClick:()=>{Ye(t.time),J(!1)},children:[e("span",{className:a.chapterRowTime,children:Te(t.time)}),e("span",{className:a.chapterRowLabel,title:v?v(t.label):t.label,children:v?v(t.label):t.label})]},`${t.time}-${s}`))})]})]})]})]}),document.body)},Ve="asmrTranslateCache",nn=10080*60*1e3;function rn(){try{const r=be.getItem(Ve);if(!r)return new Map;const l=JSON.parse(r);return new Map(Object.entries(l))}catch{return new Map}}function sn(r){try{const l={};for(const[k,p]of r)l[k]=p;be.setItem(Ve,JSON.stringify(l))}catch{}}function De(r){return/[\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FAF]/.test(r)}async function ln(r){const l=r.map(i=>i.trim()).filter(Boolean);if(l.length===0)return new Map;const k=await Be.settings.translate.mutate({texts:l,source:"ja",target:"en"}),p=new Map;for(const[i,m]of Object.entries(k.translations||{}))p.set(i,m);for(const i of l)p.has(i)||p.set(i,i);return p}function on(r,l){const[k,p]=N(new Map),[i,m]=N(!1),f=W(null),S=r.join("");return T(()=>{const w=S?S.split(""):[];if(!l||w.length===0){p(new Map),m(!1);return}const E=Array.from(new Set(w.map(h=>h.trim()).filter(Boolean).filter(De)));if(E.length===0){p(new Map);return}f.current||(f.current=rn());const P=Date.now(),g=new Map,y=[];for(const h of E){const c=f.current.get(h);c&&P-c.ts<nn?g.set(h,c.t):y.push(h)}if(y.length===0){p(g);return}let M=!1;m(!0);const L=[];for(let h=0;h<y.length;h+=15)L.push(y.slice(h,h+15));return(async()=>{const h=new Map;for(const o of L){try{const B=await ln(o);for(const[u,I]of B)h.set(u,I)}catch{}await new Promise(B=>setTimeout(B,120))}if(M)return;if(f.current){for(const[o,B]of h)f.current.set(o,{t:B,ts:Date.now()});sn(f.current)}const c=new Map([...g,...h]);p(c),m(!1)})(),()=>{M=!0}},[l,S]),{t:w=>!l||!w||!De(w)?w:k.get(w.trim())||w,map:k,isTranslating:i}}const cn=[{label:"Date",options:[{value:"latest",label:"Latest"},{value:"oldest",label:"Oldest"}]},{label:"Title",options:[{value:"title_asc",label:"A → Z"},{value:"title_desc",label:"Z → A"}]},{label:"Popular (Views)",options:[{value:"popular_recent",label:"Recent"},{value:"popular_week",label:"Week"},{value:"popular_month",label:"Month"},{value:"popular_6_months",label:"6 Months"},{value:"popular_year",label:"Year"},{value:"popular",label:"All Time"}]},{label:"Most Commented",options:[{value:"comments_week",label:"Week"},{value:"comments_month",label:"Month"},{value:"comments_year",label:"Year"},{value:"comments",label:"All Time"}]},{label:"Other",options:[{value:"random",label:"Random"}]}],dn=[{value:"",label:"All"},{value:"sfw",label:"SFW / 全年齢"},{value:"r-15",label:"R-15"},{value:"r-18",label:"NSFW / R18"},{value:"yuri",label:"Yuri / Girls love / 百合"},{value:"otokonoko",label:"Otoko no ko / 男の娘"},{value:"futanari",label:"Futanari / フタナリ"},{value:"r-18g",label:"R-18G / グロ"}],mn=[{value:"sfw",label:"SFW / 全年齢"}],Sn=()=>{const{rj:r}=ea(),l=We(),[k,p]=aa(),{hasConsent:i,grant:m}=la(),[f,S]=N(!1),[v,w]=N(()=>k.get("q")||""),[E,P]=N(()=>k.get("q")||""),[g,y]=N("latest"),[M,L]=N("sfw"),[h,c]=N(1),[o,B]=N(null),[u,I]=N(null),[re,se]=N(!0),[A,J]=N(()=>be.getItem("asmrTranslateEN")==="true"),{toggle:le,bookmarkedIds:j}=Ue(),{popup:R,openPopup:pe,scheduleClose:O,cancelClose:oe,closePopup:he}=ga();T(()=>{be.setItem("asmrTranslateEN",String(A))},[A]);const x=i,ke=x?M:"sfw",Q=x?dn:mn,{data:Z,isLoading:H,isError:ie,isFetching:G}=pa(E,h,g,ke),D=Ne.useMemo(()=>Z?.shows??[],[Z?.shows]),X=Z?.hasNext??!1;T(()=>{if(!r){o&&!u&&B(null);return}const n=r.toUpperCase();if(u&&(u.work.id?.toUpperCase()===n||u.work._id?.toUpperCase()===n)){o&&B(null);return}const d=D.find(C=>(C.id||C._id)?.toUpperCase()===n);d?(!o||(o.id||o._id)!==(d.id||d._id))&&B(d):(!o||(o.id||o._id)?.toUpperCase()!==n)&&B({_id:n,id:n,name:n})},[r,D,u,o]);const ce=V(()=>{l("/asmr")},[l]);T(()=>{!r&&u&&I(null)},[r,u]);const{data:ee}=Fe(u&&u.work.id||null),de=u?[u.work.thumbnail,...ee?.images||[]].filter(Boolean):[],ae=[...D.map(n=>n.name),o?.name||"",u?.work.name||"",...ee?.chapters?.map(n=>n.label)||[]].filter(Boolean),{t:F}=on(ae,A);T(()=>{const n=u?u.work.name:o?o.name:r?r.toUpperCase():"",d=n?A?F(n):n:"",C=d?`${d} - dango`:"dango";document.title=C;try{window.history.replaceState(window.history.state,C,window.location.href)}catch{}},[o,u,r,A,F]);const te=n=>{n.preventDefault(),P(v),c(1);const d=new URLSearchParams(k);v.trim()?d.set("q",v.trim()):d.delete("q"),d.delete("page"),p(d,{replace:!0})};T(()=>{const n=k.get("q")||"";w(d=>d===n?d:n),P(d=>d===n?d:n),c(1)},[k]);const ge=n=>{n.currentTarget.checked&&!i&&S(!0)},fe=()=>{m(),S(!1),c(1)},ne=()=>{S(!1)},me=V((n,d,C)=>{B(null),se(!0),I({work:n,tracks:d,index:C})},[]);return e("div",{className:`${Y.page} ${u?Y.pageWithPlayer:""}`,children:[!(u&&re)&&e(U,{children:[e("header",{className:Y.header,children:[e("h1",{className:Y.pageTitle,children:[e(b,{name:"headphones"})," ASMR"]}),e("form",{className:Y.searchForm,onSubmit:te,children:[e("input",{className:Y.searchInput,type:"text",value:v,onChange:n=>w(n.currentTarget.value),placeholder:"Search works, circles, CV… (-word excludes)","aria-label":"Search ASMR works"}),e("button",{className:Y.searchBtn,type:"submit","aria-label":"Search",children:e(b,{name:"search"})})]})]}),e("div",{className:a.filterBar,children:[e("label",{className:a.filterLabel,htmlFor:"asmr-sort",children:"Sort"}),e("select",{id:"asmr-sort",className:a.sortSelect,value:g,onChange:n=>{y(n.currentTarget.value),c(1)},children:cn.map(n=>e("optgroup",{label:n.label,children:n.options.map(d=>e("option",{value:d.value,children:d.label},d.value))},n.label))}),e("label",{className:a.filterLabel,htmlFor:"asmr-rating",children:"Type"}),e("select",{id:"asmr-rating",className:a.sortSelect,value:M,onChange:n=>{L(n.currentTarget.value),c(1)},children:Q.map(n=>e("option",{value:n.value,children:n.label},n.value))}),e("div",{className:a.filterTogglesGroup,children:[e("div",{className:a.translateToggleWrap,children:[e("span",{className:a.filterLabel,children:"JP"}),e($e,{id:"asmr-translate-toggle",isChecked:A,onChange:n=>J(n.currentTarget.checked)}),e("span",{className:a.filterLabel,children:"EN"})]}),!i&&e("div",{className:a.matureToggleWrap,children:[e("label",{className:a.matureLabel,htmlFor:"asmr-mature-toggle",children:"Mature"}),e($e,{id:"asmr-mature-toggle",isChecked:!1,onChange:ge})]})]})]}),ie?e("p",{className:a.statusMsg,children:"Failed to load works. Please try again."}):H&&D.length===0?e("div",{className:a.grid,"aria-hidden":!0,children:Array.from({length:12}).map((n,d)=>e("div",{className:a.skeletonCard,children:[e("div",{className:`${a.skeletonThumb} ${a.shimmer}`}),e("div",{className:`${a.skeletonLine} ${a.shimmer}`,style:{width:"88%"}}),e("div",{className:`${a.skeletonLine} ${a.shimmer}`,style:{width:"55%"}})]},d))}):D.length===0?e("p",{className:a.statusMsg,children:"No works found."}):e(U,{children:[e("div",{className:`${a.grid} ${G?a.fetching:""}`,children:D.map(n=>{const d=A?{...n,name:F(n.name)}:n,C=je(n),K=Ee(C),z=j.has(K),ye=`/asmr/${encodeURIComponent(C)}`;return e("div",{className:a.asmrCardWrap,children:[e(ia,{item:{id:K,title:d.name,thumbnail:n.thumbnail||"",typeBadge:C||void 0,isAdult:Ce(n)},linkTo:ye,hoverIcon:"info",layout:"horizontal",showInfoButton:!0,display:{elements:{poster:{typeBadge:!0,chapterBadge:!1,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!1,meta:!1}}},onOpenDetails:q=>pe(q,{rjCode:C,title:d.name,thumbnail:n.thumbnail||"",isAdult:Ce(n),rating:n.rating,listenTarget:ye}),onPopupHoverIntent:q=>q?oe():O(),rawThumbnail:!0}),e("button",{className:`${a.bookmarkBtn} ${z?a.bookmarked:""}`,onClick:q=>{q.preventDefault(),q.stopPropagation(),le({rjCode:C,title:n.name,thumbnail:n.thumbnail||"",isAdult:Ce(n)})},title:z?"Remove from listening list":"Add to listening list","aria-label":z?"Remove from listening list":"Add to listening list","aria-pressed":z,children:e(b,{name:z?"check":"plus",size:12})})]},n._id||n.id)})}),e("div",{className:a.pagination,children:e(ca,{page:h,canGoNext:X,onChange:n=>c(n),variant:"labeled"})})]})]}),o&&e(en,{work:o,onClose:ce,onPlay:me,t:F}),R&&e(ha,{data:R.data,anchorRect:R.rect,bookmarked:j.has(Ee(R.data.rjCode)),onToggleBookmark:()=>le({rjCode:R.data.rjCode,title:R.data.title,thumbnail:R.data.thumbnail||"",isAdult:R.data.isAdult}),onMouseEnter:oe,onMouseLeave:O,onRequestClose:he}),f&&e(oa,{isOpen:!0,scope:"section",showResetHint:!0,onClose:ne,onGrant:fe}),u&&e(an,{title:u.work.name,images:de,chapters:ee?.chapters||[],tracks:u.tracks,trackIndex:u.index,expanded:re,isAdult:!!u.work.isAdult,rjCode:u.work.id||u.work._id,t:F,onTrackChange:n=>I(d=>d&&{...d,index:n}),onExpandedChange:se,onClose:()=>{I(null),se(!0),r&&l("/asmr")}})]})};export{Sn as default};
@@ -1 +0,0 @@
1
- import{d as I,A as z,h as V,T as qe,u as e,S as se,L as F,q as P,N as Te,a as Ee,g as ae}from"./vendor-core-DfaOB3Rn.js";import{I as w}from"./vendor-icons-C1Pj_eSX.js";import{F as Re,t as ze,d as Ie,u as Le,g as Se,f as $e}from"./index-hrS3r0UE.js";import{p as m,M as ke}from"./MediaPopupShell-BewMMT93.js";import{M as De}from"./MatureConsentModal-CBGHgiBA.js";import{u as Oe}from"./useIsMobile-Dvx1uJ82.js";const je="_pagination_zelsc_1",Ve="_pageBtn_zelsc_7",Fe="_pageInfo_zelsc_38",We="_pagePicker_zelsc_48",Ae="_dropdown_zelsc_52",Ue="_flipDown_zelsc_68",Ge="_jumpRow_zelsc_73",Xe="_jumpInput_zelsc_79",Ye="_jumpGo_zelsc_90",He="_optionList_zelsc_105",Ke="_optionBtn_zelsc_113",Je="_current_zelsc_132",b={pagination:je,pageBtn:Ve,pageInfo:Fe,pagePicker:We,dropdown:Ae,flipDown:Ue,jumpRow:Ge,jumpInput:Xe,jumpGo:Ye,optionList:He,optionBtn:Ke,current:Je},Gt=({page:t,totalPages:i,canGoNext:d,onChange:u,isLoading:f=!1,variant:B="compact"})=>{const[r,M]=I(!1),[x,_]=I(""),[g,v]=I(0),[N,T]=I(!1),q=z(null),c=z(null),h=z(null);V(()=>{if(!r)return;const o=p=>{q.current&&!q.current.contains(p.target)&&M(!1)},n=p=>{p.key==="Escape"&&M(!1)};return document.addEventListener("pointerdown",o),document.addEventListener("keydown",n),()=>{document.removeEventListener("pointerdown",o),document.removeEventListener("keydown",n)}},[r]),V(()=>{if(!r)return;v(0),T(!1);const o=requestAnimationFrame(()=>{const n=h.current?.getBoundingClientRect(),p=c.current?.getBoundingClientRect();if(!n)return;let y=0;n.right>window.innerWidth-8?y=window.innerWidth-8-n.right:n.left<8&&(y=8-n.left),v(Math.round(y)),p&&p.top<n.height+24&&T(!0)});return()=>cancelAnimationFrame(o)},[r]);const s=i,L=qe(()=>{if(s!==void 0){if(s<=100)return Array.from({length:s},(p,y)=>y+1);const n=new Set([1,s]);for(let p=t-10;p<=t+10;p++)p>=1&&p<=s&&n.add(p);return[...n].sort((p,y)=>p-y)}const o=d?t+1:t;return Array.from({length:o},(n,p)=>p+1)},[s,t,d]),C=o=>{const n=s!==void 0?Math.min(Math.max(1,o),s):Math.max(1,o);M(!1),_(""),n!==t&&u(n)},S=()=>{const o=parseInt(x,10);Number.isNaN(o)||C(o)},$=f||(s!==void 0?t>=s:!d);return e("div",{className:b.pagination,ref:q,children:[e("button",{className:b.pageBtn,onClick:()=>u(t-1),disabled:t<=1||f,"aria-label":"Previous page",children:[e(w,{name:"chevron-left",size:14}),B==="labeled"&&e("span",{children:"Previous"})]}),e("div",{className:b.pagePicker,ref:c,children:[e("button",{className:b.pageBtn,onClick:()=>{_(""),M(o=>!o)},disabled:f,"aria-label":"Jump to page","aria-expanded":r,children:e("span",{className:b.pageInfo,children:["Page ",e("strong",{children:t}),s!==void 0&&` of ${s}`]})}),r&&e("div",{ref:h,className:`${b.dropdown} ${N?b.flipDown:""}`,style:g!==0?{marginLeft:g}:void 0,children:[e("div",{className:b.jumpRow,children:[e("input",{className:b.jumpInput,type:"number",inputMode:"numeric",min:1,max:s,value:x,placeholder:"Page #",onChange:o=>_(o.currentTarget.value),onKeyDown:o=>{o.key==="Enter"&&S()}}),e("button",{className:b.jumpGo,onClick:S,children:"Go"})]}),e("div",{className:b.optionList,children:L.map(o=>e("button",{className:`${b.optionBtn} ${o===t?b.current:""}`,onClick:()=>C(o),disabled:o===t,children:o},o))})]})]}),e("button",{className:b.pageBtn,onClick:()=>u(t+1),disabled:$,"aria-label":"Next page",children:[B==="labeled"&&e("span",{children:"Next"}),e(w,{name:"chevron-right",size:14})]})]})},Xt=({anchorRect:t,title:i,subtitle:d,cover:u,loading:f,error:B,meta:r=[],genres:M=[],synopsis:x,primaryAction:_,secondaryAction:g,bookmarked:v,bookmarkLabel:N="Watchlist",onToggleBookmark:T,extraActions:q,onMouseEnter:c,onMouseLeave:h,onRequestClose:s})=>{const L=z(!1),C=()=>{L.current=!0,c()},S=()=>{L.current=!1,h()},$=n=>{!n&&!L.current&&h()},o=!!_||!!g||!!q;return e(ke,{anchorRect:t,onMouseEnter:C,onMouseLeave:S,onRequestClose:s,children:f?e("div",{className:m.loading,children:[e("div",{className:m.spinner}),e("span",{children:"Fetching details..."})]}):B?e("div",{className:m.loading,children:B}):e(se,{children:[i&&e("div",{className:m.header,children:[u&&e(Re,{src:u,alt:i,loading:"lazy",decoding:"async",className:m.cover}),e("div",{className:m.title,children:i}),d&&e("div",{className:m.altTitle,children:d})]}),e("div",{className:m.body,children:[r.length>0&&e("div",{className:m.metaRow,children:r.map((n,p)=>e("div",{className:m.metaItem,children:[n.icon&&e(w,{name:n.icon,className:n.accent?m.scoreIcon:void 0,size:14}),e("span",{children:n.label})]},`${n.label}-${p}`))}),M.length>0&&e("div",{className:m.genres,children:M.map(n=>e("span",{className:m.genre,children:n},n))}),x&&e("div",{className:m.synopsis,children:x})]}),o&&e("div",{className:m.footer,children:[_&&e("div",{className:m.primaryAction,children:_.disabled?e("span",{className:m.watchBtn,"aria-disabled":"true",style:{opacity:.5,pointerEvents:"none"},children:[e(w,{name:_.icon??"play",size:14}),_.label]}):e(F,{to:_.to,className:m.watchBtn,onClick:s,children:[e(w,{name:_.icon??"play",size:14}),_.label]})}),e("div",{className:m.secondaryActions,children:[e("button",{className:`${m.watchlistBtn} ${v?m.active:""}`,onClick:n=>{n.preventDefault(),n.stopPropagation(),T()},children:[v?e(w,{name:"check",size:12}):e(w,{name:"plus",size:12}),e("span",{children:v?"Remove":N})]}),q?.($),g&&e(F,{to:g.to,className:m.detailsBtn,onClick:s,children:[g.icon&&e(w,{name:g.icon,size:12}),e("span",{children:g.label})]})]})]})]})})},Qe=t=>!t||t.trim()===""?!0:t.includes("placeholder");function Ze(t,i){const[d,u]=I(i);return V(()=>{u(i)},[i]),V(()=>{if(!Qe(i)||!t)return;let f=!1;return ze.data.showMeta.query({id:t}).then(B=>{const r=B?.thumbnail;!f&&r&&r.trim()!==""&&!r.includes("placeholder")&&u(r)}).catch(()=>{}),()=>{f=!0}},[t,i]),{thumbnail:d}}const et="_cardWrapper_11qxc_1",tt="_card_11qxc_1",nt="_cardButton_11qxc_34",at="_hoverOverlay_11qxc_61",ot="_matureOverlay_11qxc_96",st="_posterContainer_11qxc_106",rt="_horizontal_11qxc_115",ct="_widePoster_11qxc_119",lt="_posterImg_11qxc_123",it="_blurred_11qxc_135",dt="_previewVideo_11qxc_139",ut="_flat_11qxc_167",pt="_loaded_11qxc_171",mt="_progressSection_11qxc_180",_t="_titleSection_11qxc_187",ht="_title_11qxc_187",ft="_titleText_11qxc_209",gt="_badge_11qxc_221",vt="_typeBadge_11qxc_232 _badge_11qxc_221",Bt="_epBadge_11qxc_241 _badge_11qxc_221",bt="_airTime_11qxc_250",wt="_adultBadge_11qxc_257 _badge_11qxc_221",Nt="_gated_11qxc_270",xt="_notAiredBadge_11qxc_276 _badge_11qxc_221",Pt="_metaRow_11qxc_291",Mt="_metaItem_11qxc_302",Ct="_progressContainer_11qxc_319",yt="_progressBar_11qxc_327",qt="_timestamp_11qxc_335",Tt="_removeBtn_11qxc_340",Et="_infoBtn_11qxc_341",Rt="_mobileBadges_11qxc_392",zt="_mobileBadgeBase_11qxc_399",It="_mobileType_11qxc_407 _mobileBadgeBase_11qxc_399",Lt="_mobileEp_11qxc_414 _mobileBadgeBase_11qxc_399",St="_lowEnd_11qxc_484",a={cardWrapper:et,card:tt,cardButton:nt,hoverOverlay:at,matureOverlay:ot,posterContainer:st,horizontal:rt,widePoster:ct,posterImg:lt,blurred:it,previewVideo:dt,flat:ut,loaded:pt,progressSection:mt,titleSection:_t,title:ht,titleText:ft,badge:gt,typeBadge:vt,epBadge:Bt,airTime:bt,adultBadge:wt,gated:Nt,notAiredBadge:xt,metaRow:Pt,metaItem:Mt,progressContainer:Ct,progressBar:yt,timestamp:qt,removeBtn:Tt,infoBtn:Et,mobileBadges:Rt,mobileBadgeBase:zt,mobileType:It,mobileEp:Lt,lowEnd:St},$t=500,oe=20,kt=300;function Dt(t){const i=z(null),d=z(null),u=z(!1),f=z({x:0,y:0}),B=z(null),r=P(()=>{d.current&&(clearTimeout(d.current),d.current=null)},[]),M=P(()=>{i.current&&(clearTimeout(i.current),i.current=null)},[]),x=P(c=>{i.current&&clearTimeout(i.current),i.current=setTimeout(c,kt)},[]),_=P((c,h=!1)=>{u.current=h,t(c,h)},[t]),g=P((c,h)=>{if(h||c.pointerType==="mouse")return;B.current=c.pointerType,u.current=!1,f.current={x:c.clientX,y:c.clientY};const s=c.currentTarget.getBoundingClientRect();r(),d.current=setTimeout(()=>{d.current=null,_(s,!0)},$t)},[r,_]),v=P(c=>{if(!d.current)return;const h=Math.abs(c.clientX-f.current.x),s=Math.abs(c.clientY-f.current.y);(h>oe||s>oe)&&r()},[r]),N=P(()=>{r(),B.current=null},[r]),T=P((c,h)=>{c.preventDefault(),c.stopPropagation(),B.current==="touch"?d.current&&(clearTimeout(d.current),d.current=null,_(c.currentTarget.getBoundingClientRect(),!0)):!h&&!u.current&&_(c.currentTarget.getBoundingClientRect())},[_]),q=P(()=>u.current?(u.current=!1,!0):!1,[]);return{longPressFiredRef:u,cancelLongPress:r,clearPopupTimeout:M,schedulePopupClose:x,openViaHold:_,handlePointerDown:g,handlePointerMove:v,handlePointerUpOrCancel:N,handleContextMenu:T,consumeLongPressClick:q}}const G={elements:{poster:{typeBadge:!0,chapterBadge:!0,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!0,meta:!0}}},Yt=Te(({item:t,linkTo:i,hoverIcon:d,progress:u,showProgress:f=!1,metaRow:B,display:r,layout:M="vertical",onRemove:x,showRemoveButton:_,showInfoButton:g=!1,onOpenDetails:v,renderPopup:N,onPopupHoverIntent:T,rawThumbnail:q,enrichedId:c})=>{const h=Ee(),s=Oe(),{titlePreference:L}=Ie(),{lowEndMode:C}=Le(),[S,$]=I(!1),[o,n]=I(!1),{thumbnail:p}=Ze(c,t.thumbnail),[y,X]=I(!1),[Y,H]=I(null),K=l=>{H(l),X(!0)},W=P(()=>{X(!1),H(null)},[]),E=Dt(l=>{if(v){v(l);return}N&&K(l)}),A=P(()=>{E.schedulePopupClose(W)},[E,W]),J=E.clearPopupTimeout,re=l=>{if(s||!g)return;const ne=l.currentTarget.getBoundingClientRect();if(v){v(ne);return}N&&K(ne)},ce=()=>{N&&A()},le=()=>{J()},ie=()=>{N&&A()},de=l=>{E.handlePointerDown(l,R)},ue=l=>{E.handlePointerMove(l)},Q=()=>{E.handlePointerUpOrCancel()},pe=l=>{if(g){if(v){l.preventDefault(),l.stopPropagation(),v(l.currentTarget.getBoundingClientRect());return}if(N){E.handleContextMenu(l,R);return}E.handleContextMenu(l,R)}},Z={...r,elements:{...G.elements,...r?.elements||{},poster:{...G.elements?.poster,...r?.elements?.poster||{}},info:{...G.elements?.info,...r?.elements?.info||{}}}},k=t[L]||t.title,D=Z.elements?.poster,O=Z.elements?.info,me=(D?.typeBadge??!0)&&!!t.typeBadge,_e=(D?.chapterBadge??!0)&&!!t.chapterBadge,he=_??D?.removeButton??!!x,fe=D?.adultBadge??!0,ge=O?.mobileBadges??!0,ve=O?.progress??!0,Be=O?.meta??!0,be=f&&!!u&&u.percent>0,ee=!!t.isAdult,{hasConsent:we,grant:Ne}=Se(),[xe,U]=ae.useState(!1),j=ae.useRef(null),Pe=()=>{Ne(),U(!1),j.current&&(h(j.current),j.current=null)},R=ee&&!we,te=l=>{if(E.consumeLongPressClick()){l.preventDefault(),l.stopPropagation();return}R&&(l.preventDefault(),l.stopPropagation(),j.current=i,U(!0))},Me=d==="book"?e(w,{name:"book",size:28}):d==="play"?e(w,{name:"play",size:28}):d==="info"?e(w,{name:"info-circle",size:28}):e(w,{name:"info-circle",size:28}),Ce=P(l=>{l.preventDefault(),l.stopPropagation(),x&&x(t.id)},[x,t.id]),ye=q?p??t.thumbnail:$e(p,C?100:150,C?150:200);return e("div",{className:`${a.cardWrapper} ${C?a.lowEnd:""}`,onMouseEnter:()=>{n(!0),T?.(!0),y&&J()},onMouseLeave:()=>{n(!1),T?.(!1),y&&A()},children:[e(F,{to:i,className:`${a.card} ${a[M]} ${R?a.cardButton:""}`,onClick:te,onContextMenu:pe,onPointerDown:de,onPointerMove:ue,onPointerUp:Q,onPointerCancel:Q,children:e("div",{className:`${a.posterContainer} ${t.wide?a.widePoster:""}`,children:[R&&e("div",{className:`${a.matureOverlay} ${C?a.flat:""}`}),e("img",{src:ye,alt:k,className:`${a.posterImg} ${S?a.loaded:""} ${R&&!C?a.blurred:""}`,loading:"lazy",decoding:"async",onLoad:()=>$(!0)}),!s&&o&&t.preview&&!C&&e("video",{className:a.previewVideo,src:t.preview,muted:!0,loop:!0,autoPlay:!0,playsInline:!0,preload:"none"}),!s&&e(se,{children:[me&&e("div",{className:a.typeBadge,children:t.typeBadge}),_e&&e("div",{className:a.epBadge,children:[t.chapterBadge,t.airMeta&&e("span",{className:a.airTime,children:t.airMeta})]})]}),fe&&ee&&e("div",{className:`${a.adultBadge} ${R?a.gated:""}`,children:"18+"}),t.notAired&&e("div",{className:a.notAiredBadge,children:"NOT AIRED"}),!s&&o&&!t.preview&&e("div",{className:a.hoverOverlay,children:Me})]})}),ve&&f&&be&&u&&e("div",{className:a.progressSection,children:[e("div",{className:a.progressContainer,children:e("div",{className:a.progressBar,style:{width:`${u.percent}%`}})}),e("div",{className:a.timestamp,children:u.label})]}),e(F,{to:i,className:a.titleSection,onClick:te,"aria-label":k,children:[s&&ge&&e("div",{className:a.mobileBadges,children:[!!t.typeBadge&&e("span",{className:a.mobileType,children:t.typeBadge}),t.chapterBadge&&e("span",{className:a.mobileEp,children:t.chapterBadge})]}),O?.title!==!1&&e("div",{className:a.title,title:k,children:e("span",{className:a.titleText,children:k})}),Be&&B&&e("div",{className:a.metaRow,children:B})]}),xe&&e(De,{isOpen:!0,showResetHint:!0,onClose:()=>U(!1),onGrant:Pe}),he&&e("button",{className:a.removeBtn,onClick:Ce,"aria-label":"Remove",children:e(w,{name:"times",size:10})}),g&&!s&&!R&&e("button",{className:a.infoBtn,onMouseEnter:re,onMouseLeave:ce,"aria-label":"Info",children:e(w,{name:"info",size:11})}),N&&y&&Y?N(Y,{close:W,onMouseEnter:le,onMouseLeave:ie}):null]})});export{Yt as M,Gt as P,Xt as a,a as m};