@serifpersia/dango 3.8.7 → 3.8.8
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.
- package/README.md +1 -1
- package/client/dist/assets/{AnimeCard-DeOILoQY.js → AnimeCard-G3oigO8B.js} +1 -1
- package/client/dist/assets/{AnimeInfo-CEWjWNK4.js → AnimeInfo-CR4XFD0Q.js} +1 -1
- package/client/dist/assets/{AnimeInfoPage-BBB8hD_-.js → AnimeInfoPage-DbT2RS0J.js} +2 -2
- package/client/dist/assets/{Asmr-BJjmJorV.js → Asmr-BaXYabXN.js} +1 -1
- package/client/dist/assets/{AsmrPopup-BW-iFW3L.js → AsmrPopup-6ky2U3uz.js} +1 -1
- package/client/dist/assets/{AsmrResetProgressModal-BAp7wa4X.js → AsmrResetProgressModal-DXwHSqwf.js} +1 -1
- package/client/dist/assets/Home-ZHM84CD8.js +1 -0
- package/client/dist/assets/{Home-grKghNM9.css → Home-ujV6ObHi.css} +1 -1
- package/client/dist/assets/{Insights-D3-riQFt.js → Insights-C6rMfz5x.js} +1 -1
- package/client/dist/assets/{LibraryListPage-CKEWlzgR.js → LibraryListPage-XHeMv9aN.js} +1 -1
- package/client/dist/assets/{ListeningList-WhGQuOYx.js → ListeningList-Dm_owBjG.js} +1 -1
- package/client/dist/assets/{Manga-XJEPnce1.js → Manga-BmHoV3yQ.js} +1 -1
- package/client/dist/assets/{MangaInfoPage-B3xV4o8C.js → MangaInfoPage-Blz86W7a.js} +1 -1
- package/client/dist/assets/{MangaReadPage-BdmcONww.js → MangaReadPage-DzEhRrLW.js} +1 -1
- package/client/dist/assets/{MangaResetProgressModal-C1Bfn9O_.js → MangaResetProgressModal-DdnI3zEg.js} +1 -1
- package/client/dist/assets/{Mature-VH_PWwEN.js → Mature-DGDC_8w6.js} +1 -1
- package/client/dist/assets/{MatureConsentModal-Do1CtwDw.js → MatureConsentModal-BXFvhDf0.js} +1 -1
- package/client/dist/assets/{MediaCard-BikTKuG3.js → MediaCard-DW8QbvWe.js} +1 -1
- package/client/dist/assets/{OptionListMenu-BReFoLC2.js → OptionListMenu-Dxx8rcuO.js} +1 -1
- package/client/dist/assets/{Player-CUTDxVY5.js → Player-CQy7jQbB.js} +2 -2
- package/client/dist/assets/{PlayerProvider-D60eCjik.js → PlayerProvider-BoJyuLEn.js} +1 -1
- package/client/dist/assets/{PlayerSettings-C2pu0sQt.js → PlayerSettings-DSq0bKT6.js} +1 -1
- package/client/dist/assets/{QueueOptionsButton-CUyJPdwg.js → QueueOptionsButton-B2p9VIz2.js} +1 -1
- package/client/dist/assets/{QueueRail-DqyZVaD-.js → QueueRail-BWcF0bqm.js} +1 -1
- package/client/dist/assets/{ReadingList-BXR1JrJ_.js → ReadingList-CKJ1Lt3H.js} +1 -1
- package/client/dist/assets/{ResetProgressModal-YVCqneQ5.js → ResetProgressModal-BpNG6BGY.js} +1 -1
- package/client/dist/assets/{Search-C27b6qOV.js → Search-D5OkKFDj.js} +1 -1
- package/client/dist/assets/{Settings-DEWZN-A-.js → Settings-_URnBHKL.js} +1 -1
- package/client/dist/assets/{SkeletonGrid-BpsynMj7.js → SkeletonGrid-BVWffnlT.js} +1 -1
- package/client/dist/assets/{Trackers-B3EMJMgo.js → Trackers-D4BC2YOO.js} +1 -1
- package/client/dist/assets/{Tv-BfDkrKuI.js → Tv-B0-XYYdF.js} +1 -1
- package/client/dist/assets/{TvInfo-BkABl1xJ.js → TvInfo-FWR5_kso.js} +1 -1
- package/client/dist/assets/{TvPopup-RchqnXJt.js → TvPopup-JKZPbL5t.js} +1 -1
- package/client/dist/assets/{TvSearch-C9oRGjgC.js → TvSearch-Gddgkz5g.js} +1 -1
- package/client/dist/assets/{TvWatchlist-ClRCXsXi.js → TvWatchlist-BTTqu23j.js} +1 -1
- package/client/dist/assets/{VirtualKeyboard-C0Yf-_br.js → VirtualKeyboard-BD5VOYcJ.js} +1 -1
- package/client/dist/assets/{WatchAlong-CIBT0VHg.js → WatchAlong-Czm3Pr1E.js} +1 -1
- package/client/dist/assets/{WatchAlongPanel-D87h_8qM.js → WatchAlongPanel-Dsmcqrjh.js} +1 -1
- package/client/dist/assets/{Watchlist-1rn0IRne.js → Watchlist-BMRAdzMF.js} +1 -1
- package/client/dist/assets/index-Bi-DGtzC.js +178 -0
- package/client/dist/assets/index-RwPVmyxh.css +1 -0
- package/client/dist/assets/{libraryInvalidation-BHknhNAw.js → libraryInvalidation-B5vX-vJv.js} +1 -1
- package/client/dist/assets/{playbackCompletion-ZhAwimeL.js → playbackCompletion-Dz3OK72-.js} +1 -1
- package/client/dist/assets/{useAnimeInfoData-l7nCKCe5.js → useAnimeInfoData-CQTVAjpz.js} +1 -1
- package/client/dist/assets/{useMangaLibrary-DAPvo2xZ.js → useMangaLibrary-i1RAEkNy.js} +1 -1
- package/client/dist/assets/{useMangaPopup-B5LPCa2N.js → useMangaPopup-BMXrc7pH.js} +1 -1
- package/client/dist/assets/{useProviders-DsY_iifL.js → useProviders-DbKN3TWq.js} +1 -1
- package/client/dist/assets/{useTv-olJK7WfQ.js → useTv-4SqDfx-O.js} +1 -1
- package/client/dist/assets/{useTvLibrary-Deie_gJF.js → useTvLibrary-yhqRv3U7.js} +1 -1
- package/client/dist/assets/{useWatchAlongPlayer-cl8kIOvd.js → useWatchAlongPlayer-BvcoBlQi.js} +1 -1
- package/client/dist/index.html +2 -2
- package/package.json +2 -2
- package/server/package.json +1 -1
- package/client/dist/assets/Home-BqE0OcxM.js +0 -1
- package/client/dist/assets/index-Cd1-bH35.js +0 -178
- package/client/dist/assets/index-Ej7BS74s.css +0 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ _A local-first anime web app focused on performance, privacy, and personal libra
|
|
|
6
6
|
|
|
7
7
|
[](https://opensource.org/licenses/MIT)
|
|
8
8
|

|
|
9
|
-
[](https://github.com/serifpersia/dango)
|
|
10
10
|
|
|
11
11
|
[](https://dango-users-badge.ramiserifpersia.workers.dev/?view=status)
|
|
12
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{T as A,u as o,N as M,S as $}from"./vendor-core-DfaOB3Rn.js";import{I as g}from"./vendor-icons-DrybRNxP.js";import{u as B}from"./useAnimeInfoData-
|
|
1
|
+
import{T as A,u as o,N as M,S as $}from"./vendor-core-DfaOB3Rn.js";import{I as g}from"./vendor-icons-DrybRNxP.js";import{u as B}from"./useAnimeInfoData-CQTVAjpz.js";import{d as C,s as P,h as v}from"./index-Bi-DGtzC.js";import{Q as D}from"./QueueOptionsButton-B2p9VIz2.js";import{p as y,a as I,m as N,M as _}from"./MediaCard-DW8QbvWe.js";import{C as w}from"./playbackCompletion-Dz3OK72-.js";const k=({showId:e,anchorRect:r,onMouseEnter:d,onMouseLeave:c,onRequestClose:u})=>{const{showMeta:t,loadingMeta:i,inWatchlist:h,toggleWatchlist:m}=B(e),{titlePreference:s}=C(),n=A(()=>t?.name?s==="name"?t.name:s==="nativeName"?t.names?.native||t.name:s==="englishName"&&t.names?.english||t.name:"",[t,s]),l=[];t?.score&&l.push({icon:"star",label:String(t.score),accent:!0}),t?.status&&l.push({icon:"tv",label:t.status});const f=Array.isArray(t?.genres)&&t.genres.length>0?t.genres.filter(Boolean).slice(0,4).map(a=>typeof a=="string"?a:a?.name).filter(a=>!!a):[];return o(I,{anchorRect:r,title:n,loading:i,error:t?void 0:"Failed to load info.",meta:l,genres:f,synopsis:t?.description?P(t.description):"No synopsis available.",primaryAction:{to:`/watch/${t?.id||e}`,label:"Watch now",icon:"play"},secondaryAction:{to:`/anime/${t?.id||e}`,label:"Read more"},bookmarked:h,onToggleBookmark:m,extraActions:a=>t?o(D,{showId:e,showName:t.name||t.names?.romaji,showThumbnail:t.thumbnail,nativeName:t.names?.native,englishName:t.names?.english,showType:t.type,className:y.watchlistBtn,activeClassName:y.active,align:"left",onMenuOpenChange:a}):null,onMouseEnter:d,onMouseLeave:c,onRequestClose:u})},j=M(({anime:e,continueWatching:r=!1,onRemove:d,config:c,layout:u="vertical"})=>{const t=e.currentTime||0,i=e.duration||0,h=t>5&&i>5&&t<i*w,m=t>0&&(i<=5||t>=i*w),s=e.episodeNumber,n=r?{pathname:s?`/watch/${e._id}/${s}`:`/watch/${e._id}`,state:{name:e.name,thumbnail:e.thumbnail||"",nativeName:e.nativeName,englishName:e.englishName,type:e.type}}:s?`/watch/${e._id}/${s}`:`/anime/${e._id}`,l=(()=>{if(typeof n=="string")return n.startsWith("/watch/");const p=n.pathname;return typeof p=="string"&&p.startsWith("/watch/")})(),f=r&&s?`EP ${s}`:e.watchedCount!==void 0&&e.watchedCount>0?`EP ${e.watchedCount}`:null,a=[e.airTime,e.aired===!1&&e.nextEpisodeAirDate?`· ${e.nextEpisodeAirDate.split(",")[0]}`:""].filter(Boolean).join(" "),E=e.isAdult||e.rating==="R+"||e.rating==="Rx"||e.rating?.includes("17+"),T=o($,{children:[(e.availableEpisodesDetail?.sub||e.availableEpisodes?.sub)&&o("div",{className:N.metaItem,children:[o(g,{name:"closed-captioning",size:10}),e.availableEpisodesDetail?.sub?.length??e.availableEpisodes?.sub]}),(e.availableEpisodesDetail?.dub||e.availableEpisodes?.dub)&&o("div",{className:N.metaItem,children:[o(g,{name:"microphone",size:10}),e.availableEpisodesDetail?.dub?.length??e.availableEpisodes?.dub]})]});return o(_,{item:{id:e.id||e.showId||e._id,title:e.name,nativeName:e.nativeName,englishName:e.englishName,thumbnail:e.thumbnail,typeBadge:e.type||"TV",chapterBadge:f,airMeta:a||void 0,isAdult:E,notAired:e.aired===!1},linkTo:n,hoverIcon:l?"play":"info",progress:h?{percent:t/i*100,label:`${v(t)} / ${v(i)}`}:m?{percent:100,label:"Watched"}:void 0,showProgress:r,metaRow:T,display:c,layout:u,onRemove:d,showRemoveButton:c?.elements?.poster?.removeButton??(r&&!!d),showInfoButton:!r,enrichedId:e._id,renderPopup:(p,b)=>o(k,{showId:e._id,anchorRect:p,onMouseEnter:b.onMouseEnter,onMouseLeave:b.onMouseLeave,onRequestClose:b.close})})});export{j as A};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as y,a as I,d as T,h as b,T as S,u as e}from"./vendor-core-DfaOB3Rn.js";import{I as o}from"./vendor-icons-DrybRNxP.js";import{d as B,e as w,f as m,a8 as M,s as x,Q as A,B as p}from"./index-
|
|
1
|
+
import{o as y,a as I,d as T,h as b,T as S,u as e}from"./vendor-core-DfaOB3Rn.js";import{I as o}from"./vendor-icons-DrybRNxP.js";import{d as B,e as w,f as m,a8 as M,s as x,Q as A,B as p}from"./index-Bi-DGtzC.js";import{u as D}from"./useAnimeInfoData-CQTVAjpz.js";import{A as G}from"./AnimeMetaDetails-B3-A7O5H.js";import{S as P}from"./SynopsisText-B3Sa5pRv.js";import{Q as W}from"./QueueOptionsButton-B2p9VIz2.js";import"./vendor-query-BBT5_sHx.js";import"./useIsMobile-Dvx1uJ82.js";import"./vendor-ui-3qrARCPr.js";const O="_container_1obln_1",$="_heroSection_1obln_11",U="_bannerContainer_1obln_17",j="_banner_1obln_17",q="_bannerOverlay_1obln_37",z="_heroContent_1obln_49",Q="_posterContainer_1obln_62",V="_floatIn_1obln_1",E="_poster_1obln_62",F="_infoGlass_1obln_86",H="_slideUpIn_1obln_1",J="_title_1obln_100",K="_quickMeta_1obln_109",L="_metaItem_1obln_117",R="_iconStar_1obln_126",X="_iconTv_1obln_129",Y="_iconType_1obln_132",Z="_iconClock_1obln_135",ee="_genres_1obln_139",ne="_genre_1obln_139",te="_infoColumns_1obln_165",oe="_synopsisSection_1obln_180",se="_sectionTitleSmall_1obln_188",ae="_actions_1obln_210",ie="_watchBtn_1obln_216",le="_watchlistBtn_1obln_238",ce="_active_1obln_258",re="_detailsToggleBtn_1obln_265",me="_expandedContent_1obln_288",_e="_fadeIn_1obln_1",de="_detailsGridContainer_1obln_293",he="_detailItem_1obln_301",be="_airingValue_1obln_320",pe="_loadingDetails_1obln_325",ue="_spinner_1obln_334",ve="_spin_1obln_334",ge="_heroSkeleton_1obln_349",ke="_skeletonBanner_1obln_353",fe="_skeletonPoster_1obln_354",Ne="_skeletonTitle_1obln_355",Ce="_skeletonMeta_1obln_356",ye="_skeletonDesc_1obln_357",Ie="_skeletonActions_1obln_358",Te="_skeletonContent_1obln_391",Se="_skeletonInfo_1obln_405",t={container:O,heroSection:$,bannerContainer:U,banner:j,bannerOverlay:q,heroContent:z,posterContainer:Q,floatIn:V,poster:E,infoGlass:F,slideUpIn:H,title:J,quickMeta:K,metaItem:L,iconStar:R,iconTv:X,iconType:Y,iconClock:Z,genres:ee,genre:ne,infoColumns:te,synopsisSection:oe,sectionTitleSmall:se,actions:ae,watchBtn:ie,watchlistBtn:le,active:ce,detailsToggleBtn:re,expandedContent:me,fadeIn:_e,detailsGridContainer:de,detailItem:he,airingValue:be,loadingDetails:pe,spinner:ue,spin:ve,heroSkeleton:ge,skeletonBanner:ke,skeletonPoster:fe,skeletonTitle:Ne,skeletonMeta:Ce,skeletonDesc:ye,skeletonActions:Ie,"skeleton-wave":"_skeleton-wave_1obln_1",skeletonContent:Te,skeletonInfo:Se};function $e(){const{id:s}=y(),a=I(),{titlePreference:l}=B(),[i,u]=T(!1),{showMeta:n,loadingMeta:v,toggleWatchlist:g,inWatchlist:c}=D(s),{hasConsent:k,grant:f}=w();b(()=>{s&&n?.id&&n.id!==s&&a(`/anime/${n.id}`,{replace:!0})},[s,n,a]),b(()=>{document.title=n?.name?`${n.name} - dango`:"Anime - dango"},[n?.name]);const N=()=>n?.name?l==="name"?n.name:l==="nativeName"?n.names?.native||n.name:l==="englishName"&&n.names?.english||n.name:"",C=()=>{s&&a(`/watch/${s}`)},_=S(()=>n?.bannerImage?m(n.bannerImage):n?.thumbnail?m(n.thumbnail,1200,450):"",[n?.bannerImage,n?.thumbnail]);if(v||!n?.name)return e("div",{className:t.container,children:e("div",{className:t.heroSkeleton,children:[e("div",{className:t.skeletonBanner}),e("div",{className:t.skeletonContent,children:[e("div",{className:t.skeletonPoster}),e("div",{className:t.skeletonInfo,children:[e("div",{className:t.skeletonTitle}),e("div",{className:t.skeletonMeta}),e("div",{className:t.skeletonDesc}),e("div",{className:t.skeletonActions})]})]})]})});const d=n.isAdult===!0&&!k;return e("div",{className:t.container,style:d?{filter:"blur(14px)",pointerEvents:"none",userSelect:"none"}:void 0,children:[e("div",{className:t.heroSection,children:[e("div",{className:t.bannerContainer,children:[e("div",{className:t.banner,style:_?{backgroundImage:`url(${_})`}:void 0}),e("div",{className:t.bannerOverlay})]}),e("div",{className:t.heroContent,children:[e("div",{className:t.posterContainer,children:e(M,{src:m(n.thumbnail||"",320,480),alt:n.name,className:t.poster,decoding:"async"})}),e("div",{className:t.infoGlass,children:[e("div",{children:[e("h1",{className:t.title,children:N()}),e("div",{className:t.quickMeta,children:[n.score&&e("div",{className:t.metaItem,children:[e(o,{name:"star",className:t.iconStar}),e("span",{children:n.score})]}),n.status&&e("div",{className:t.metaItem,children:[e(o,{name:"tv",className:t.iconTv}),e("span",{children:n.status})]}),n.type&&e("div",{className:t.metaItem,children:[e(o,{name:"layer-group",className:t.iconType}),e("span",{children:n.type})]})]}),Array.isArray(n.genres)&&n.genres.length>0&&e("div",{className:t.genres,children:n.genres.filter(Boolean).slice(0,5).map(r=>{const h=typeof r=="string"?r:r?.name;return e("span",{className:t.genre,children:h},h)})})]}),e("div",{className:t.infoColumns,children:[e("div",{className:t.synopsisSection,children:[e("h2",{className:t.sectionTitleSmall,children:"Synopsis"}),e(P,{text:x(n.description),emptyText:"No description available."}),e("button",{className:t.detailsToggleBtn,onClick:()=>{u(!i)},children:[i?e(o,{name:"chevron-up"}):e(o,{name:"chevron-down"}),i?"Hide Details":"Show Details"]})]}),i&&e("div",{className:t.expandedContent,children:e(G,{showMeta:n,styles:t})})]}),e("div",{className:t.actions,children:[e("button",{className:t.watchBtn,onClick:C,children:[e(o,{name:"play",size:14}),"Start Watching"]}),e("button",{className:`${t.watchlistBtn} ${c?t.active:""}`,onClick:g,children:[c?e(o,{name:"check",size:14}):e(o,{name:"plus",size:14}),c?"In Watchlist":"Add to Watchlist"]}),e(W,{showId:s,showName:n.name||n.names?.romaji,showThumbnail:n.thumbnail,nativeName:n.names?.native,englishName:n.names?.english,showType:n.type,className:t.watchlistBtn,activeClassName:t.active})]})]})]})]}),d&&e(A,{isOpen:!0,title:"Content Warning",onClose:()=>a("/"),children:e("div",{style:{padding:"1rem",textAlign:"center"},children:[e("p",{children:"This title contains mature content intended for adult audiences."}),e("p",{children:["By proceeding, you confirm that you are ",e("strong",{children:"18 years of age or older"})," (or the age of majority in your jurisdiction) and wish to view this content."]}),e("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center"},children:[e(p,{variant:"secondary",onClick:()=>a("/"),children:"Go Back"}),e(p,{onClick:f,children:"I'm 18+, Continue"})]})]})})]})}export{$e as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AnimeInfo-
|
|
2
|
-
import{aq as r,a2 as t}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AnimeInfo-CR4XFD0Q.js","assets/vendor-core-DfaOB3Rn.js","assets/vendor-icons-DrybRNxP.js","assets/index-Bi-DGtzC.js","assets/vendor-query-BBT5_sHx.js","assets/index-RwPVmyxh.css","assets/useAnimeInfoData-CQTVAjpz.js","assets/QueueOptionsButton-B2p9VIz2.js","assets/vendor-ui-3qrARCPr.js","assets/QueueOptionsButton-CM15uQn8.css","assets/AnimeMetaDetails-B3-A7O5H.js","assets/AnimeMetaDetails-BwNQnRCd.css","assets/SynopsisText-B3Sa5pRv.js","assets/useIsMobile-Dvx1uJ82.js","assets/SynopsisText-CYv2W3yR.css","assets/AnimeInfo-BivVqWcB.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{aq as r,a2 as t}from"./index-Bi-DGtzC.js";import{u as o,P as a,z as e}from"./vendor-core-DfaOB3Rn.js";import"./vendor-query-BBT5_sHx.js";import"./vendor-icons-DrybRNxP.js";const i=e(()=>t(()=>import("./AnimeInfo-CR4XFD0Q.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])));function _(){return o(a,{fallback:o(r,{}),children:o(i,{})})}export{_ as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{T as Ee,u as e,d as b,A as H,a as Ve,g as Re,q as Y,h as T,S as E,$ as je,o as rt,p as st}from"./vendor-core-DfaOB3Rn.js";import{n as Je,a8 as ot,h as Le,ab as lt,t as Me,ac as it,B as Oe,Q as Ke,a5 as M,p as ue,J as ae,e as ct,ad as dt,ae as Be,q as He}from"./index-
|
|
1
|
+
import{T as Ee,u as e,d as b,A as H,a as Ve,g as Re,q as Y,h as T,S as E,$ as je,o as rt,p as st}from"./vendor-core-DfaOB3Rn.js";import{n as Je,a8 as ot,h as Le,ab as lt,t as Me,ac as it,B as Oe,Q as Ke,a5 as M,p as ue,J as ae,e as ct,ad as dt,ae as Be,q as He}from"./index-Bi-DGtzC.js";import{I as w}from"./vendor-icons-DrybRNxP.js";import{u as ut}from"./vendor-query-BBT5_sHx.js";import{T as De}from"./ToggleSwitch-CN_ppEc9.js";import{M as mt}from"./MatureConsentModal-BXFvhDf0.js";import{M as ht,P as pt}from"./MediaCard-DW8QbvWe.js";import{d as ze,e as gt,a as Ge,f as Ye,g as ft,h as yt,i as _t,b as Fe,A as bt}from"./AsmrPopup-6ky2U3uz.js";import{u as kt}from"./useAsmrPopup-BBmHrx9v.js";import{u as vt,d as wt,e as Ct,f as Nt,g as Tt,h as St,S as We,a as At,i as qe,j as Bt,k as Rt,V as Lt,l as Mt}from"./PlayerProvider-BoJyuLEn.js";import{p as ne}from"./page.module-C1MlZzf3.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";import"./libraryInvalidation-B5vX-vJv.js";import"./usePopup-DS9jMzp6.js";const It="_sortSelect_1f2gy_1",Pt="_grid_1f2gy_11",xt="_fetching_1f2gy_25",$t="_thumbPlaceholder_1f2gy_64",Et="_asmrCardWrap_1f2gy_100",jt="_bookmarkBtn_1f2gy_105",Ot="_bookmarked_1f2gy_129",Ht="_statusMsg_1f2gy_152",Dt="_skeletonCard_1f2gy_160",Ft="_skeletonThumb_1f2gy_165",Wt="_skeletonLine_1f2gy_171",qt="_shimmer_1f2gy_178",Ut="_matureToggleWrap_1f2gy_219",Vt="_matureLabel_1f2gy_226",Jt="_translateToggleWrap_1f2gy_232",Kt="_filterTogglesGroup_1f2gy_239",zt="_filterBar_1f2gy_251",Gt="_filterLabel_1f2gy_258",Yt="_detailOverlay_1f2gy_263",Qt="_detailModal_1f2gy_275",Zt="_detailClose_1f2gy_287",Xt="_detailHeader_1f2gy_303",ea="_detailCover_1f2gy_309",ta="_detailInfo_1f2gy_318",aa="_detailTitle_1f2gy_322",na="_detailRj_1f2gy_329",ra="_metaRow_1f2gy_335",sa="_metaLabel_1f2gy_341",oa="_tagChips_1f2gy_347",la="_tagChip_1f2gy_347",ia="_npOverlay_1f2gy_363",ca="_playerBarDocked_1f2gy_378",da="_playerBarDockedHidden_1f2gy_392",ua="_npOverlayControlsHidden_1f2gy_403",ma="_npArrow_1f2gy_403",ha="_npImageCount_1f2gy_404",pa="_npStage_1f2gy_413",ga="_sliderViewport_1f2gy_429",fa="_slide_1f2gy_429",ya="_slideImg_1f2gy_431",_a="_npStageBlank_1f2gy_450",ba="_sliderTrack_1f2gy_469",ka="_slideImgLoaded_1f2gy_502",va="_slideSpinner_1f2gy_507",wa="_npArrowLeft_1f2gy_557",Ca="_npArrowRight_1f2gy_561",Na="_chapterPanel_1f2gy_578",Ta="_chapterRow_1f2gy_593",Sa="_chapterRowActive_1f2gy_612",Aa="_chapterRowTime_1f2gy_616",Ba="_chapterRowLabel_1f2gy_627",Ra="_npBackdrop_1f2gy_633",La="_playerBtn_1f2gy_639",Ma="_playerBtnActive_1f2gy_639",Ia="_tracksSection_1f2gy_645",Pa="_tracksHeading_1f2gy_649",xa="_trackList_1f2gy_655",$a="_trackRow_1f2gy_664",Ea="_trackIcon_1f2gy_682",ja="_trackLabel_1f2gy_687",Oa="_trackType_1f2gy_692",Ha="_noTracks_1f2gy_697",Da="_playAllBtn_1f2gy_702",Fa="_detailActions_1f2gy_715",Wa="_playerBar_1f2gy_378",qa="_playerActions_1f2gy_738",Ua="_playerInfo_1f2gy_744",Va="_playerTitle_1f2gy_749",Ja="_playerTrack_1f2gy_758",Ka="_playerControls_1f2gy_764",za="_seekRow_1f2gy_771",Ga="_playerButtons_1f2gy_779",Ya="_seekBtn_1f2gy_814",Qa="_playBtn_1f2gy_824",Za="_seekBar_1f2gy_871",Xa="_volumeBar_1f2gy_872",en="_timeLabel_1f2gy_964",tn="_playerRight_1f2gy_970",an="_volumeIcon_1f2gy_976",nn="_playerToggle_1f2gy_1020",t={sortSelect:It,grid:Pt,fetching:xt,thumbPlaceholder:$t,asmrCardWrap:Et,bookmarkBtn:jt,bookmarked:Ot,statusMsg:Ht,skeletonCard:Dt,skeletonThumb:Ft,skeletonLine:Wt,shimmer:qt,matureToggleWrap:Ut,matureLabel:Vt,translateToggleWrap:Jt,filterTogglesGroup:Kt,filterBar:zt,filterLabel:Gt,detailOverlay:Yt,detailModal:Qt,detailClose:Zt,detailHeader:Xt,detailCover:ea,detailInfo:ta,detailTitle:aa,detailRj:na,metaRow:ra,metaLabel:sa,tagChips:oa,tagChip:la,npOverlay:ia,playerBarDocked:ca,playerBarDockedHidden:da,npOverlayControlsHidden:ua,npArrow:ma,npImageCount:ha,npStage:pa,sliderViewport:ga,slide:fa,slideImg:ya,npStageBlank:_a,sliderTrack:ba,slideImgLoaded:ka,slideSpinner:va,npArrowLeft:wa,npArrowRight:Ca,chapterPanel:Na,chapterRow:Ta,chapterRowActive:Sa,chapterRowTime:Aa,chapterRowLabel:Ba,npBackdrop:Ra,playerBtn:La,playerBtnActive:Ma,tracksSection:Ia,tracksHeading:Pa,trackList:xa,trackRow:$a,trackIcon:Ea,trackLabel:ja,trackType:Oa,noTracks:Ha,playAllBtn:Da,detailActions:Fa,playerBar:Wa,playerActions:qa,playerInfo:Ua,playerTitle:Va,playerTrack:Ja,playerControls:Ka,seekRow:za,playerButtons:Ga,seekBtn:Ya,playBtn:Qa,seekBar:Za,volumeBar:Xa,timeLabel:en,playerRight:tn,volumeIcon:an,playerToggle:nn},rn=({work:r,onClose:o,onPlay:k,t:g})=>{const{data:i,isLoading:u}=ze(r.id||null),y=Je(r),{data:S}=gt(y||void 0),{toggle:_,bookmarkedIds:C}=Ge(),{data:I}=Ye(y||void 0),R=y?C.has(y):!!S?.inLibrary,f=Ee(()=>(i?.description||r.description||"").split(`
|
|
2
2
|
`).map(c=>{const l=c.indexOf(":");return l===-1?null:{label:c.slice(0,l),value:c.slice(l+1).trim()}}).filter(c=>!!c&&!!c.value),[i?.description,r.description]),m=i?.tracks||[],L=r.thumbnail||i?.images?.[0],A=Ee(()=>{const c=I?.progress??[];return c.length>0?c.reduce((l,B)=>l.updatedAt>=B.updatedAt?l:B):null},[I]),h=A&&A.trackIndex<m.length?A.trackIndex:null;return e("div",{className:t.detailOverlay,onClick:o,children:e("div",{className:t.detailModal,onClick:c=>c.stopPropagation(),children:[e("button",{className:t.detailClose,onClick:o,"aria-label":"Close",children:e(w,{name:"times"})}),e("div",{className:t.detailHeader,children:[L?e(ot,{className:t.detailCover,src:L,alt:r.name,decoding:"async"}):e("div",{className:`${t.detailCover} ${t.thumbPlaceholder}`}),e("div",{className:t.detailInfo,children:[e("h2",{className:t.detailTitle,children:g?g(r.name):r.name}),e("p",{className:t.detailRj,children:r.id}),f.map(c=>c.label==="Tags"?e("p",{className:t.metaRow,children:[e("span",{className:t.metaLabel,children:"Tags"}),e("span",{className:t.tagChips,children:c.value.split(", ").map(l=>e("span",{className:t.tagChip,children:l},l))})]},c.label):e("p",{className:t.metaRow,children:[e("span",{className:t.metaLabel,children:c.label}),c.value]},c.label))]})]}),e("div",{className:t.tracksSection,children:[e("h3",{className:t.tracksHeading,children:u?"Loading tracks…":`Tracks (${m.length})`}),!u&&(m.length>0?e("ul",{className:t.trackList,children:m.map((c,l)=>e("li",{children:e("button",{className:t.trackRow,onClick:()=>k(r,m,l),children:[e(w,{name:"play",className:t.trackIcon}),e("span",{className:t.trackLabel,children:c.resolutionStr}),e("span",{className:t.trackType,children:c.hls?"HLS":"MP3"})]})},c.link))}):e("p",{className:t.noTracks,children:"No audio streams available for this work."}))]}),e("div",{className:t.detailActions,children:[!u&&m.length>0&&e("button",{className:t.playAllBtn,onClick:()=>k(r,m,0),children:[e(w,{name:"play"})," Play from start"]}),!u&&h!==null&&A&&e("button",{className:t.playAllBtn,onClick:()=>k(r,m,h),children:[e(w,{name:"history"})," Resume track ",h+1," ·"," ",Le(A.currentTime),A.duration>0?` / ${Le(A.duration)}`:""]}),y&&e("button",{className:t.playAllBtn,onClick:()=>_({rjCode:y,title:r.name,thumbnail:r.thumbnail||"",isAdult:!!r.isAdult}),"aria-pressed":R,children:[e(w,{name:R?"check":"plus"})," ",R?"In listening list":"Add to listening list"]})]})]})})},sn=r=>{const{engine:o}=vt({volumeKey:"asmrVolume",mutedKey:"asmrMuted"});return e(wt,{engine:o,children:e(on,{...r})})},on=({title:r,images:o,chapters:k,tracks:g,trackIndex:i,expanded:u,isAdult:y,rjCode:S,t:_,onTrackChange:C,onExpandedChange:I,onClose:R})=>{const f=Ct(),m=f.mediaRef,{duration:L,volume:A,isPlaying:h}=Nt(f),{currentTime:c}=Tt(f),[l,B]=b(!0),[p,x]=b(0),[j,Q]=b(new Set),[N,K]=b(!1),[$,D]=b(!0),U=H("");U.current||(U.current=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`asmr-${Date.now()}-${Math.random().toString(36).slice(2)}`);const me=Ve(),F=Re.useMemo(()=>S?lt(S):"",[S]),W=ft(),be=yt(),{data:Z}=Ye(F||void 0),[ke,re]=b(!1),he=H(""),q=H(null),pe=H(0),V=H(0),se=H(0),oe=g[i],ge=oe?.link,J=oe?.hls,fe=oe?.resolutionStr||"",le=o.length>0,X=`${F}:${i}`,ie=Re.useMemo(()=>(Z?.progress??[]).find(s=>s.trackIndex===i)??null,[Z,i]),ve=H({workId:"",trackIndex:0,trackLabel:""}),z=H(Z);z.current=Z,ve.current={workId:F,trackIndex:i,trackLabel:fe};const ce=Y((a,s,v,O=!1)=>{!a.workId||!v||v<10||!O&&Math.abs(s-pe.current)<5||(pe.current=s,W.mutate({workId:a.workId,trackIndex:a.trackIndex,trackLabel:a.trackLabel,currentTime:Math.floor(s),duration:Math.floor(v),title:r,thumbnail:o[0]||"",rjCode:a.workId,isAdult:y?1:0}))},[W,r,o,y]),ye=Y((a=!1)=>{q.current&&(clearTimeout(q.current),q.current=null),ce(ve.current,V.current,se.current,a)},[ce]),ee=H(ye);ee.current=ye;const we=H(ce);we.current=ce,T(()=>{if(!m.current||!ge)return;const s={workId:F,trackIndex:i,trackLabel:fe},v=()=>{q.current&&(clearTimeout(q.current),q.current=null),we.current(s,f.getTimeline().currentTime,f.getState().duration||se.current,!0)};V.current=0,se.current=0,pe.current=0;const O=z.current?.progress?.find(nt=>nt.trackIndex===i),Te=O?.currentTime||0,Se=O?.duration||0,Ae=Te>=10&&Se-Te>=15,at=f.loadSource({url:ge,hls:J},{autoPlay:!Ae});return()=>{v(),at()}},[f,ge,J,F,i,fe,m]),T(()=>{const a=()=>{document.visibilityState==="hidden"&&ee.current()},s=()=>ee.current();return document.addEventListener("visibilitychange",a),window.addEventListener("pagehide",s),()=>{document.removeEventListener("visibilitychange",a),window.removeEventListener("pagehide",s)}},[]),T(()=>{if(!ie||he.current===X||!(L>0))return;const a=ie.currentTime||0,s=ie.duration||L;he.current=X,!(!(a>=10&&s-a>=15&&V.current<a)||!m.current)&&(f.seek(a),V.current=a,f.play())},[f,m,ie,L,X]),T(()=>{if(u)return document.body.classList.add("asmr-player-open"),()=>document.body.classList.remove("asmr-player-open")},[u]),T(()=>{x(0)},[o]),T(()=>{u&&D(!0)},[u]),T(()=>{N&&D(!0)},[N]);const de=Y(a=>{if(!r||g.length===0)return;const s=g[i],v=s?`${s.resolutionStr} (${i+1}/${g.length})`:"",O=m.current,Te=O?O.currentTime:0,Se=O&&O.duration||0,Ae=o[0]||"";Me.discord.asmrPresence.mutate({title:r,trackLabel:v,isPlaying:a,thumbnail:Ae,thumbnails:o,currentTime:Te,duration:Se,isAdult:!!y,rjCode:S||"",sessionId:U.current}).catch(()=>{}),Me.discord.heartbeat.mutate({sessionId:U.current}).catch(()=>{})},[m,r,g,i,o,y,S]);T(()=>{de(h)},[de,h,i,r,u]),T(()=>{if(!h)return;const a=window.setInterval(()=>de(!0),15e3);return()=>window.clearInterval(a)},[h,de]),T(()=>{const a=U.current,s=()=>it(a),v=()=>s(),O=()=>{document.visibilityState==="hidden"&&s()};return window.addEventListener("pagehide",v),window.addEventListener("beforeunload",v),document.addEventListener("visibilitychange",O),()=>{window.removeEventListener("pagehide",v),window.removeEventListener("beforeunload",v),document.removeEventListener("visibilitychange",O),s()}},[]);const n=Y(a=>{Q(s=>{if(s.has(a))return s;const v=new Set(s);return v.add(a),v})},[]),d=Y((a,s)=>{a&&a.complete&&a.naturalWidth>0&&n(s)},[n]);T(()=>{if(!u)return;const a=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"){N?K(!1):I(!1);return}!l||o.length<2||(s.key==="ArrowLeft"&&x(v=>Math.max(0,v-1)),s.key==="ArrowRight"&&x(v=>Math.min(o.length-1,v+1)))}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[u,l,o.length,N,I]);const P=()=>{ye(!0),i<g.length-1?C(i+1):re(!0)},Ce=a=>{const s=a.currentTarget.currentTime;V.current=s,q.current&&clearTimeout(q.current),q.current=setTimeout(()=>ee.current(),5e3)},te=()=>{ee.current()},Ne=a=>{const s=a.currentTarget.duration;se.current=Number.isFinite(s)?s:0},G=Y(()=>{F&&be.mutate({rjCode:F,title:r,thumbnail:o[0]||"",status:"Completed",isAdult:!!y,silent:!0}),re(!1),R(),me("/")},[F,be,r,o,y,R,me]),Ze=k.reduce((a,s,v)=>c>=s.time?v:a,-1),Xe=a=>f.seek(a);St(f,()=>D(!0),!u||!l&&!N);const et=e(E,{children:[e("div",{className:t.playerButtons,children:[e("button",{className:t.playerBtn,onClick:()=>C(Math.max(0,i-1)),disabled:i===0,"aria-label":"Previous track",children:e(w,{name:"step-backward"})}),e(We,{seconds:-10,className:`${t.playerBtn} ${t.seekBtn}`}),e(At,{className:`${t.playerBtn} ${t.playBtn}`}),e(We,{seconds:10,className:`${t.playerBtn} ${t.seekBtn}`}),e("button",{className:t.playerBtn,onClick:()=>C(Math.min(g.length-1,i+1)),disabled:i>=g.length-1,"aria-label":"Next track",children:e(w,{name:"step-forward"})})]}),e("div",{className:t.seekRow,children:[e(qe,{className:t.timeLabel}),e(Bt,{className:t.seekBar}),e(qe,{className:t.timeLabel,durationOnly:!0})]})]}),Ie=e(E,{children:[e("button",{className:`${t.playerBtn} ${t.playerToggle}`,onClick:()=>I(!u),"aria-label":u?"Minimize player":"Expand player",title:u?"Minimize to browse":"Expand",children:u?e(w,{name:"chevron-down"}):e(w,{name:"chevron-up"})}),e("div",{className:t.playerInfo,children:[e(Rt,{}),e("p",{className:t.playerTitle,title:r,children:_?_(r):r}),e("p",{className:t.playerTrack,children:[oe?.resolutionStr||"",g.length>1?` (${i+1}/${g.length})`:""]})]}),e("div",{className:t.playerControls,children:et}),e("div",{className:t.playerRight,children:[A===0?e(w,{name:"volume-mute",className:t.volumeIcon}):A<.5?e(w,{name:"volume-down",className:t.volumeIcon}):e(w,{name:"volume-up",className:t.volumeIcon}),e(Lt,{className:t.volumeBar})]}),e("div",{className:t.playerActions,children:[u&&le&&e("button",{className:t.playerBtn,onClick:()=>B(a=>!a),"aria-label":l?"Hide images":"Show images",title:l?"Hide images":"Show images",children:l?e(w,{name:"eye-slash"}):e(w,{name:"image"})}),u&&k.length>0&&e("button",{className:`${t.playerBtn} ${N?t.playerBtnActive:""}`,onClick:()=>K(a=>!a),"aria-label":N?"Hide bookmarks":"Show bookmarks",title:"Timestamps",children:e(w,{name:"list-ol"})}),e("button",{className:t.playerBtn,onClick:R,"aria-label":"Close player",children:e(w,{name:"times"})})]})]}),Pe=e(Mt,{preload:"metadata",onPause:te,onTimeUpdate:Ce,onLoadedMetadata:Ne,onEnded:P}),xe=e(Ke,{isOpen:ke,onClose:()=>re(!1),title:"Finished!",children:e("div",{style:{padding:"1rem",textAlign:"center"},children:[e(w,{name:"check-circle",size:48,style:{color:"var(--accent-lighter)",marginBottom:"0.5rem"}}),e("p",{style:{fontSize:"1.1rem",fontWeight:600},children:_?_(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(Oe,{variant:"secondary",onClick:()=>re(!1),children:"Close"}),e(Oe,{onClick:G,children:"Mark Completed & Back to Home"})]})]})});if(!u)return je(e(E,{children:[Pe,e("div",{ref:f.containerRef,"data-player-root":"true",className:t.playerBar,children:Ie}),xe]}),document.body);const _e=Math.min(p,Math.max(0,o.length-1)),$e=o[_e],tt=l&&le&&!!$e&&!j.has($e);return je(e(E,{children:[Pe,xe,e("div",{ref:f.containerRef,"data-player-root":"true",className:`${t.npOverlay} ${$?"":t.npOverlayControlsHidden}`,children:[e("div",{className:`${t.npStage} ${!l||!le?t.npStageBlank:""}`,onClick:()=>D(a=>!a),children:l&&le&&e(E,{children:[e("div",{className:t.sliderViewport,children:[e("div",{className:t.sliderTrack,style:{transform:`translateX(-${_e*100}%)`},children:o.map(a=>e("div",{className:t.slide,children:e("img",{ref:s=>d(s,a),src:a,alt:`${_?_(r):r} - work image`,loading:"lazy",decoding:"async",draggable:!1,onLoad:()=>n(a),onError:()=>n(a),className:`${t.slideImg} ${j.has(a)?t.slideImgLoaded:""}`})},a))}),tt&&e("span",{className:t.slideSpinner,"aria-label":"Loading image"})]}),o.length>1&&e(E,{children:[e("button",{className:`${t.npArrow} ${t.npArrowLeft}`,onClick:a=>{a.stopPropagation(),x(s=>Math.max(0,s-1)),D(!0)},disabled:_e===0,"aria-label":"Previous image",children:e(w,{name:"chevron-left"})}),e("button",{className:`${t.npArrow} ${t.npArrowRight}`,onClick:a=>{a.stopPropagation(),x(s=>Math.min(o.length-1,s+1)),D(!0)},disabled:_e===o.length-1,"aria-label":"Next image",children:e(w,{name:"chevron-right"})}),e("span",{className:t.npImageCount,onClick:a=>a.stopPropagation(),children:[_e+1," / ",o.length]})]})]})}),e("div",{className:`${t.playerBar} ${t.playerBarDocked} ${$?"":t.playerBarDockedHidden}`,onClick:a=>a.stopPropagation(),children:[Ie,N&&e(E,{children:[e("div",{className:t.npBackdrop,onClick:()=>K(!1)}),e("div",{className:t.chapterPanel,children:k.map((a,s)=>e("button",{className:`${t.chapterRow} ${s===Ze?t.chapterRowActive:""}`,title:_?_(a.label):a.label,onClick:()=>{Xe(a.time),K(!1)},children:[e("span",{className:t.chapterRowTime,children:Le(a.time)}),e("span",{className:t.chapterRowLabel,title:_?_(a.label):a.label,children:_?_(a.label):a.label})]},`${a.time}-${s}`))})]})]})]})]}),document.body)},ln="https://github.com/serifpersia/dango/releases/latest/download/dango-extension.zip",cn=r=>{try{return JSON.parse(r.detail)}catch{return null}},dn=({isOpen:r,onClose:o,onSuccess:k})=>{const[g,i]=b(1),[u,y]=b(typeof navigator<"u"?navigator.userAgent:""),[S,_]=b(""),[C,I]=b(!1),[R,f]=b(!1),m=H(null),L=typeof navigator<"u"?navigator.userAgent:"",A=/android/i.test(L),h=/firefox|fxios/i.test(L)&&!A,c=!h&&!A&&/chrome|chromium|edg|brave/i.test(L),l=h||c;T(()=>{r&&(i(1),y(typeof navigator<"u"?navigator.userAgent:""),_(""),I(!1),f(!1))},[r]),T(()=>()=>{m.current&&(window.removeEventListener("dango:jasmr-cookie",m.current),m.current=null)},[]);const B=async()=>{ue.setItem("jasmr_ua",u),window.open("https://japaneseasmr.com","_blank","noopener,noreferrer"),i(2)},p=()=>{if(R)return;f(!0);const j=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,Q=window.setTimeout(()=>{f(!1),m.current&&(window.removeEventListener("dango:jasmr-cookie",m.current),m.current=null),ae.error("Helper not detected - install it via about:debugging first.")},3e3),N=K=>{const $=cn(K);if(!(!$||$.requestId!==j))if(window.clearTimeout(Q),window.removeEventListener("dango:jasmr-cookie",N),m.current=null,f(!1),$?.ok&&$.cookie)_($.cookie),ae.success("Cookie extracted from helper!");else if($?.error==="NO_COOKIE"){const D=$.debug?.stores?.length??0,U=$.debug?.names??[];ae.error(`Helper found no cf_clearance (checked ${D} stores, saw: ${U.join(", ")||"none"}) - solve the challenge on the JapaneseASMR tab first.`)}else ae.error("Helper request failed - try again.")};m.current=N,window.addEventListener("dango:jasmr-cookie",N),window.dispatchEvent(new CustomEvent("dango:get-jasmr-cookie",{detail:{requestId:j}}))},x=async()=>{if(!S.trim()){ae.error("Please enter the cf_clearance cookie");return}I(!0);try{ue.setItem("jasmr_cookie",S.trim()),ae.success("Cookie updated successfully!"),k?.(),o()}catch{ae.error("Failed to save cookie")}finally{I(!1)}};return e(Ke,{isOpen:r,onClose:o,title:"JapaneseASMR Verification Required",children:e("div",{className:M.container,children:g===1?e(E,{children:[e("p",{children:["JapaneseASMR is protected by a Cloudflare challenge. Solve it once in your browser and paste the ",e("strong",{children:"cf_clearance"})," cookie so the app can load the site for you."]}),e("div",{className:M.field,children:[e("label",{children:"Your User-Agent (must match the browser you solve the challenge with):"}),e("textarea",{value:u,onChange:j=>y(j.currentTarget.value),rows:3,className:M.textarea})]}),e("div",{className:M.actions,children:[e("button",{className:M.secondaryButton,onClick:o,children:"Cancel"}),e("button",{className:M.button,onClick:B,children:"Start Verification (Opens JapaneseASMR)"})]})]}):e(E,{children:[e("p",{children:["1. Solve the challenge on the ",e("strong",{children:"JapaneseASMR tab"})," (keep that tab open).",e("br",{}),"2. Copy the ",e("strong",{children:"cf_clearance"})," cookie value using one of these:",e("br",{}),e("br",{}),e("strong",{children:"Chrome / Edge — DevTools:"})," press ",e("code",{children:"F12"})," →"," ",e("strong",{children:"Application"})," → ",e("strong",{children:"Cookies"})," →"," ",e("code",{children:"https://japaneseasmr.com"}),". Find ",e("strong",{children:"cf_clearance"}),", double-click its ",e("strong",{children:"Value"})," to select it, then copy.",e("br",{}),e("br",{}),e("strong",{children:"Firefox — Storage Inspector:"})," press ",e("code",{children:"F12"})," →"," ",e("strong",{children:"Storage"})," → ",e("strong",{children:"Cookies"})," →"," ",e("code",{children:"https://japaneseasmr.com"}),". Find ",e("strong",{children:"cf_clearance"}),", right-click the value → ",e("strong",{children:"Copy Value"}),".",e("br",{}),e("br",{}),e("strong",{children:"Either browser — extension:"})," open"," ",e("strong",{children:"Cookie Manager"})," while on the JapaneseASMR tab, find"," ",e("strong",{children:"cf_clearance"}),", and copy its value (or use the extension's export).",e("br",{}),e("br",{}),"3. Paste it below. Copy ",e("strong",{children:"only the value"})," — remove any"," ",e("code",{children:"cf_clearance="})," prefix or quotes if they were included."]}),l&&e("div",{className:M.hint,children:[e("strong",{children:"Dango helper (one-time setup):"})," ",h?e(E,{children:["type ",e("code",{children:"about:debugging"})," in the address bar →"," ",e("strong",{children:"This Firefox"})," → ",e("strong",{children:"Load Temporary Add-on"})," ","→ open the ",e("code",{children:"dango-extension/firefox"})," folder and pick"," ",e("code",{children:"manifest.json"}),". (Temporary helpers unload when Firefox closes - repeat after a restart.)"]}):e(E,{children:["type ",e("code",{children:"chrome://extensions"})," in the address bar → enable"," ",e("strong",{children:"Developer mode"})," → ",e("strong",{children:"Load unpacked"})," → open the ",e("code",{children:"dango-extension/chrome"})," folder. (Unpacked helpers show a developer-mode notice - expected.)"]})," ","Use this link to download the extension and extract it:"," ",e("a",{href:ln,target:"_blank",rel:"noreferrer",className:M.link,children:"dango-extension.zip"}),". Then click Extract below and the field fills itself.",e("div",{className:M.actions,children:e("button",{className:M.button,onClick:p,disabled:R,type:"button",children:R?"Extracting…":"Extract cookie from helper"})})]}),e("div",{className:M.field,children:[e("label",{children:"cf_clearance cookie value:"}),e("input",{type:"text",value:S,onChange:j=>_(j.currentTarget.value),placeholder:"e.g. xxxxxxxx.xxxxxxxx.xxxxxxx-xxxxxxx",className:M.input})]}),e("div",{className:M.actions,children:[e("button",{className:M.secondaryButton,onClick:o,children:"Cancel"}),e("button",{className:M.secondaryButton,onClick:()=>i(1),children:"Back"}),e("button",{className:M.button,onClick:x,disabled:C,children:C?"Saving...":"Submit"})]})]})})})},Qe="asmrTranslateCache",un=10080*60*1e3;function mn(){try{const r=ue.getItem(Qe);if(!r)return new Map;const o=JSON.parse(r);return new Map(Object.entries(o))}catch{return new Map}}function hn(r){try{const o={};for(const[k,g]of r)o[k]=g;ue.setItem(Qe,JSON.stringify(o))}catch{}}function Ue(r){return/[\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FAF]/.test(r)}async function pn(r){const o=r.map(i=>i.trim()).filter(Boolean);if(o.length===0)return new Map;const k=await Me.settings.translate.mutate({texts:o,source:"ja",target:"en"}),g=new Map;for(const[i,u]of Object.entries(k.translations||{}))g.set(i,u);for(const i of o)g.has(i)||g.set(i,i);return g}function gn(r,o){const[k,g]=b(new Map),[i,u]=b(!1),y=H(null),S=r.join("");return T(()=>{const C=S?S.split(""):[];if(!o||C.length===0){g(new Map),u(!1);return}const I=Array.from(new Set(C.map(h=>h.trim()).filter(Boolean).filter(Ue)));if(I.length===0){g(new Map);return}y.current||(y.current=mn());const R=Date.now(),f=new Map,m=[];for(const h of I){const c=y.current.get(h);c&&R-c.ts<un?f.set(h,c.t):m.push(h)}if(m.length===0){g(f);return}let L=!1;u(!0);const A=[];for(let h=0;h<m.length;h+=15)A.push(m.slice(h,h+15));return(async()=>{const h=new Map;for(const l of A){try{const B=await pn(l);for(const[p,x]of B)h.set(p,x)}catch{}await new Promise(B=>setTimeout(B,120))}if(L)return;if(y.current){for(const[l,B]of h)y.current.set(l,{t:B,ts:Date.now()});hn(y.current)}const c=new Map([...f,...h]);g(c),u(!1)})(),()=>{L=!0}},[o,S]),{t:C=>!o||!C||!Ue(C)?C:k.get(C.trim())||C,map:k,isTranslating:i}}const fn=[{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"}]}],yn=[{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 / グロ"}],_n=[{value:"sfw",label:"SFW / 全年齢"}],xn=()=>{const{rj:r}=rt(),o=Ve(),[k,g]=st(),{hasConsent:i,grant:u}=ct(),[y,S]=b(!1),[_,C]=b(()=>k.get("q")||""),[I,R]=b(()=>k.get("q")||""),[f,m]=b("latest"),[L,A]=b("sfw"),[h,c]=b(1),[l,B]=b(null),[p,x]=b(null),[j,Q]=b(!0),[N,K]=b(()=>ue.getItem("asmrTranslateEN")==="true"),[$,D]=b(!1),U=ut(),{toggle:me,bookmarkedIds:F}=Ge(),{popup:W,openPopup:be,scheduleClose:Z,cancelClose:ke,closePopup:re}=kt();T(()=>dt("jasmr",()=>D(!0)),[]),T(()=>{ue.setItem("asmrTranslateEN",String(N))},[N]);const he=i,q=he?L:"sfw",pe=he?yn:_n,{data:V,isLoading:se,isError:oe,isFetching:ge}=_t(I,h,f,q),J=Re.useMemo(()=>V?.shows??[],[V?.shows]),fe=V?.hasNext??!1;T(()=>{if(!r){l&&!p&&B(null);return}const n=r.toUpperCase();if(p&&(p.work.id?.toUpperCase()===n||p.work._id?.toUpperCase()===n)){l&&B(null);return}const d=J.find(P=>(P.id||P._id)?.toUpperCase()===n);d?(!l||(l.id||l._id)!==(d.id||d._id))&&B(d):(!l||(l.id||l._id)?.toUpperCase()!==n)&&B({_id:n,id:n,name:n})},[r,J,p,l]);const le=Y(()=>{o("/asmr")},[o]);T(()=>{!r&&p&&x(null)},[r,p]);const{data:X}=ze(p&&p.work.id||null),ie=p?[p.work.thumbnail,...X?.images||[]].filter(Boolean):[],ve=[...J.map(n=>n.name),l?.name||"",p?.work.name||"",...X?.chapters?.map(n=>n.label)||[]].filter(Boolean),{t:z}=gn(ve,N);T(()=>{const n=p?p.work.name:l?l.name:r?r.toUpperCase():"",d=n?N?z(n):n:"",P=d?`${d} - dango`:"dango";document.title=P;try{window.history.replaceState(window.history.state,P,window.location.href)}catch{}},[l,p,r,N,z]);const ce=n=>{n.preventDefault(),R(_),c(1);const d=new URLSearchParams(k);_.trim()?d.set("q",_.trim()):d.delete("q"),d.delete("page"),g(d,{replace:!0})};T(()=>{const n=k.get("q")||"";C(d=>d===n?d:n),R(d=>d===n?d:n),c(1)},[k]);const ye=n=>{n.currentTarget.checked&&!i&&S(!0)},ee=()=>{u(),S(!1),c(1)},we=()=>{S(!1)},de=Y((n,d,P)=>{B(null),Q(!0),x({work:n,tracks:d,index:P})},[]);return e("div",{className:`${ne.page} ${p?ne.pageWithPlayer:""}`,children:[!(p&&j)&&e(E,{children:[e("header",{className:ne.header,children:[e("h1",{className:ne.pageTitle,children:[e(w,{name:"headphones"})," ASMR"]}),e("form",{className:ne.searchForm,onSubmit:ce,children:[e("input",{className:ne.searchInput,type:"text",value:_,onChange:n=>C(n.currentTarget.value),placeholder:"Search works, circles, CV… (-word excludes)","aria-label":"Search ASMR works"}),e("button",{className:ne.searchBtn,type:"submit","aria-label":"Search",children:e(w,{name:"search"})})]})]}),e("div",{className:t.filterBar,children:[e("label",{className:t.filterLabel,htmlFor:"asmr-sort",children:"Sort"}),e("select",{id:"asmr-sort",className:t.sortSelect,value:f,onChange:n=>{m(n.currentTarget.value),c(1)},children:fn.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:t.filterLabel,htmlFor:"asmr-rating",children:"Type"}),e("select",{id:"asmr-rating",className:t.sortSelect,value:L,onChange:n=>{A(n.currentTarget.value),c(1)},children:pe.map(n=>e("option",{value:n.value,children:n.label},n.value))}),e("div",{className:t.filterTogglesGroup,children:[e("div",{className:t.translateToggleWrap,children:[e("span",{className:t.filterLabel,children:"JP"}),e(De,{id:"asmr-translate-toggle",isChecked:N,onChange:n=>K(n.currentTarget.checked)}),e("span",{className:t.filterLabel,children:"EN"})]}),!i&&e("div",{className:t.matureToggleWrap,children:[e("label",{className:t.matureLabel,htmlFor:"asmr-mature-toggle",children:"Mature"}),e(De,{id:"asmr-mature-toggle",isChecked:!1,onChange:ye})]})]})]}),oe?e("p",{className:t.statusMsg,children:"Failed to load works. Please try again."}):se&&J.length===0?e("div",{className:t.grid,"aria-hidden":!0,children:Array.from({length:12}).map((n,d)=>e("div",{className:t.skeletonCard,children:[e("div",{className:`${t.skeletonThumb} ${t.shimmer}`}),e("div",{className:`${t.skeletonLine} ${t.shimmer}`,style:{width:"88%"}}),e("div",{className:`${t.skeletonLine} ${t.shimmer}`,style:{width:"55%"}})]},d))}):J.length===0?e("p",{className:t.statusMsg,children:"No works found."}):e(E,{children:[e("div",{className:`${t.grid} ${ge?t.fetching:""}`,children:J.map(n=>{const d=N?{...n,name:z(n.name)}:n,P=Je(n),Ce=Fe(P),te=F.has(Ce),Ne=`/asmr/${encodeURIComponent(P)}`;return e("div",{className:t.asmrCardWrap,children:[e(ht,{item:{id:Ce,title:d.name,thumbnail:n.thumbnail||"",typeBadge:P||void 0,isAdult:Be(n)},linkTo:Ne,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:G=>be(G,{rjCode:P,title:d.name,thumbnail:n.thumbnail||"",isAdult:Be(n),rating:n.rating,listenTarget:Ne}),onPopupHoverIntent:G=>G?ke():Z(),rawThumbnail:!0}),e("button",{className:`${t.bookmarkBtn} ${te?t.bookmarked:""}`,onClick:G=>{G.preventDefault(),G.stopPropagation(),me({rjCode:P,title:n.name,thumbnail:n.thumbnail||"",isAdult:Be(n)})},title:te?"Remove from listening list":"Add to listening list","aria-label":te?"Remove from listening list":"Add to listening list","aria-pressed":te,children:e(w,{name:te?"check":"plus",size:12})})]},n._id||n.id)})}),e(pt,{page:h,canGoNext:fe,onChange:n=>c(n),variant:"labeled"})]})]}),l&&e(rn,{work:l,onClose:le,onPlay:de,t:z}),W&&e(bt,{data:W.data,anchorRect:W.rect,bookmarked:F.has(Fe(W.data.rjCode)),onToggleBookmark:()=>me({rjCode:W.data.rjCode,title:W.data.title,thumbnail:W.data.thumbnail||"",isAdult:W.data.isAdult}),onMouseEnter:ke,onMouseLeave:Z,onRequestClose:re}),$&&e(dn,{isOpen:$,onClose:()=>D(!1),onSuccess:()=>{U.invalidateQueries({queryKey:[He.asmrBrowse]}),U.invalidateQueries({queryKey:[He.asmrWork]})}}),y&&e(mt,{isOpen:!0,scope:"section",showResetHint:!0,onClose:we,onGrant:ee}),p&&e(sn,{title:p.work.name,images:ie,chapters:X?.chapters||[],tracks:p.tracks,trackIndex:p.index,expanded:j,isAdult:!!p.work.isAdult,rjCode:p.work.id||p.work._id,t:z,onTrackChange:n=>x(d=>d&&{...d,index:n}),onExpandedChange:Q,onClose:()=>{x(null),Q(!0),r&&o("/asmr")}})]})};export{xn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{T as Q,u as E}from"./vendor-core-DfaOB3Rn.js";import{b as v,u as d,a as p,e as w}from"./vendor-query-BBT5_sHx.js";import{o as c,J as i,ab as O,q as A,t as k}from"./index-
|
|
1
|
+
import{T as Q,u as E}from"./vendor-core-DfaOB3Rn.js";import{b as v,u as d,a as p,e as w}from"./vendor-query-BBT5_sHx.js";import{o as c,J as i,ab as O,q as A,t as k}from"./index-Bi-DGtzC.js";import{i as L}from"./libraryInvalidation-B5vX-vJv.js";import{a as _}from"./MediaCard-DW8QbvWe.js";const x=["Listening","Completed","On-Hold","Dropped","Planned"],B=s=>O(s),W=(s="All",r=1,e=24)=>{const t=c();return v(t.asmrLibrary.list.queryOptions({status:s,page:r,limit:e}))},$=()=>{const s=c();return v({...s.asmrLibrary.ids.queryOptions(),staleTime:1e3*60})},z=s=>{const r=c();return v({...r.asmrLibrary.check.queryOptions({id:s||""}),enabled:!!s,staleTime:1e3*60})},J=(s=24)=>{const r=c();return v(r.asmrProgress.continueListening.queryOptions({limit:s}))},Y=s=>{const r=c();return v({...r.asmrProgress.getByWork.queryOptions({workId:s||""}),enabled:!!s})},R=()=>{const s=c(),r=d();return p({mutationFn:async e=>{const{silent:t,...u}=e;return k.asmrLibrary.add.mutate(u)},onSuccess:(e,t)=>{t.silent||i.success("Added to listening list"),r.invalidateQueries({queryKey:[A.asmrLibrary]}),r.invalidateQueries(s.asmrLibrary.pathFilter())},onError:e=>{i.error(`Failed to add: ${e.message}`)}})},I=()=>{const s=c(),r=d();return p(s.asmrLibrary.remove.mutationOptions({onSuccess:()=>{i.success("Removed from listening list"),L(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{i.error(`Failed to remove: ${e.message}`)}}))},V=()=>{const s=c(),r=d();return p(s.asmrLibrary.setStatus.mutationOptions({onSuccess:()=>{i.success("Status updated"),L(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{i.error(`Failed to update status: ${e.message}`)}}))},X=()=>{const s=c(),r=d();return p(s.asmrProgress.save.mutationOptions({onSuccess:()=>{L(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())}}))},Z=()=>{const s=c(),r=d();return p(s.asmrProgress.remove.mutationOptions({onSuccess:()=>{i.success("Progress reset"),L(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{i.error(`Failed to reset progress: ${e.message}`)}}))},ss=()=>{const s=c(),r=d();return p(s.asmrLibrary.batchStatus.mutationOptions({onSuccess:e=>{i.success(`Status updated for ${e.updated??0} items`),L(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{i.error(`Failed to update statuses: ${e.message}`)}}))},rs=()=>{const s=c(),r=d();return p(s.asmrLibrary.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;i.success(`Removed ${t} ${t===1?"item":"items"} from listening list`),L(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{i.error(`Failed to remove: ${e.message}`)}}))},es=()=>{const s=c(),r=d();return p(s.asmrProgress.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;i.success(`Reset progress for ${t} ${t===1?"item":"items"}`),L(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{i.error(`Failed to reset progress: ${e.message}`)}}))},ts=()=>{const s=R(),r=I(),{data:e}=$(),t=Q(()=>new Set(e?.ids||[]),[e]);return{toggle:o=>{const a=B(o.rjCode);t.has(a)?r.mutate({id:a}):s.mutate({...o,thumbnail:o.thumbnail||""})},bookmarkedIds:t,pending:s.isPending||r.isPending}},S=300*1e3,q=15,os=(s,r,e,t)=>{const u=r+1,o=w({queries:Array.from({length:u},(m,C)=>{const F=C+1;return{queryKey:[A.asmrBrowse,s,F,e,t],queryFn:()=>{const T=s.trim();return k.asmr.browse.query({q:T||void 0,page:F,sort:e&&e!=="latest"?e:void 0,rating:t||void 0})},staleTime:S}})}),a=o.flatMap(m=>m.data?.shows??[]),g=a.slice((r-1)*q,r*q),y=o[o.length-1]?.data,h=!!(y&&(y.hasNext||a.length>r*q)),b=o.some(m=>m.isLoading),n=o.some(m=>m.isFetching),l=o.some(m=>m.isError);return{data:{shows:g,hasNext:h},isLoading:b,isError:l,isFetching:n}},M=s=>{const r=c(),e=v({...r.asmr.work.queryOptions({rj:s}),enabled:!!s,staleTime:S,refetchOnMount:"always"});return{...e,data:e.data}},N=15,f=6;function D(s){if(s.isAdult||!s.thumbnail)return!1;const r=(s.rating||"").toLowerCase();return r===""||r==="sfw"}function P(s,r){const e=new Set,t=[];for(const u of s)for(const o of u){if(t.length>=r)return t;const a=o.id||o._id;!a||e.has(a)||(e.add(a),D(o)&&t.push(o))}return t}const as=(s=!0)=>{const r=w({queries:Array.from({length:N},(n,l)=>{const m=l+1;return{queryKey:[A.asmrBrowse,"",m,"popular_month",""],queryFn:()=>k.asmr.browse.query({page:m,sort:"popular_month"}),staleTime:S,enabled:s,retry:1}})}),e=r.map(n=>n.data?.shows??[]),t=P(e,f),u=r.every(n=>n.isFetched),o=s&&u&&t.length<f,a=v({queryKey:[A.asmrBrowse,"",1,"popular","sfw"],queryFn:()=>k.asmr.browse.query({page:1,sort:"popular",rating:"sfw"}),staleTime:S,enabled:o,retry:1}),g=a.data?.shows??[],y=t.length>=f?t.slice(0,f):P([t,g],f),h=s&&(r.some(n=>n.isLoading)||o&&a.isLoading),b=s&&u&&y.length===0&&r.some(n=>n.isError);return{data:y,isLoading:h,isError:b}},ns=({data:s,anchorRect:r,bookmarked:e,onToggleBookmark:t,onMouseEnter:u,onMouseLeave:o,onRequestClose:a})=>{const{data:g,isLoading:y}=M(s.rjCode||null),h=g?.tracks.length??0,b=h>0,n=!y,l=[{icon:"headphones",label:n?b?`${h} track${h===1?"":"s"}`:"No tracks":"Loading tracks…"}];return s.rating&&l.push({label:s.rating.toUpperCase()}),s.isAdult&&l.push({label:"18+"}),s.progressLabel&&l.push({icon:"bookmark",label:s.progressLabel}),E(_,{anchorRect:r,title:s.title,subtitle:s.rjCode,cover:s.thumbnail,meta:l,synopsis:!n&&!g?.description?"Loading description…":g?.description??"No description available.",primaryAction:{to:s.listenTarget,label:b?"Listen now":n?"No tracks":"Loading…",icon:"play",disabled:!b},secondaryAction:{to:s.listenTarget,label:"Details"},bookmarked:e,bookmarkLabel:"Bookmark",onToggleBookmark:t,onMouseEnter:u,onMouseLeave:o,onRequestClose:a})};export{ns as A,ts as a,B as b,as as c,M as d,z as e,Y as f,X as g,R as h,os as i,W as j,I as k,V as l,ss as m,rs as n,es as o,x as p,Z as q,J as u};
|
package/client/dist/assets/{AsmrResetProgressModal-BAp7wa4X.js → AsmrResetProgressModal-DXwHSqwf.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as i}from"./vendor-core-DfaOB3Rn.js";import{R as n}from"./ResetProgressModal-
|
|
1
|
+
import{u as i}from"./vendor-core-DfaOB3Rn.js";import{R as n}from"./ResetProgressModal-BpNG6BGY.js";import{q as a,k as g}from"./AsmrPopup-6ky2U3uz.js";const p=({workId:e,title:s,onClose:r})=>{const o=a(),m=g();return i(n,{isOpen:!!e,itemName:s,progressKind:"listening",listLabel:"my listening list",onClose:r,onConfirm:t=>{e&&(o.mutate({workId:e}),t&&m.mutate({id:e}))}})};export{p as A};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as B,A as z,h as P,q as x,g as q,u as e,L as Oe,T as Q,S as oe,a as ee,_ as et}from"./vendor-core-DfaOB3Rn.js";import{u as ke,a as ie,b as tt,c as at,q as Ve,t as nt,d as Fe,s as rt,f as Ne,B as ze,e as ot,g as st,m as Ce,p as ne,h as re,i as lt,j as it,k as ct,l as Ie,M as dt,T as ut,n as ht,o as pt,r as Me,v as mt,w as gt,x as vt,y as _t,z as bt,A as yt,C as ft,D as Tt,E as Nt,F as wt}from"./index-Bi-DGtzC.js";import{b as St,u as kt,a as Ct}from"./vendor-query-BBT5_sHx.js";import{M as ge,P as It}from"./MediaCard-DW8QbvWe.js";import{A as ce}from"./AnimeCard-G3oigO8B.js";import{S as je,A as Ge}from"./SkeletonGrid-BVWffnlT.js";import{I as E}from"./vendor-icons-DrybRNxP.js";import{u as Rt}from"./vendor-ui-3qrARCPr.js";import{E as Re}from"./ErrorMessage-DAxegITP.js";import{R as Ue}from"./ResetProgressModal-BpNG6BGY.js";import{Q as At}from"./QueueRail-BWcF0bqm.js";import{u as qe,M as Qe}from"./useMangaPopup-BMXrc7pH.js";import{M as Lt}from"./MangaResetProgressModal-DdnI3zEg.js";import{u as Ye,m as Se,i as He,a as Xe,b as $t}from"./useMangaLibrary-i1RAEkNy.js";import{u as Mt}from"./useProviders-DbKN3TWq.js";import{u as Ke,a as Be,T as Bt}from"./useTv-4SqDfx-O.js";import{T as Pt}from"./TvPopup-JKZPbL5t.js";import{u as xt,a as Et,b as Dt}from"./useTvLibrary-yhqRv3U7.js";import{A as Wt}from"./AsmrResetProgressModal-DXwHSqwf.js";import{u as Ot,a as Vt,A as Ft,b as zt,c as jt}from"./AsmrPopup-6ky2U3uz.js";import"./useIsMobile-Dvx1uJ82.js";import"./MatureConsentModal-BXFvhDf0.js";import"./useAnimeInfoData-CQTVAjpz.js";import"./QueueOptionsButton-B2p9VIz2.js";import"./playbackCompletion-Dz3OK72-.js";import"./usePopup-DS9jMzp6.js";import"./libraryInvalidation-B5vX-vJv.js";const Gt="_sectionWrapper_10ckl_9",Ut="_sectionTitleNoMargin_10ckl_13",qt="_carousel_10ckl_189",M={"section-header":"_section-header_10ckl_1",sectionWrapper:Gt,sectionTitleNoMargin:Ut,"title-wrapper":"_title-wrapper_10ckl_17","header-controls":"_header-controls_10ckl_24","header-select":"_header-select_10ckl_31","collapse-button":"_collapse-button_10ckl_80","title-link":"_title-link_10ckl_100","continue-watching":"_continue-watching_10ckl_119","nav-arrows":"_nav-arrows_10ckl_141","nav-button":"_nav-button_10ckl_147","carousel-container":"_carousel-container_10ckl_189",carousel:qt,"carousel-inner":"_carousel-inner_10ckl_198","carousel-card":"_carousel-card_10ckl_203"};function ve({align:n="start",containScroll:l="trimSnaps",scrollFraction:h=.8,threshold:t=.6,onReachThreshold:o,slideCount:i=0}={}){const[g,s]=Rt({align:n,containScroll:l,dragFree:!0}),[k,b]=B(!1),[N,p]=B(!1),c=z({scrollFraction:h,threshold:t,onReachThreshold:o}),r=z(!1);P(()=>{c.current={scrollFraction:h,threshold:t,onReachThreshold:o}});const w=x(m=>{b(m.canScrollPrev()),p(m.canScrollNext())},[]);P(()=>{if(!s)return;const m=()=>{const u=s.scrollProgress();u>=c.current.threshold&&!r.current?(r.current=!0,c.current.onReachThreshold?.()):u<c.current.threshold&&(r.current=!1),w(s)};return s.on("init",m),s.on("reInit",m),s.on("scroll",m),s.on("resize",m),()=>{s.off("init",m),s.off("reInit",m),s.off("scroll",m),s.off("resize",m)}},[s,w]),P(()=>{s?.reInit()},[s,i]);const C=x(m=>{const u=m.containerNode().firstElementChild;if(!u)return 1;const f=m.rootNode().getBoundingClientRect().width,R=u.getBoundingClientRect().width;return R?Math.max(1,Math.round(f/R)):1},[]),S=x((m,u=!1)=>{if(!s)return;const f=Math.max(1,Math.round(C(s)*c.current.scrollFraction)),R=s.selectedScrollSnap()+(m==="left"?-f:f);s.scrollTo(R,u)},[s,C]),d=x((m=!1)=>{s?.scrollTo(0,m)},[s]);return{emblaRef:g,api:s,canScrollPrev:k,canScrollNext:N,stepBy:S,scrollToStart:d}}const Z=({title:n,eyebrow:l,titleLink:h,loading:t,emptyState:o,carousel:i,layout:g,collapsible:s,defaultExpanded:k=!0,onReachThreshold:b,scrollThreshold:N,isFetchingNextPage:p,resetScrollOnShrink:c,itemCount:r=0,highlight:w,headerActions:C,loadingSkeleton:S,skeletonCount:d=7,children:m})=>{const{lowEndMode:u}=ke(),{emblaRef:f,stepBy:R,scrollToStart:V,canScrollPrev:A,canScrollNext:D}=ve({onReachThreshold:b,threshold:N,slideCount:r}),[L,F]=q.useState(k);q.useEffect(()=>{F(k)},[k]);const j=q.useRef(0);return q.useEffect(()=>{c&&r>0&&L&&(r<=j.current||j.current===0)&&V(),r>0&&(j.current=r)},[r,c,L,V]),!t&&r===0&&!o&&!s?null:e("section",{className:`${M.sectionWrapper} ${w?M["continue-watching"]:""}`,children:[e("div",{className:M["section-header"],children:[e("div",{className:M["title-wrapper"],children:e("div",{className:"title-stack",children:[l&&e("div",{className:"section-eyebrow",children:l}),h?e(Oe,{to:h,className:M["title-link"],children:e("div",{className:`section-title ${M.sectionTitleNoMargin}`,children:n})}):e("div",{className:`section-title ${M.sectionTitleNoMargin}`,children:n})]})}),e("div",{className:M["header-controls"],children:[C,i&&r>0&&L&&(A||D)&&e("div",{className:M["nav-arrows"],children:[A&&e("button",{className:M["nav-button"],type:"button","aria-label":"Scroll left",onClick:I=>{I.preventDefault(),R("left",u)},children:e(E,{name:"chevron-left"})}),D&&e("button",{className:M["nav-button"],type:"button","aria-label":"Scroll right",onClick:I=>{I.preventDefault(),R("right",u)},children:e(E,{name:"chevron-right"})})]}),s&&e("button",{className:M["collapse-button"],type:"button",onClick:()=>F(I=>!I),"aria-expanded":L,"aria-label":L?`Collapse ${n}`:`Expand ${n}`,children:L?e(E,{name:"chevron-up"}):e(E,{name:"chevron-down"})})]})]}),L&&(i?!t&&r===0&&o?e("div",{children:o}):e("div",{className:M["carousel-container"],children:e("div",{className:M.carousel,ref:f,children:e("div",{className:M["carousel-inner"],children:[t&&r===0?Array.from({length:d}).map((I,U)=>e("div",{className:M["carousel-card"],children:S},U)):q.Children.map(m,(I,U)=>e("div",{className:M["carousel-card"],children:I},q.isValidElement(I)&&I.key!=null?I.key:`slide-${U}`)),p&&S&&e("div",{className:M["carousel-card"],children:S})]})})}):e("div",{className:"grid-container",children:t&&r===0?e(je,{count:6,layout:g}):r>0?m:t?null:e("div",{style:{gridColumn:"1 / -1"},children:o})}))]})},Qt=({title:n,eyebrow:l,animeList:h,continueWatching:t,titleLink:o,onRemove:i,loading:g,emptyState:s,carousel:k,cardConfig:b,layout:N,onReachThreshold:p,scrollThreshold:c,isFetchingNextPage:r,collapsible:w,defaultExpanded:C=!0})=>{const S=N||"vertical";return e(Z,{title:n,eyebrow:l,titleLink:o,loading:g,emptyState:s,carousel:k,layout:S,collapsible:w,defaultExpanded:C,onReachThreshold:p,scrollThreshold:c,isFetchingNextPage:r,resetScrollOnShrink:t,highlight:t,itemCount:h.length,loadingSkeleton:e(Ge,{layout:S}),skeletonCount:7,children:h.map(d=>e(ce,{anime:d,continueWatching:t,onRemove:i,config:b,layout:S},d._id))})},Pe=q.memo(Qt),Yt="_wrapper_j52nn_1",Ht="_arrow_j52nn_6",Xt="_select_j52nn_15",we={wrapper:Yt,arrow:Ht,select:Xt},J=({value:n,options:l,onChange:h,ariaLabel:t,width:o})=>e("span",{className:we.wrapper,children:[e("select",{className:we.select,style:o!==void 0?{width:o}:void 0,value:n,"aria-label":t,onChange:i=>h(i.currentTarget.value),children:l.map(i=>e("option",{value:i.value,children:i.label},i.value))}),e(E,{name:"chevron-down",size:12,className:we.arrow})]}),Kt="_sectionWrapper_1dwd0_2",Zt="_sectionTitleNoMargin_1dwd0_6",Jt="_carouselContainer_1dwd0_94",ea="_carousel_1dwd0_94",ta="_carouselInner_1dwd0_105",aa="_carouselItem_1dwd0_110",na="_rankCard_1dwd0_147",ra="_rankPill_1dwd0_151",oa="_rankGold_1dwd0_162",sa="_rankSilver_1dwd0_166",la="_rankBronze_1dwd0_170",ia="_skeletonPoster_1dwd0_181",ca="_skeletonText_1dwd0_182",_={sectionWrapper:Kt,sectionTitleNoMargin:Zt,"section-header":"_section-header_1dwd0_11","title-wrapper":"_title-wrapper_1dwd0_19","header-actions":"_header-actions_1dwd0_39","nav-arrows":"_nav-arrows_1dwd0_45","nav-button":"_nav-button_1dwd0_51",carouselContainer:Jt,carousel:ea,carouselInner:ta,carouselItem:aa,rankCard:na,rankPill:ra,rankGold:oa,rankSilver:sa,rankBronze:la,skeletonPoster:ia,skeletonText:ca},xe="TRENDING_DESC",da="POPULARITY_DESC",ua=10;function ha({title:n,eyebrow:l}){const{lowEndMode:h}=ke(),[t,o]=ie("trending_sort",xe),i=[{value:xe,label:"Trending"},{value:da,label:"All Time"}],{data:g,fetchNextPage:s,hasNextPage:k,isFetchingNextPage:b,isLoading:N,isError:p,error:c}=tt(t,ua),r=Q(()=>g?.pages.flatMap(u=>u)||[],[g]),w=x(()=>{k&&!b&&!N&&s()},[k,b,N,s]),{emblaRef:C,stepBy:S,canScrollPrev:d,canScrollNext:m}=ve({onReachThreshold:w,slideCount:r.length});return e("section",{className:_.sectionWrapper,children:[e("div",{className:_["section-header"],children:[e("div",{className:_["title-wrapper"],children:e("div",{className:"title-stack",children:[l&&e("div",{className:"section-eyebrow",children:l}),e("div",{className:`section-title ${_.sectionTitleNoMargin}`,children:n})]})}),e("div",{className:_["header-actions"],children:[e(J,{ariaLabel:"Trending sort",width:120,value:t,options:i,onChange:o}),(d||m)&&e("div",{className:_["nav-arrows"],children:[d&&e("button",{className:_["nav-button"],type:"button",onClick:u=>{u.preventDefault(),S("left",h)},"aria-label":"Scroll left",children:e(E,{name:"chevron-left"})}),m&&e("button",{className:_["nav-button"],type:"button",onClick:u=>{u.preventDefault(),S("right",h)},"aria-label":"Scroll right",children:e(E,{name:"chevron-right"})})]})]})]}),N?e("div",{className:_.carouselContainer,children:e("div",{className:_.carousel,children:e("div",{className:_.carouselInner,children:Array.from({length:7}).map((u,f)=>e("div",{className:_.carouselItem,children:[e("div",{className:_.skeletonPoster}),e("div",{className:_.skeletonText})]},f))})})}):p?e(Re,{message:c instanceof Error?c.message:"An unknown error occurred"}):e("div",{className:_.carouselContainer,children:e("div",{className:_.carousel,ref:C,children:e("div",{className:_.carouselInner,children:[r.map((u,f)=>e("div",{className:_.carouselItem,children:[e("div",{className:_.rankCard,children:e(ce,{anime:u})}),e("div",{className:`${_.rankPill} ${f===0?_.rankGold:f===1?_.rankSilver:f===2?_.rankBronze:""}`,children:f+1})]},u._id)),b&&e("div",{className:_.carouselItem,style:{minWidth:"150px",display:"flex",alignItems:"center",justifyContent:"center"},children:e("div",{className:_.skeletonPoster})})]})})})]})}const pa=[{value:"TV",label:"TV"},{value:"ONA",label:"ONA"},{value:"OVA",label:"OVA"},{value:"MOVIE",label:"Movie"},{value:"ALL",label:"All"},{value:"ADULT",label:"Mature"}],ma=10;function ga({eyebrow:n}){const{lowEndMode:l}=ke(),[h,t]=ie("latest_releases_format","TV"),{data:o,fetchNextPage:i,hasNextPage:g,isFetchingNextPage:s,isLoading:k,isError:b,error:N}=at(h,ma),p=Q(()=>o?.pages.flatMap(d=>d)||[],[o]),c=x(()=>{g&&!s&&!k&&i()},[g,s,k,i]),{emblaRef:r,stepBy:w,canScrollPrev:C,canScrollNext:S}=ve({onReachThreshold:c,slideCount:p.length});return e("section",{className:_.sectionWrapper,children:[e("div",{className:_["section-header"],children:[e("div",{className:_["title-wrapper"],children:e("div",{className:"title-stack",children:[n&&e("div",{className:"section-eyebrow",children:n}),e("div",{className:`section-title ${_.sectionTitleNoMargin}`,children:"Latest Releases"})]})}),e("div",{className:_["header-actions"],children:[e(J,{ariaLabel:"Latest releases format",width:120,value:h,options:pa,onChange:t}),(C||S)&&e("div",{className:_["nav-arrows"],children:[C&&e("button",{className:_["nav-button"],type:"button",onClick:d=>{d.preventDefault(),w("left",l)},"aria-label":"Scroll left",children:e(E,{name:"chevron-left"})}),S&&e("button",{className:_["nav-button"],type:"button",onClick:d=>{d.preventDefault(),w("right",l)},"aria-label":"Scroll right",children:e(E,{name:"chevron-right"})})]})]})]}),k?e("div",{className:_.carouselContainer,children:e("div",{className:_.carousel,children:e("div",{className:_.carouselInner,children:Array.from({length:7}).map((d,m)=>e("div",{className:_.carouselItem,children:[e("div",{className:_.skeletonPoster}),e("div",{className:_.skeletonText})]},m))})})}):b?e(Re,{message:N instanceof Error?N.message:"An unknown error occurred"}):e("div",{className:_.carouselContainer,children:e("div",{className:_.carousel,ref:r,children:e("div",{className:_.carouselInner,children:[p.map(d=>e("div",{className:_.carouselItem,children:e(ce,{anime:d})},d._id)),s&&e("div",{className:_.carouselItem,style:{minWidth:"150px",display:"flex",alignItems:"center",justifyContent:"center"},children:e("div",{className:_.skeletonPoster})})]})})})]})}const va="_scheduleSection_1o82r_1",_a="_sectionTitleRow_1o82r_5",ba="_sectionTitleNoMargin_1o82r_11",ya="_sectionHeader_1o82r_15",fa="_headerActions_1o82r_25",Ta="_daySelectorContainer_1o82r_33",Na="_daySelector_1o82r_33",wa="_daySelectorInner_1o82r_50",Sa="_dayBtn_1o82r_61",ka="_active_1o82r_84",Ca="_dayMonth_1o82r_92",Ia="_dayNum_1o82r_100",Ra="_dayName_1o82r_106",Aa="_navArrows_1o82r_119",La="_navButton_1o82r_125",$a="_carouselContainer_1o82r_168",Ma="_carousel_1o82r_168",Ba="_carouselInner_1o82r_180",Pa="_carouselCard_1o82r_185",$={scheduleSection:va,sectionTitleRow:_a,sectionTitleNoMargin:ba,sectionHeader:ya,headerActions:fa,daySelectorContainer:Ta,daySelector:Na,daySelectorInner:wa,dayBtn:Sa,active:ka,dayMonth:Ca,dayNum:Ia,dayName:Ra,navArrows:Aa,navButton:La,carouselContainer:$a,carousel:Ma,carouselInner:Ba,carouselCard:Pa},de=n=>{const l=n.getFullYear(),h=String(n.getMonth()+1).padStart(2,"0"),t=String(n.getDate()).padStart(2,"0");return`${l}-${h}-${t}`},xa=async(n,l)=>await nt.data.schedule.query({date:n,format:l}),Ea=({eyebrow:n})=>{const[l,h]=B(()=>de(new Date)),[t,o]=ie("schedule_format","TV"),i=z(null),g=z(!0),{data:s=[],isLoading:k,error:b}=St({queryKey:[Ve.schedule,l,t],queryFn:()=>xa(l,t),staleTime:1e3*60*5}),{emblaRef:N,canScrollPrev:p,canScrollNext:c,stepBy:r,scrollToStart:w}=ve({slideCount:s.length}),C=Q(()=>{const d=[],m=new Date,u=de(m),f=new Date(m);f.setDate(m.getDate()-1);const R=de(f),V=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];for(let A=-6;A<=6;A++){const D=new Date(m);D.setDate(m.getDate()+A),d.push(D)}return d.map(A=>{const D=de(A),j=D===u?"Today":D===R?"Yest":V[A.getDay()],I=A.getDate(),U=new Intl.DateTimeFormat("en-US",{month:"short"}).format(A);return{dateString:D,dayLabel:j,dayNum:I,monthName:U}})},[]);P(()=>{const d=i.current,m=d?.querySelector(`[data-date="${l}"]`);if(!d||!m)return;const u=d.getBoundingClientRect(),f=m.getBoundingClientRect(),R=d.scrollLeft+(f.left-u.left)-(u.width-f.width)/2;d.scrollTo({left:Math.max(0,R),behavior:g.current?"auto":"smooth"}),g.current=!1},[l]),P(()=>{w(!0)},[l,w]);const S=[{value:"TV",label:"TV"},{value:"ONA",label:"ONA"},{value:"OVA",label:"OVA"},{value:"MOVIE",label:"Movie"},{value:"ALL",label:"All"},{value:"ADULT",label:"Mature"}];return e("div",{className:$.scheduleSection,children:[e("div",{className:$.sectionHeader,children:[e("div",{className:$.sectionTitleRow,children:e("div",{className:"title-stack",children:[n&&e("div",{className:"section-eyebrow",children:n}),e("h2",{className:`section-title ${$.sectionTitleNoMargin}`,children:"Episode Schedule"})]})}),e("div",{className:$.headerActions,children:[e(J,{ariaLabel:"Schedule format",width:120,value:t,options:S,onChange:o}),s.length>0&&(p||c)&&e("div",{className:$.navArrows,children:[p&&e("button",{className:$.navButton,onClick:()=>r("left"),"aria-label":"Scroll left",children:e(E,{name:"chevron-left"})}),c&&e("button",{className:$.navButton,onClick:()=>r("right"),"aria-label":"Scroll right",children:e(E,{name:"chevron-right"})})]})]})]}),e("div",{className:$.daySelectorContainer,children:e("div",{className:$.daySelector,ref:i,children:e("div",{className:$.daySelectorInner,children:C.map(d=>e("button",{type:"button","data-date":d.dateString,"aria-pressed":l===d.dateString,className:`${$.dayBtn} ${l===d.dateString?$.active:""}`,onClick:()=>h(d.dateString),children:[e("span",{className:$.dayMonth,children:d.monthName}),e("span",{className:$.dayNum,children:d.dayNum}),e("span",{className:$.dayName,children:d.dayLabel})]},d.dateString))})})}),e("div",{className:$.carouselContainer,children:e("div",{className:$.carousel,ref:N,children:e("div",{className:$.carouselInner,children:k?Array.from({length:7}).map((d,m)=>e("div",{className:$.carouselCard,children:e(Ge,{layout:"vertical"})},m)):b?e("div",{style:{width:"100%"},children:e(Re,{message:b instanceof Error?b.message:"An unknown error occurred"})}):s.length===0?e("p",{style:{textAlign:"center",marginTop:"1rem",width:"100%"},children:"No episodes scheduled for this day."}):s.map(d=>e("div",{className:$.carouselCard,children:e(ce,{anime:d,continueWatching:!1,layout:"vertical"},d._id)},d._id))})})})]})},Da="_bannerContainer_dc323_1",Wa="_hero_dc323_28",Oa="_ambient_dc323_37",Va="_ambientShow_dc323_49",Fa="_scrim_dc323_53",za="_progressLine_dc323_64",ja="_paused_dc323_84",Ga="_dots_dc323_98",Ua="_dot_dc323_98",qa="_dotActive_dc323_121",Qa="_viewport_dc323_132",Ya="_track_dc323_139",Ha="_slide_dc323_145",Xa="_slideInner_dc323_153",Ka="_poster_dc323_163",Za="_posterLandscape_dc323_174",Ja="_info_dc323_198",en="_kicker_dc323_207",tn="_featureLabel_dc323_214",an="_scoreChip_dc323_226",nn="_rise_dc323_244",rn="_active_dc323_248",on="_metaRow_dc323_304",sn="_metaItem_dc323_315",ln="_metaDivider_dc323_321",cn="_title_dc323_328",dn="_genres_dc323_344",un="_genreTag_dc323_352",hn="_summary_dc323_363",pn="_actions_dc323_375",mn="_watchBtn_dc323_383",gn="_detailsBtn_dc323_415",vn="_secondaryRow_dc323_446",_n="_secondaryBtn_dc323_453",bn="_navArrow_dc323_476",yn="_prevArrow_dc323_509",fn="_nextArrow_dc323_513",v={bannerContainer:Da,hero:Wa,ambient:Oa,ambientShow:Va,scrim:Fa,progressLine:za,paused:ja,dots:Ga,dot:Ua,dotActive:qa,viewport:Qa,track:Ya,slide:Ha,slideInner:Xa,poster:Ka,posterLandscape:Za,info:Ja,kicker:en,featureLabel:tn,scoreChip:an,rise:nn,active:rn,metaRow:on,metaItem:sn,metaDivider:ln,title:cn,genres:dn,genreTag:un,summary:hn,actions:pn,watchBtn:mn,detailsBtn:gn,secondaryRow:vn,secondaryBtn:_n,navArrow:bn,prevArrow:yn,nextArrow:fn},Tn=8e3,ue=()=>e("div",{className:"skeleton",style:{width:"100vw",maxWidth:"100vw",position:"relative",left:"50%",right:"50%",marginLeft:"-50vw",marginRight:"-50vw",height:"clamp(480px, 72vh, 660px)",marginTop:"calc(-1 * var(--header-height))",marginBottom:"2.5rem"}}),_e=({slides:n,posterAspect:l="portrait",eyebrow:h="Spotlight"})=>{const[t,o]=B(0),[i,g]=B(0),[s,k]=B(!1),[b,N]=B(null),[p,c]=B(0),[r,w]=B({front:"",back:"",flip:!1}),C=z(0),S=z(0),d=z(new Set),m=z(null),u=z(0),f=x(a=>a.bannerSrc,[]),R=x(()=>{g(a=>a+1)},[]),V=x(a=>{m.current!==null&&(window.clearTimeout(m.current),m.current=null),N(null),R();const y=f(n[a]);w(T=>T.flip?{front:y,back:T.back,flip:!1}:{front:T.front,back:y,flip:!0}),o(a)},[R,n,f]),A=x(a=>{if(n.length===0)return;const y=(a%n.length+n.length)%n.length;d.current.has(f(n[y]))?V(y):N(y)},[n,f,V]);P(()=>{let a=!1;return n.forEach(y=>{const T=f(y);if(!T||d.current.has(T))return;const W=new Image;W.src=T;const X=()=>{a||d.current.has(T)||(d.current.add(T),c(G=>G+1))};W.onload=X,W.onerror=X}),()=>{a=!0}},[n,f]),P(()=>{if(n.length!==0&&!r.front){const a=f(n[0]);w({front:a,back:"",flip:!1})}},[n,r.front,f]),P(()=>{if(b!==null){if(b<0||b>=n.length){N(null);return}d.current.has(f(n[b]))&&V(b)}},[b,p,n,f,V]),P(()=>{if(b===null)return;m.current!==null&&window.clearTimeout(m.current);const a=b;return m.current=window.setTimeout(()=>{m.current=null,V(a)},2500),()=>{m.current!==null&&(window.clearTimeout(m.current),m.current=null)}},[b,V]);const D=x(a=>{A(a)},[A]),L=x(()=>{A(u.current+1)},[A]),F=x(()=>{A(u.current-1)},[A]),j=z(null);if(P(()=>{const a=j.current;if(!a)return;const y=T=>{if(Math.abs(T.deltaY)>Math.abs(T.deltaX)&&Math.abs(T.deltaY)>5){T.preventDefault(),T.stopPropagation();const W=Date.now();if(W-C.current<300)return;C.current=W,R(),T.deltaY>0?L():F()}};return a.addEventListener("wheel",y,{passive:!1}),()=>a.removeEventListener("wheel",y)},[n.length,L,F,R]),P(()=>{if(n.length===0||s)return;const a=setTimeout(L,Tn);return()=>clearTimeout(a)},[t,L,n.length,i,s]),P(()=>{const a=y=>{const T=y.target;T&&(T.tagName==="INPUT"||T.tagName==="TEXTAREA"||T.tagName==="SELECT"||T.isContentEditable)||(y.key==="ArrowRight"?(y.preventDefault(),L()):y.key==="ArrowLeft"&&(y.preventDefault(),F()))};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[L,F]),P(()=>{t>=n.length&&o(0)},[n.length,t]),n.length===0)return null;const I=t>=n.length?0:t;u.current=I;const U=a=>{S.current=a.touches[0].clientX},H=a=>{const T=a.changedTouches[0].clientX-S.current;Math.abs(T)>50&&(R(),T>0?F():L())};return e("div",{className:v.bannerContainer,onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),children:e("div",{className:`${v.hero} ${s?v.paused:""}`,onTouchStart:U,onTouchEnd:H,children:[r.front&&e("img",{src:r.front,alt:"","aria-hidden":"true",className:`${v.ambient} ${r.flip?"":v.ambientShow}`}),r.back&&e("img",{src:r.back,alt:"","aria-hidden":"true",className:`${v.ambient} ${r.flip?v.ambientShow:""}`}),e("div",{className:v.scrim,"aria-hidden":"true"}),n.length>1&&e("div",{className:v.progressLine,"aria-hidden":"true"},`progress-${i}-${I}`),n.length>1&&e("div",{className:v.dots,ref:j,role:"tablist","aria-label":"Spotlight slides",children:n.map((a,y)=>e("button",{role:"tab","aria-selected":y===I,"aria-label":`Go to slide ${y+1}: ${a.title}`,className:`${v.dot} ${y===I?v.dotActive:""}`,onClick:()=>D(y),tabIndex:y===I?0:-1},a.key))}),e("div",{className:v.viewport,children:e("div",{className:v.track,style:{transform:`translateX(-${I*100}%)`},children:n.map((a,y)=>e("div",{className:`${v.slide} ${y===I?v.active:""}`,"aria-hidden":y!==I,children:e("div",{className:v.slideInner,children:[e("img",{src:a.posterSrc,alt:a.posterAlt,className:l==="landscape"?v.posterLandscape:v.poster,decoding:"async"}),e("div",{className:v.info,children:[e("div",{className:`${v.kicker} ${v.rise}`,children:[e("span",{className:v.featureLabel,children:h}),a.score!==void 0&&a.score!==null&&a.score!==""&&e("span",{className:v.scoreChip,children:[e(E,{name:"star",size:12}),e("span",{children:a.score})]})]}),e(Oe,{to:a.detailTo,className:`${v.title} ${v.rise}`,"aria-label":`View details for ${a.title}`,tabIndex:y===I?0:-1,children:a.title}),a.metaItems.length>0&&e("div",{className:`${v.metaRow} ${v.rise}`,children:a.metaItems.map((T,W)=>e(q.Fragment,{children:[e("span",{className:v.metaItem,children:T}),W<a.metaItems.length-1&&e("div",{className:v.metaDivider})]},W))}),a.tags.length>0&&e("div",{className:`${v.genres} ${v.rise}`,children:a.tags.slice(0,3).map(T=>e("span",{className:v.genreTag,children:T},T))}),a.synopsis&&e("p",{className:`${v.summary} ${v.rise}`,children:a.synopsis}),e("div",{className:`${v.actions} ${v.rise}`,children:[e("button",{className:v.watchBtn,onClick:a.onPrimary,tabIndex:y===I?0:-1,children:[e(E,{name:a.primaryIcon,size:14}),e("span",{children:a.primaryLabel})]}),e("div",{className:v.secondaryRow,children:[e("button",{className:v.detailsBtn,onClick:a.onDetails,tabIndex:y===I?0:-1,children:[e(E,{name:"info-circle",size:15}),e("span",{children:"Details"})]}),a.onWatchlist&&e("button",{className:v.secondaryBtn,onClick:a.onWatchlist,tabIndex:y===I?0:-1,children:[e(E,{name:"plus",size:14}),e("span",{children:"Watchlist"})]})]})]})]})]})},a.key))})}),n.length>1&&e(oe,{children:[e("button",{className:`${v.navArrow} ${v.prevArrow}`,onClick:()=>{R(),F()},"aria-label":"Previous slide",children:e(E,{name:"chevron-left",size:20})}),e("button",{className:`${v.navArrow} ${v.nextArrow}`,onClick:()=>{R(),L()},"aria-label":"Next slide",children:e(E,{name:"chevron-right",size:20})})]})]})})},Nn=({animeList:n})=>{const{titlePreference:l}=Fe(),h=ee(),t=Q(()=>n.slice(0,6).map(o=>{const i=l==="nativeName"?o.nativeName||o.name:l==="englishName"&&o.englishName||o.name;return{key:o._id,bannerSrc:o.bannerImage?Ne(o.bannerImage,1280,560):Ne(o.thumbnail,1280,450),posterSrc:Ne(o.thumbnail,460,650),posterAlt:i,title:i,detailTo:`/anime/${o._id}`,score:o.score,metaItems:[o.type||"Anime",o.status,o.episodeCount?`${o.episodeCount} Episodes`:void 0,o.rating].filter(g=>!!g),tags:(o.genres??[]).slice(0,3).map(g=>typeof g=="string"?g:g?.name).filter(g=>!!g),synopsis:rt(o.description??""),primaryLabel:"Watch Now",primaryIcon:"play",onPrimary:()=>h(`/watch/${o._id}`),onDetails:()=>h(`/anime/${o._id}`)}}),[n,l,h]);return e(_e,{slides:t})},wn="_emptyState_19tmt_1",Sn="_emptyStateIcon_19tmt_16",kn="_emptyStateTitle_19tmt_23",Cn="_emptyStateText_19tmt_30",he={emptyState:wn,emptyStateIcon:Sn,emptyStateTitle:kn,emptyStateText:Cn},be=({icon:n,text:l,actionLabel:h,onAction:t,title:o="Nothing is here..."})=>e("div",{className:he.emptyState,children:[e(E,{name:n,size:48,className:he.emptyStateIcon}),e("div",{children:[e("h3",{className:he.emptyStateTitle,children:o}),e("p",{className:he.emptyStateText,children:l})]}),e(ze,{variant:"primary",size:"sm",onClick:t,style:{marginTop:"1rem"},children:h})]}),In="_tabBar_1mv4x_1",Rn="_tabIndicator_1mv4x_24",An="_tabButton_1mv4x_38",Ln="_tabActive_1mv4x_53",pe={tabBar:In,tabIndicator:Rn,tabButton:An,tabActive:Ln};function $n({options:n,value:l,onChange:h,ariaLabel:t},o){const i=z(null),g=z(new Map),s=z(null),[k,b]=B({left:0,width:0}),N=x((p,c)=>{const r=g.current.get(p),w=i.current;if(r&&w){const C=w.getBoundingClientRect(),S=r.getBoundingClientRect();b({left:S.left-C.left+w.scrollLeft,width:S.width}),c&&r.scrollIntoView({block:"nearest",inline:"nearest"})}},[]);return et(()=>{const p=s.current!==null&&s.current!==l;s.current=l,N(l,p)},[l,n.length,N]),P(()=>{if(N(l,!1),typeof ResizeObserver>"u")return;let p=0;const c=i.current;if(!c)return;const r=new ResizeObserver(()=>{cancelAnimationFrame(p),p=requestAnimationFrame(()=>N(l,!1))});r.observe(c);let w=!1;return document.fonts?.ready&&document.fonts.ready.then(()=>{w||N(l,!1)}),()=>{w=!0,cancelAnimationFrame(p),r.disconnect()}},[l,n.length,N]),e("div",{className:pe.tabBar,ref:p=>{i.current=p,typeof o=="function"?o(p):o&&(o.current=p)},"aria-label":t,children:[e("div",{className:pe.tabIndicator,style:{left:k.left,width:k.width}}),n.map(p=>e(ze,{ref:c=>{c&&g.current.set(p.value,c)},variant:"secondary",size:"sm",className:`${pe.tabButton} ${l===p.value?pe.tabActive:""}`,onClick:()=>h(p.value),children:p.label},p.value))]})}const me=q.forwardRef($n),Mn=[{value:"popular",label:"Popular"},{value:"followed",label:"Most Followed"},{value:"rating",label:"Top Rated"}],Ee=({title:n,eyebrow:l,sort:h,mature:t,headerActions:o})=>{const{toggle:i,bookmarkedIds:g}=Ye(),{popup:s,openPopup:k,scheduleClose:b,cancelClose:N,closePopup:p}=qe(),{data:c,isLoading:r,fetchNextPage:w,hasNextPage:C,isFetchingNextPage:S}=st({provider:"",query:"",sort:h,status:"",type:"",rating:t?"safe,suggestive,erotica,pornographic":"safe",mature:t}),d=Q(()=>c?.pages.flatMap(u=>u.items)??[],[c]),m=x(()=>{C&&!S&&!r&&w()},[C,S,r,w]);return e(oe,{children:[e(Z,{title:n,eyebrow:l,loading:r,carousel:!0,itemCount:d.length,headerActions:o,onReachThreshold:m,isFetchingNextPage:S,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"3 / 4"}}),skeletonCount:7,children:d.map(u=>{const f=Se(u.provider,u.id);return e(ge,{item:{id:f,title:u.title,...Xe(u),thumbnail:Ce(u.provider,u.cover),typeBadge:u.type||void 0,chapterBadge:u.latestChapter?`Ch. ${u.latestChapter}`:null,isAdult:He(u)},linkTo:`/manga/${u.provider}/${encodeURIComponent(u.id)}`,hoverIcon:"info",showInfoButton:!0,display:{elements:{poster:{typeBadge:!0,chapterBadge:!0,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!1,meta:!1}}},onOpenDetails:R=>k(R,{provider:u.provider,mangaId:u.id,title:u.title,altTitle:u.altTitle,cover:u.cover,contentRating:u.contentRating,readTarget:`/manga/${u.provider}/${encodeURIComponent(u.id)}`,mature:t}),onPopupHoverIntent:R=>R?N():b(),rawThumbnail:!0},`${u.provider}-${u.id}`)})}),s&&e(Qe,{data:s.data,anchorRect:s.rect,bookmarked:g.has(Se(s.data.provider,s.data.mangaId)),onToggleBookmark:()=>i({id:s.data.mangaId,provider:s.data.provider,title:s.data.title,cover:s.data.cover,altTitle:s.data.altTitle??void 0,contentRating:s.data.contentRating}),onMouseEnter:N,onMouseLeave:b,onRequestClose:p})]})},Bn=()=>{const{options:n}=Mt(),l=Q(()=>n.some(s=>s.kind==="manga"),[n]),{hasConsent:h}=ot(),[t,o]=ie("manga_discover_tab","latest"),[i,g]=ie("manga_trending_sort","popular");return l?e(oe,{children:[e(me,{ariaLabel:"Discover manga",options:[{value:"latest",label:"Latest Releases"},{value:"trending",label:"Trending"}],value:t,onChange:o}),t==="latest"?e(Ee,{title:"Latest Releases",eyebrow:"Fresh chapters",sort:"latest",mature:h}):e(Ee,{title:"Trending",eyebrow:"Discover",sort:i,mature:h,headerActions:e("select",{className:M["header-select"],value:i,onChange:s=>g(s.currentTarget.value),"aria-label":"Trending sort",children:Mn.map(s=>e("option",{value:s.value,children:s.label},s.value))})})]}):null},Pn=()=>{const n=ee(),{data:l,isLoading:h}=$t(24),[t,o]=B(null),{popup:i,openPopup:g,scheduleClose:s,cancelClose:k,closePopup:b}=qe(),{toggle:N,bookmarkedIds:p}=Ye(),c=l?.data??[];return e("div",{style:{paddingBottom:"2rem"},children:[e(Z,{title:"Continue Reading",eyebrow:"Pick up where you left off",titleLink:"/reading-list/Continue Reading",loading:h,carousel:!0,collapsible:!0,defaultExpanded:c.length>0,highlight:!0,itemCount:c.length,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"3 / 4"}}),skeletonCount:7,emptyState:e(be,{icon:"book",text:"You haven't read anything yet. Browse manga and open a chapter to start tracking.",actionLabel:"Browse Manga",onAction:()=>n("/manga")}),children:c.map(r=>{const w=r.page??0,C=r.pageCount??0,S=r.chapterId&&r.provider?`/manga/${r.provider}/${encodeURIComponent(r.mangaId)}/read?chapter=${encodeURIComponent(r.chapterId)}`:r.provider?`/manga/${r.provider}/${encodeURIComponent(r.mangaId)}`:"#";return e(ge,{item:{id:r.id,title:r.title||"",...Xe({title:r.title||"",altTitle:r.altTitle}),thumbnail:r.provider?Ce(r.provider,r.cover||""):r.cover||"",chapterBadge:r.chapterNumber?`Ch. ${r.chapterNumber}`:null,isAdult:He(r)},linkTo:S,hoverIcon:"book",progress:C>0?{percent:w/C*100,label:`Ch. ${r.chapterNumber} · p. ${w}/${C}`}:void 0,showProgress:!0,display:{elements:{poster:{typeBadge:!1,chapterBadge:!0,adultBadge:!0,removeButton:!0},info:{title:!0,mobileBadges:!0,progress:!0,meta:!1}}},onRemove:()=>o({libId:r.id,title:r.title||""}),onOpenDetails:d=>g(d,{provider:r.provider||"",mangaId:r.mangaId||"",title:r.title||"",altTitle:r.altTitle,cover:r.cover||"",contentRating:r.contentRating||void 0,readTarget:S}),onPopupHoverIntent:d=>d?k():s(),rawThumbnail:!0},r.id)})}),e(Lt,{mangaId:t?t.libId:null,title:t?.title,onClose:()=>o(null)}),i&&i.data.provider&&e(Qe,{data:i.data,anchorRect:i.rect,bookmarked:p.has(Se(i.data.provider,i.data.mangaId)),onToggleBookmark:()=>N({id:i.data.mangaId,provider:i.data.provider,title:i.data.title,cover:i.data.cover,altTitle:i.data.altTitle??void 0,contentRating:i.data.contentRating}),onMouseEnter:k,onMouseLeave:s,onRequestClose:b}),e(Bn,{})]})},xn="_emptyState_bpz5x_1",De={emptyState:xn},En=[{value:"latest",label:"Latest Releases"},{value:"trending",label:"Trending"}],Dn=[{value:"trending_week",label:"Trending Now"},{value:"trending_day",label:"Trending Today"},{value:"popular",label:"Popular All Time"},{value:"top_rated",label:"Top Rated"}],Wn=()=>{const n=ee(),{data:l,isLoading:h}=xt(24),t=Et(),o=Dt(),[i,g]=B(null),[s,k]=B(()=>ne.getItem("tv_home_activeTab")||"latest"),[b,N]=B("tv"),[p,c]=B("trending_week"),[r,w]=B("multi"),C=l?.data??[];q.useEffect(()=>{ne.setItem("tv_home_activeTab",s)},[s]);const S=p.startsWith("trending_"),d=p==="trending_day"?"day":"week",m={popular:"popularity.desc",top_rated:"vote_average.desc"},{data:u,isLoading:f}=Ke(r==="multi"?"all":r,d,1,S&&s==="trending"),{data:R,isLoading:V}=Be({type:r,sort_by:m[p]||"popularity.desc",page:1}),A=S?u?.results||[]:R?.results||[],D=S?f:V,{data:L,isLoading:F}=Be({type:b,sort_by:"primary_release_date.desc",page:1}),j=L?.results||[],I=a=>{i&&(o.mutate({mediaId:i.libId}),a&&t.mutate(i.libId))},U=x(a=>e(Bt,{item:{id:a.id,title:a.title,year:a.year,type:a.type,image:a.image,vote_average:a.vote_average,adult:a.adult}},`${a.type}-${a.id}`),[]),H=()=>{switch(s){case"latest":return e(Z,{title:"Latest Releases",eyebrow:"Fresh picks",loading:F,carousel:!0,itemCount:j.length,headerActions:e(J,{ariaLabel:"Latest type",value:b,onChange:a=>N(a),options:[{value:"tv",label:"TV Shows"},{value:"movie",label:"Movies"}]}),loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"3 / 4",borderRadius:"var(--radius-lg)"}}),emptyState:e("div",{className:De.emptyState,children:e("p",{children:"No latest releases available right now."})}),children:j.map(U)});case"trending":return e(Z,{title:"Trending",eyebrow:"Discover",loading:D,carousel:!0,itemCount:A.length,headerActions:e(oe,{children:[e(J,{ariaLabel:"Trending sort",value:p,onChange:c,options:Dn.map(a=>({value:a.value,label:a.label}))}),e(J,{ariaLabel:"Trending type",value:r,onChange:a=>w(a),options:[{value:"multi",label:"All"},{value:"tv",label:"TV Shows"},{value:"movie",label:"Movies"}]})]}),loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"3 / 4",borderRadius:"var(--radius-lg)"}}),emptyState:e("div",{className:De.emptyState,children:e("p",{children:"No trending content available right now."})}),children:A.map(U)})}};return e("div",{style:{paddingBottom:"2rem"},children:[e(Z,{title:"Continue Watching",eyebrow:"Pick up where you left off",titleLink:"/tv-watchlist/Continue Watching",loading:h,carousel:!0,collapsible:!0,defaultExpanded:C.length>0,highlight:!0,itemCount:C.length,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"3 / 4"}}),skeletonCount:7,emptyState:e(be,{icon:"tv",text:"You haven't watched anything yet. Search TV & Movies and start watching to track progress.",actionLabel:"Browse TV & Movies",onAction:()=>n("/tv-search")}),children:C.map(a=>{const y=a.currentTime??0,T=a.duration??0,W=a.season??1,X=a.episode??1,G=a.mediaType==="movie",K=G?"Movie":`S${W} E${X}`,te=a.completed===1||T>0&&y>=T*.8,ae=te?100:T>0&&y>0?y/T*100:0,ye=te?"Watched":T>0?G?`${re(y)} / ${re(T)}`:`${K} · ${re(y)} / ${re(T)}`:K;return e(ge,{item:{id:a.id,title:a.title||"",thumbnail:a.poster||"",typeBadge:G?"Movie":"TV",chapterBadge:K,isAdult:it({adult:a.adult===1})},linkTo:lt(a.mediaType,a.tmdbId??0,G?void 0:W,G?void 0:X),hoverIcon:"play",progress:(T>0||te)&&ae>0?{percent:ae,label:ye}:void 0,showProgress:!0,metaRow:a.year?e("span",{style:{opacity:.75},children:a.year}):void 0,onRemove:()=>g({libId:a.id,title:a.title||""}),renderPopup:(fe,se)=>e(Pt,{item:{id:a.tmdbId??0,title:a.title||"",year:a.year||"",type:a.mediaType||"tv",image:a.poster||""},anchorRect:fe,onMouseEnter:se.onMouseEnter,onMouseLeave:se.onMouseLeave,onRequestClose:se.close})},a.id)})}),e(me,{ariaLabel:"Browse TV",options:En,value:s,onChange:k}),e("div",{children:H()}),e(Ue,{isOpen:!!i,itemName:i?.title,progressKind:"watch",listLabel:"my TV watchlist",onClose:()=>{g(null)},onConfirm:I})]})};function We(n){const l=n.currentTime??0,h=n.duration??0,t=(n.trackIndex??0)+1;return h>0?`Track ${t} · ${re(l)} / ${re(h)}`:n.trackLabel?`Track ${t} · ${n.trackLabel}`:`Track ${t}`}const On=({title:n="Continue Listening",limit:l=24,titleLink:h,showEmptyState:t=!0})=>{const o=ee(),{data:i,isLoading:g}=Ot(l),{toggle:s,bookmarkedIds:k}=Vt(),[b,N]=B(null),p=i?.data??[];return e(oe,{children:[e(Z,{title:n,eyebrow:"Pick up where you left off",titleLink:h??"/listening-list/Continue Listening",loading:g,carousel:!0,collapsible:!0,defaultExpanded:p.length>0,highlight:!0,itemCount:p.length,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"16 / 9"}}),skeletonCount:7,emptyState:t?e(be,{icon:"headphones",text:"You haven't listened to anything yet. Browse ASMR and play a track to start tracking.",actionLabel:"Browse ASMR",onAction:()=>o("/asmr")}):void 0,children:p.map(c=>{const r=c.currentTime??0,w=c.duration??0,C=c.rjCode||c.id;return e(ge,{item:{id:c.id,title:c.title||"",thumbnail:c.thumbnail||"",chapterBadge:`Track ${(c.trackIndex??0)+1}`,isAdult:!!c.isAdult},linkTo:`/asmr/${encodeURIComponent(C)}`,hoverIcon:"play",layout:"horizontal",progress:w>0?{percent:Math.min(100,r/w*100),label:We(c)??""}:void 0,showProgress:!0,display:{elements:{poster:{typeBadge:!1,chapterBadge:!0,adultBadge:!0,removeButton:!0},info:{title:!0,mobileBadges:!0,progress:!0,meta:!1}}},onRemove:()=>N({workId:c.id,title:c.title||""}),renderPopup:(S,d)=>e(Ft,{data:{rjCode:c.rjCode||c.id,title:c.title||"",thumbnail:c.thumbnail||"",isAdult:!!c.isAdult,listenTarget:`/asmr/${encodeURIComponent(c.rjCode||c.id)}`,progressLabel:We(c)},anchorRect:S,bookmarked:k.has(zt(c.rjCode||c.id)),onToggleBookmark:()=>s({rjCode:c.rjCode||c.id,title:c.title||"",thumbnail:c.thumbnail||"",isAdult:!!c.isAdult}),onMouseEnter:d.onMouseEnter,onMouseLeave:d.onMouseLeave,onRequestClose:d.close}),rawThumbnail:!0},c.id)})}),e(Wt,{workId:b?b.workId:null,title:b?.title,onClose:()=>N(null)})]})},Vn=()=>e("div",{style:{paddingBottom:"2rem"},children:e(On,{})}),Fn=({items:n})=>{const l=ee(),h=Q(()=>n.slice(0,6).map(t=>{const o=ct(t.type,t.id);return{key:String(t.id),bannerSrc:t.backdrop?t.backdrop:t.image,posterSrc:t.image,posterAlt:t.title,title:t.title,detailTo:o,score:t.vote_average>0?Number(t.vote_average).toFixed(1):null,metaItems:[t.type==="tv"?"TV Show":"Movie",t.year].filter(Boolean),tags:t.genre_ids.slice(0,3).map(i=>dt[i]??ut[i]).filter(Boolean),synopsis:Ie(t.overview,200),primaryLabel:"Watch Now",primaryIcon:"play",onPrimary:()=>l(o),onDetails:()=>l(o)}}),[n,l]);return e(_e,{slides:h,eyebrow:"TV Spotlight"})},zn=({mangaList:n})=>{const l=ee(),h=Q(()=>n.slice(0,6).map(t=>{const o=`/manga/${t.provider||"mangadex"}/${t.id}`,i=Ce(t.provider||"mangadex",t.cover||"");return{key:`${t.provider}-${t.id}`,bannerSrc:i,posterSrc:i,posterAlt:t.title,title:t.title,detailTo:o,metaItems:[t.year?String(t.year):void 0,t.status??void 0].filter(g=>!!g),tags:t.tags.slice(0,3),synopsis:Ie(t.description,200,""),primaryLabel:"Read Now",primaryIcon:"book",onPrimary:()=>l(o),onDetails:()=>l(o)}}),[n,l]);return e(_e,{slides:h,eyebrow:"Manga Spotlight"})};function jn(n){const l=n.availableEpisodes?.sub;if(typeof l=="number"&&l>0)return l;const h=n.availableEpisodesDetail?.sub,t=n.availableEpisodesDetail?.dub,o=(Array.isArray(h)?h.length:0)+(Array.isArray(t)?t.length:0);return o>0?o:null}const Gn=({works:n})=>{const l=ee(),h=Q(()=>n.slice(0,6).map((t,o)=>{const i=ht(t),g=`/asmr/${encodeURIComponent(i)}`,s=jn(t);return{key:i||t._id||String(o),bannerSrc:t.thumbnail||"",posterSrc:t.thumbnail||"",posterAlt:t.name,title:t.name,detailTo:g,metaItems:[t.rating?t.rating.toUpperCase():void 0,s?`${s} track${s===1?"":"s"}`:void 0].filter(k=>!!k),tags:[],synopsis:Ie(t.description,160,""),primaryLabel:"Listen Now",primaryIcon:"play",onPrimary:()=>l(g),onDetails:()=>l(g)}}),[n,l]);return e(_e,{slides:h,eyebrow:"ASMR Spotlight",posterAspect:"landscape"})},Un="_seasonGrid_168jc_34",le={"section-header":"_section-header_168jc_1","content-type-nav":"_content-type-nav_168jc_8","title-wrapper":"_title-wrapper_168jc_18","pagination-controls":"_pagination-controls_168jc_24",seasonGrid:Un},qn=[{value:"anime",label:"Anime"},{value:"manga",label:"Manga"},{value:"tv",label:"TV & Movies"},{value:"asmr",label:"ASMR"}],fr=()=>{const n=kt(),l=pt(),[h,t]=q.useState(1),[o,i]=B(()=>ne.getItem("home_activeTab")||"latest"),[g,s]=B(()=>ne.getItem("season_format")||"TV"),k=z(null),{data:b}=Me(h+1,g,o==="season"),{titlePreference:N}=Fe(),{contentType:p,setContentType:c}=mt(),[r,w]=q.useState(null),C=gt(),{data:S=[]}=vt(),d=_t(),m=bt(),u=yt();P(()=>{document.title="Home - dango"},[]);const{data:f,isLoading:R}=ft();P(()=>{ne.setItem("home_activeTab",o)},[o]),P(()=>{ne.setItem("season_format",g),t(1)},[g]),P(()=>{f!==void 0&&f.length===0&&o==="week"&&i("latest")},[f,o]);const{data:V,isLoading:A,fetchNextPage:D,hasNextPage:L,isFetchingNextPage:F}=Tt(),j=x(()=>{L&&!F&&!A&&D()},[L,F,A,D]),{data:I,isLoading:U}=Nt(),{data:H,isLoading:a}=Ke("all","week",1,p==="tv"),{data:y,isLoading:T}=jt(p==="asmr"),{data:W,isLoading:X}=wt(),G=Q(()=>V?.pages||[],[V]),{data:K,isLoading:te}=Me(h,g,o==="season"),ae=14,ye=K&&K.length>=ae&&b&&b.length>0,fe=Ct(l.continueWatching.remove.mutationOptions({onSuccess:async()=>{n.invalidateQueries(l.continueWatching.pathFilter()),await n.invalidateQueries({queryKey:[Ve.continueWatching]}),L&&G.length-1<14&&D()}})),se=x(O=>{const Y=G?.find(Te=>String(Te.id)===String(O));if(Y){const Te=Y[N]||Y.name;w({id:O,name:Te})}},[G,N]),Ae=[{key:"latest",label:"Latest Releases"},{key:"season",label:"Current Season"},{key:"popular",label:"Trending"}],Le=f!==void 0&&f.length>0,Ze=Le?[{key:"week",label:"This Week"},...Ae]:Ae,$e=o==="week"&&!Le?"latest":o,Je=()=>{switch($e){case"latest":return e(ga,{eyebrow:"Fresh episodes"});case"season":return e("section",{style:{marginBottom:"2.5rem"},children:[e("div",{className:le["section-header"],ref:k,children:[e("div",{className:le["title-wrapper"],children:e("div",{className:"title-stack",children:[e("div",{className:"section-eyebrow",children:"This season"}),e("div",{className:"section-title",style:{marginBottom:0},children:"Current Season"})]})}),e("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[e(J,{ariaLabel:"Season format",width:90,value:g,onChange:s,options:[{value:"TV",label:"TV"},{value:"ONA",label:"ONA"},{value:"OVA",label:"OVA"},{value:"MOVIE",label:"Movie"},{value:"ALL",label:"All"},{value:"ADULT",label:"Mature"}]}),e("div",{className:le["pagination-controls"],children:e(It,{page:h,canGoNext:ye,onChange:O=>{if(t(O),k.current){const Y=k.current.getBoundingClientRect().top+window.scrollY-120;window.scrollTo({top:Y,behavior:"smooth"})}},isLoading:te})})]})]}),e("div",{className:`grid-container ${le.seasonGrid}`,style:{minHeight:"300px",alignContent:"start"},children:te?e(je,{count:ae}):K?.slice(0,ae).map(O=>e(ce,{anime:O},O._id))})]});case"popular":return e(ha,{title:"Trending",eyebrow:"Discover"});case"week":return e(Pe,{title:"This Week",eyebrow:"Aired this week",animeList:f||[],continueWatching:!1,carousel:!0,loading:R});default:return null}};return e("div",{style:{paddingBottom:"2rem"},children:[p==="anime"&&(U&&!I?.length?e(ue,{}):I&&I.length>0&&e(Nn,{animeList:I})),p==="tv"&&(a&&!H?.results?.length?e(ue,{}):H?.results&&H.results.length>0&&e(Fn,{items:H.results})),p==="manga"&&(X&&!W?.length?e(ue,{}):W&&W.length>0&&e(zn,{mangaList:W})),p==="asmr"&&(T&&!y?.length?e(ue,{}):y&&y.length>0&&e(Gn,{works:y})),e("div",{className:le["content-type-nav"],children:e(me,{ariaLabel:"Content type",options:qn,value:p,onChange:c})}),p==="manga"?e(Pn,{}):p==="tv"?e(Wn,{}):p==="asmr"?e(Vn,{}):e(oe,{children:[e(Pe,{title:"Continue Watching",eyebrow:"Pick up where you left off",titleLink:"/watchlist/Continue Watching",animeList:G,continueWatching:!0,carousel:!0,collapsible:!0,defaultExpanded:G.length>0,onRemove:se,loading:A,onReachThreshold:j,scrollThreshold:.7,isFetchingNextPage:F,emptyState:e(be,{icon:"history",text:"You haven't watched anything yet. Start exploring and watch something first!",actionLabel:"Explore Trending",onAction:()=>i("popular")})}),e(At,{title:"Queue",eyebrow:"Up next",items:S,onRemove:O=>d.mutate({showId:O.showId,episodeNumber:O.episodeNumber}),showClearAll:!0,onClear:()=>m.mutate(),onReorder:O=>u.mutate(O.map(Y=>({id:Y.id,showId:Y.showId,episodeNumber:Y.episodeNumber})))}),e(me,{ariaLabel:"Browse anime",options:Ze.map(O=>({value:O.key,label:O.label})),value:$e,onChange:i}),e("div",{children:Je()}),e(Ea,{eyebrow:"Never miss an episode"}),e(Ue,{isOpen:!!r,itemName:r?.name,progressKind:"watch",listLabel:"my watchlist",onClose:()=>{w(null)},onConfirm:O=>{r&&(fe.mutate({showId:r.id}),O&&C.mutate({id:r.id}))}})]})]})};export{fr as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
._section-header_10ckl_1{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-8);gap:var(--space-4)}._sectionWrapper_10ckl_9{margin-bottom:2.5rem}._sectionTitleNoMargin_10ckl_13{margin-bottom:0}._title-wrapper_10ckl_17{display:flex;align-items:center;gap:var(--space-6);flex:1}._header-controls_10ckl_24{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}._header-select_10ckl_31{width:auto;min-width:120px;height:40px;padding:0 10px;padding-right:2rem;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--control-text);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a1a1aa' stroke-width='2' viewBox='0 0 12 12'%3E%3Cpolyline points='3 5 6 8 9 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:all var(--transition-base)}._header-select_10ckl_31:hover{border-color:var(--control-border-hover);background-color:var(--bg-elevated)}._header-select_10ckl_31:focus{outline:none;border-color:var(--accent)}._view-all-link_10ckl_62{font-size:.85rem;font-weight:700;color:var(--text-secondary);text-decoration:none;white-space:nowrap;padding:8px 12px;border-radius:var(--radius-md);border:1px solid transparent;transition:all var(--transition-base)}._view-all-link_10ckl_62:hover{color:var(--accent-light);background:var(--accent-subtle);border-color:var(--border-primary)}._collapse-button_10ckl_80{width:40px;height:40px;border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--control-text);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}._collapse-button_10ckl_80:hover{background:var(--bg-elevated);border-color:var(--border-primary);color:var(--control-text)}._title-link_10ckl_100{color:inherit;text-decoration:none;display:inline-flex;align-items:center;transition:all var(--transition-base)}._title-link_10ckl_100 .section-title{position:relative;font-size:1.5rem;font-weight:800;letter-spacing:-.01em}._title-link_10ckl_100:hover,._continue-watching_10ckl_119 ._title-link_10ckl_100:hover .section-title{color:var(--accent)}@media(max-width:600px){._section-header_10ckl_1{flex-direction:column;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}._title-wrapper_10ckl_17{width:100%;justify-content:space-between}._title-link_10ckl_100 .section-title{font-size:1.25rem}}._nav-arrows_10ckl_141{display:flex;height:40px;gap:6px}._nav-button_10ckl_147{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--control-text);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}._nav-button_10ckl_147:hover{background:var(--bg-elevated);border-color:var(--border-primary);color:var(--control-text)}._nav-button_10ckl_147:active{background:var(--bg-elevated)}._nav-button_10ckl_147:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(hover:none),(pointer:coarse){._nav-arrows_10ckl_141{height:36px}._nav-button_10ckl_147{width:36px;height:36px}}._carousel-container_10ckl_189{position:relative;width:100%}._carousel_10ckl_189{overflow:hidden}._carousel-inner_10ckl_198{display:flex;gap:20px}._carousel-card_10ckl_203{flex:0 0 calc((100% - (6 * 20px)) / 7);min-width:150px}@media(max-width:1400px){._carousel-card_10ckl_203{flex:0 0 calc((100% - (5 * 20px)) / 6)}}@media(max-width:1200px){._carousel-card_10ckl_203{flex:0 0 calc((100% - 80px)/5)}}@media(max-width:900px){._carousel-card_10ckl_203{flex:0 0 calc((100% - 60px)/4);max-width:160px}}@media(max-width:768px){._carousel-inner_10ckl_198{gap:12px}._carousel-card_10ckl_203{flex:0 0 calc((100% - (2 * 12px)) / 3);min-width:0;max-width:140px}}@media(max-width:480px){._carousel-card_10ckl_203{flex:0 0 calc((100% - (1 * 12px)) / 2.2);max-width:140px}}._wrapper_j52nn_1{position:relative;display:inline-flex}._arrow_j52nn_6{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:var(--control-text);pointer-events:none}._select_j52nn_15{height:38px;padding:0 10px;padding-right:1.75rem;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--control-text);font-size:.85rem;font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;transition:all var(--transition-fast)}._select_j52nn_15:hover{background-color:var(--bg-elevated);border-color:#ffffff40}._wrapper_j52nn_1:hover ._arrow_j52nn_6{color:var(--text-primary)}._select_j52nn_15:focus-visible{outline:none;border-color:#ffffff59}._sectionWrapper_1dwd0_2{margin-bottom:2.5rem}._sectionTitleNoMargin_1dwd0_6{margin-bottom:0;white-space:nowrap}._section-header_1dwd0_11{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-8);gap:var(--space-4)}._title-wrapper_1dwd0_19{display:flex;align-items:center;gap:var(--space-6);flex:1}@media(max-width:600px){._section-header_1dwd0_11{flex-direction:column;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}._title-wrapper_1dwd0_19{width:100%;justify-content:space-between}._header-actions_1dwd0_39{width:100%}}._nav-arrows_1dwd0_45{display:flex;height:40px;gap:6px}._nav-button_1dwd0_51{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--control-text);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}._nav-button_1dwd0_51:hover{background:var(--bg-elevated);border-color:var(--border-primary);color:var(--control-text)}._nav-button_1dwd0_51:active{background:var(--bg-elevated)}._nav-button_1dwd0_51:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(hover:none),(pointer:coarse){._nav-arrows_1dwd0_45{height:36px}._nav-button_1dwd0_51{width:36px;height:36px}}._carouselContainer_1dwd0_94{position:relative;width:100%}._carousel_1dwd0_94{overflow:hidden;padding:10px 0;margin:-10px 0}._carouselInner_1dwd0_105{display:flex;gap:15px}._carouselItem_1dwd0_110{flex:0 0 calc((100% - (6 * 15px)) / 7);min-width:120px;position:relative}@media(max-width:1200px){._carouselItem_1dwd0_110{flex:0 0 calc((100% - (5 * 15px)) / 6)}}@media(max-width:1024px){._carouselItem_1dwd0_110{flex:0 0 calc((100% - 60px)/5)}}@media(max-width:768px){._carouselItem_1dwd0_110{flex:0 0 calc((100% - (2 * 15px)) / 3)}}@media(max-width:480px){._carouselItem_1dwd0_110{flex:0 0 calc((100% - (2 * 10px)) / 3);min-width:100px}._carouselInner_1dwd0_105{gap:10px;align-items:flex-start}}._rankCard_1dwd0_147{width:100%}._rankPill_1dwd0_151{text-align:center;margin-top:4px;font-size:1.6rem;font-weight:900;line-height:1;letter-spacing:-.04em;color:var(--text-tertiary);font-variant-numeric:tabular-nums}._rankPill_1dwd0_151._rankGold_1dwd0_162{color:var(--palette-gold)}._rankPill_1dwd0_151._rankSilver_1dwd0_166{color:var(--palette-silver)}._rankPill_1dwd0_151._rankBronze_1dwd0_170{color:var(--palette-bronze)}@media(max-width:768px){._rankPill_1dwd0_151{font-size:1.3rem}}._skeletonPoster_1dwd0_181,._skeletonText_1dwd0_182{position:relative;overflow:hidden;background-color:var(--bg-tertiary);border-radius:var(--radius-sm)}._skeletonPoster_1dwd0_181:after,._skeletonText_1dwd0_182:after{content:"";position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#ffffff0d 20%,#ffffff1f 60%,#fff0);animation:_skeleton-wave_1dwd0_1 1.8s infinite ease-in-out}._skeletonPoster_1dwd0_181{width:100%;aspect-ratio:3 / 4}._skeletonText_1dwd0_182{width:80%;height:12px;margin-top:var(--space-2)}._header-actions_1dwd0_39{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-shrink:0}._scheduleSection_1o82r_1{margin-bottom:2.5rem}._sectionTitleRow_1o82r_5{display:flex;align-items:center;gap:1rem}._sectionTitleNoMargin_1o82r_11{margin-bottom:0}._sectionHeader_1o82r_15{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap;row-gap:var(--space-3)}._headerActions_1o82r_25{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}._daySelectorContainer_1o82r_33{margin-bottom:var(--space-8);width:100%;position:relative}._daySelector_1o82r_33{display:flex;overflow-x:auto;padding:var(--space-2) var(--space-8);scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;scroll-behavior:smooth;overscroll-behavior-x:contain}._daySelectorInner_1o82r_50{display:flex;gap:var(--space-2);justify-content:flex-start;margin:0 auto}._daySelector_1o82r_33::-webkit-scrollbar{display:none}._dayBtn_1o82r_61{background:#ffffff08;border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);min-width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0}._dayBtn_1o82r_61:hover{background:var(--bg-hover);border-color:var(--border-secondary);transform:translateY(-2px)}._dayBtn_1o82r_61._active_1o82r_84{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 8px 20px var(--accent-glow);transform:translateY(-4px)}._dayMonth_1o82r_92{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.8}._dayNum_1o82r_100{font-size:1.25rem;font-weight:800;line-height:1}._dayName_1o82r_106{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}._dayBtn_1o82r_61._active_1o82r_84 ._dayMonth_1o82r_92,._dayBtn_1o82r_61._active_1o82r_84 ._dayName_1o82r_106{opacity:1}._navArrows_1o82r_119{display:flex;height:40px;gap:6px}._navButton_1o82r_125{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--control-text);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}._navButton_1o82r_125:hover{background:var(--bg-elevated);border-color:var(--border-primary);color:var(--control-text)}._navButton_1o82r_125:active{background:var(--bg-elevated)}._navButton_1o82r_125:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(hover:none),(pointer:coarse){._navArrows_1o82r_119{height:36px}._navButton_1o82r_125{width:36px;height:36px}}._carouselContainer_1o82r_168{position:relative;width:100%;min-height:280px}._carousel_1o82r_168{overflow:hidden;padding-bottom:10px;min-height:260px}._carouselInner_1o82r_180{display:flex;gap:15px}._carouselCard_1o82r_185{flex:0 0 calc((100% - (6 * 15px)) / 7);min-width:150px}@media(max-width:1200px){._carouselCard_1o82r_185{flex:0 0 calc((100% - (5 * 15px)) / 6)}}@media(max-width:1024px){._carouselCard_1o82r_185{flex:0 0 calc((100% - 60px)/5)}}@media(max-width:768px){._carouselCard_1o82r_185{flex:0 0 calc((100% - (2 * 15px)) / 3);min-width:0}._daySelector_1o82r_33{justify-content:flex-start;padding-left:var(--space-4);padding-right:var(--space-4)}._dayBtn_1o82r_61{min-width:60px;padding:var(--space-2) var(--space-3)}}@media(max-width:480px){._carouselCard_1o82r_185{flex:0 0 calc((100% - (2 * 10px)) / 3);min-width:0}._carouselInner_1o82r_180{gap:10px;align-items:flex-start}}@media(max-width:600px){._daySelector_1o82r_33{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:0;padding:var(--space-1) var(--space-4);scroll-behavior:smooth;overscroll-behavior-x:contain}._daySelectorInner_1o82r_50{gap:0;margin:0;justify-content:flex-start}._dayBtn_1o82r_61{flex:0 0 14.2857%;min-width:0!important;padding:var(--space-1) 0!important;border-radius:var(--radius-md)!important}._dayMonth_1o82r_92{font-size:10px!important}._dayNum_1o82r_100{font-size:1rem!important}._dayName_1o82r_106{font-size:10px!important}._dayBtn_1o82r_61._active_1o82r_84{transform:translateY(-2px)!important}}._bannerContainer_1oqya_1{width:100vw;max-width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;margin-top:calc(-1 * var(--header-height));margin-bottom:2.5rem;overflow:hidden;background-color:var(--bg-main);z-index:2}@media(max-width:1024px){._bannerContainer_1oqya_1{margin-top:calc(-1 * (var(--header-height) + 52px))}}@media(max-width:848px){._bannerContainer_1oqya_1{margin-top:-116px}}._hero_1oqya_28{position:relative;width:100%;height:clamp(480px,72svh,660px);overflow:hidden;background-color:var(--bg-main)}._ambient_1oqya_37{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;object-position:center 22%;filter:blur(55px) brightness(.3) saturate(1.15);opacity:0;transition:opacity .6s ease}._ambientShow_1oqya_49{opacity:1}._scrim_1oqya_53{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,5,8,.88) 0%,rgba(5,5,8,.52) 38%,rgba(5,5,8,.12) 65%,transparent 100%),linear-gradient(0deg,var(--bg-main) 0%,rgba(12,13,18,.75) 18%,transparent 52%),linear-gradient(180deg,rgba(5,5,8,.35) 0%,transparent 80px)}._progressLine_1oqya_70{position:absolute;left:0;right:0;bottom:0;height:2px;z-index:6;background:#ffffff1a;overflow:hidden}._progressLine_1oqya_70:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--accent),var(--accent-light));transform-origin:left;animation:_progressFill_1oqya_1 8s linear forwards}._paused_1oqya_90 ._progressLine_1oqya_70:after{animation-play-state:paused}@keyframes _progressFill_1oqya_1{0%{transform:scaleX(0)}to{transform:scaleX(1)}}._dots_1oqya_104{position:absolute;left:50%;transform:translate(-50%);bottom:.6rem;z-index:5;display:flex;align-items:center;gap:.5rem;padding:10px 16px}._dot_1oqya_104{width:10px;height:10px;padding:0;border-radius:var(--radius-full);border:none;background:#ffffff4d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}._dot_1oqya_104:not(._dotActive_1oqya_127):hover{background:#ffffffa6}._dotActive_1oqya_127{width:32px;background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}._viewport_1oqya_138{position:absolute;inset:0;z-index:2;overflow:hidden}._track_1oqya_145{display:flex;height:100%;transition:transform .45s cubic-bezier(.22,1,.36,1)}._slide_1oqya_151{flex:0 0 100%;height:100%;display:flex;align-items:center;justify-content:center}._slideInner_1oqya_159{width:100%;max-width:var(--max-width);margin:0 auto;padding:4rem var(--space-8) 3.5rem;display:flex;align-items:center;gap:3rem}._poster_1oqya_169{width:clamp(110px,18vw,230px);height:auto;aspect-ratio:2 / 3;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px #0009}._posterLandscape_1oqya_180{width:min(400px,38vw);aspect-ratio:16 / 9;height:auto;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px #0009}@media(max-width:1024px){._posterLandscape_1oqya_180{width:min(320px,36vw)}}@media(max-width:768px)and (pointer:coarse){._posterLandscape_1oqya_180{width:100%;max-width:420px}}._info_1oqya_204{min-width:0;max-width:620px}._kicker_1oqya_209{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}._featureLabel_1oqya_216{padding:.3rem .75rem;background:var(--accent-subtle);border:1px solid var(--border-accent);color:var(--accent-light);font-size:.75rem;font-weight:700;text-transform:uppercase;border-radius:var(--radius-full);letter-spacing:.08em}._scoreChip_1oqya_228{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;background:#00000073;border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--accent-lighter);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._slide_1oqya_151 ._rise_1oqya_246{opacity:1}._slide_1oqya_151._active_1oqya_250 ._rise_1oqya_246{animation:_riseIn_1oqya_1 .45s cubic-bezier(.22,1,.36,1) both}._slide_1oqya_151._active_1oqya_250 ._rise_1oqya_246:nth-child(1){animation-delay:.03s}._slide_1oqya_151._active_1oqya_250 ._rise_1oqya_246:nth-child(2){animation-delay:.07s}._slide_1oqya_151._active_1oqya_250 ._rise_1oqya_246:nth-child(3){animation-delay:.11s}._slide_1oqya_151._active_1oqya_250 ._rise_1oqya_246:nth-child(4){animation-delay:.15s}._slide_1oqya_151._active_1oqya_250 ._rise_1oqya_246:nth-child(5){animation-delay:.19s}._slide_1oqya_151._active_1oqya_250 ._rise_1oqya_246:nth-child(6){animation-delay:.23s}@keyframes _riseIn_1oqya_1{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}._slide_1oqya_151._active_1oqya_250 ._poster_1oqya_169{animation:_posterIn_1oqya_1 .5s cubic-bezier(.22,1,.36,1)}@keyframes _posterIn_1oqya_1{0%{opacity:0;transform:translate(-30px) scale(.97)}to{opacity:1;transform:none}}._metaRow_1oqya_306{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;color:#ffffffb3;font-size:.9rem;font-weight:600;margin-bottom:.8rem}._metaItem_1oqya_317{display:flex;align-items:center;gap:4px}._metaDivider_1oqya_323{width:4px;height:4px;background:#ffffff4d;border-radius:50%}._title_1oqya_330{display:block;font-size:clamp(1.6rem,4.6vw,3rem);line-height:1.04;cursor:pointer;max-width:800px;margin-bottom:.9rem;text-shadow:0 2px 26px rgba(0,0,0,.75),0 1px 3px rgba(0,0,0,.9)}._title_1oqya_330:hover{color:var(--accent-light)}._genres_1oqya_346{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.9rem}._genreTag_1oqya_354{color:#fffc;border:1px solid rgba(255,255,255,.28);padding:.32rem .75rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}._summary_1oqya_365{font-size:.96rem;line-height:1.65;margin:0 0 1.6rem;color:#fffc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:750px}._actions_1oqya_377{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}._watchBtn_1oqya_384{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 2.2rem;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:var(--accent-text);font-size:.95rem;font-weight:700;border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 8px 28px var(--accent-glow),0 2px 8px #0006;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease;letter-spacing:.02em}._watchBtn_1oqya_384:hover{transform:translateY(-3px);box-shadow:0 12px 36px var(--accent-glow),0 4px 12px #00000080}._detailsBtn_1oqya_413{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.85rem 1.8rem;background:#ffffff14;color:var(--text-primary);font-size:.94rem;font-weight:600;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease}._detailsBtn_1oqya_413:hover{background:#ffffff29;color:#fff}._navArrow_1oqya_434{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;background:#0006;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .3s ease,border-color .2s ease,color .2s ease}._hero_1oqya_28:hover ._navArrow_1oqya_434{opacity:.9}._navArrow_1oqya_434:hover{border-color:var(--accent);color:var(--accent-light)}._prevArrow_1oqya_467{left:1.2rem}._nextArrow_1oqya_471{right:1.2rem}@media(max-width:768px)and (pointer:coarse){._hero_1oqya_28{min-height:92svh}._scrim_1oqya_53{background:linear-gradient(0deg,#050508e6,#05050859 55%,#05050873)}._slideInner_1oqya_159{flex-direction:column;justify-content:center;text-align:center;gap:1.3rem;padding:4.2rem var(--space-4) 2.4rem}._poster_1oqya_169{width:min(46vw,172px)}._slide_1oqya_151._active_1oqya_250 ._poster_1oqya_169{animation-name:_posterUp_1oqya_1}@keyframes _posterUp_1oqya_1{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}._kicker_1oqya_209{justify-content:center}._title_1oqya_330{font-size:1.6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}._metaRow_1oqya_306{justify-content:center;font-size:.8rem}._genres_1oqya_346{justify-content:center}._genreTag_1oqya_354{font-size:.66rem}._summary_1oqya_365{display:none}._actions_1oqya_377{width:100%}._watchBtn_1oqya_384,._detailsBtn_1oqya_413{flex:1;justify-content:center;padding:.85rem .5rem;font-size:.87rem}._navArrow_1oqya_434{display:none}}@media(max-width:1024px){._slideInner_1oqya_159{gap:2rem}}@media(max-height:500px)and (orientation:landscape){._hero_1oqya_28{min-height:360px}._slideInner_1oqya_159{gap:1.5rem;padding:3.5rem var(--space-8) 3rem}._poster_1oqya_169{width:140px}._title_1oqya_330{font-size:1.5rem}._summary_1oqya_365{display:none}}._emptyState_19tmt_1{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);background:linear-gradient(to bottom,var(--bg-tertiary),var(--bg-main));border-radius:var(--radius-lg);border:1px solid var(--border-primary);text-align:center;gap:var(--space-4);width:100%;min-height:320px}._emptyStateIcon_19tmt_16{color:var(--accent);opacity:.4;margin-bottom:var(--space-2);filter:drop-shadow(0 0 20px var(--accent-glow))}._emptyStateTitle_19tmt_23{font-size:1.5rem;font-weight:800;margin:0;color:var(--text-primary)}._emptyStateText_19tmt_30{font-size:1rem;color:var(--text-secondary);max-width:340px;line-height:1.6}._tabBar_1mv4x_1{display:flex;align-items:center;gap:6px;margin-bottom:2.5rem;padding:6px;background:#ffffff0a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-primary);border-radius:var(--radius-full);width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none;box-shadow:0 4px 20px #0003;position:relative}._tabBar_1mv4x_1::-webkit-scrollbar{display:none}._tabIndicator_1mv4x_24{position:absolute;top:6px;bottom:6px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);box-shadow:0 4px 15px var(--accent-glow);transition:left .22s cubic-bezier(.2,1.2,.3,1),width .22s cubic-bezier(.2,1.2,.3,1);z-index:0;pointer-events:none}._tabButton_1mv4x_38{border-radius:var(--radius-full)!important;font-weight:700!important;font-size:.85rem!important;padding:.65rem 1.4rem!important;letter-spacing:.02em;transition:color .25s ease!important;border:none!important;background:transparent!important;color:var(--text-muted)!important;position:relative;z-index:1;flex-shrink:0}._tabButton_1mv4x_38:hover:not(:disabled):not(._tabActive_1mv4x_53){background:#ffffff1a!important;color:var(--text-primary)!important;box-shadow:inset 0 0 0 1px var(--border-secondary)!important;transform:none!important}._tabButton_1mv4x_38:active{transform:scale(.96)}._tabActive_1mv4x_53{color:var(--accent-text)!important}._tabActive_1mv4x_53:hover:not(:disabled){color:var(--accent-text)!important;transform:none!important}@media(max-width:600px){._tabBar_1mv4x_1{width:100%;justify-content:flex-start}._tabButton_1mv4x_38{flex:1;justify-content:center!important;padding:.65rem .5rem!important;text-align:center;font-size:.78rem!important}}._emptyState_bpz5x_1{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);background:linear-gradient(to bottom,var(--bg-tertiary),var(--bg-main));border-radius:var(--radius-lg);border:1px solid var(--border-primary);text-align:center;gap:var(--space-4);width:100%;min-height:320px}._section-header_168jc_1{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}._content-type-nav_168jc_8{display:flex;justify-content:center;margin-bottom:2.5rem}._content-type-nav_168jc_8 .tabBar{margin-bottom:0}._title-wrapper_168jc_18{display:flex;align-items:center;gap:var(--space-6)}._pagination-controls_168jc_24{display:flex;gap:8px;align-items:center;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-primary)}._seasonGrid_168jc_34{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-4)}@media(max-width:1200px){._seasonGrid_168jc_34{grid-template-columns:repeat(6,1fr)}}@media(max-width:1024px){._seasonGrid_168jc_34{grid-template-columns:repeat(5,1fr)}}@media(max-width:768px){._seasonGrid_168jc_34{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}}@media(max-width:480px){._seasonGrid_168jc_34{grid-template-columns:repeat(3,1fr);gap:8px}}
|
|
1
|
+
._section-header_10ckl_1{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-8);gap:var(--space-4)}._sectionWrapper_10ckl_9{margin-bottom:2.5rem}._sectionTitleNoMargin_10ckl_13{margin-bottom:0}._title-wrapper_10ckl_17{display:flex;align-items:center;gap:var(--space-6);flex:1}._header-controls_10ckl_24{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}._header-select_10ckl_31{width:auto;min-width:120px;height:40px;padding:0 10px;padding-right:2rem;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--control-text);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a1a1aa' stroke-width='2' viewBox='0 0 12 12'%3E%3Cpolyline points='3 5 6 8 9 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:all var(--transition-base)}._header-select_10ckl_31:hover{border-color:var(--control-border-hover);background-color:var(--bg-elevated)}._header-select_10ckl_31:focus{outline:none;border-color:var(--accent)}._view-all-link_10ckl_62{font-size:.85rem;font-weight:700;color:var(--text-secondary);text-decoration:none;white-space:nowrap;padding:8px 12px;border-radius:var(--radius-md);border:1px solid transparent;transition:all var(--transition-base)}._view-all-link_10ckl_62:hover{color:var(--accent-light);background:var(--accent-subtle);border-color:var(--border-primary)}._collapse-button_10ckl_80{width:40px;height:40px;border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--control-text);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}._collapse-button_10ckl_80:hover{background:var(--bg-elevated);border-color:var(--border-primary);color:var(--control-text)}._title-link_10ckl_100{color:inherit;text-decoration:none;display:inline-flex;align-items:center;transition:all var(--transition-base)}._title-link_10ckl_100 .section-title{position:relative;font-size:1.5rem;font-weight:800;letter-spacing:-.01em}._title-link_10ckl_100:hover,._continue-watching_10ckl_119 ._title-link_10ckl_100:hover .section-title{color:var(--accent)}@media(max-width:600px){._section-header_10ckl_1{flex-direction:column;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}._title-wrapper_10ckl_17{width:100%;justify-content:space-between}._title-link_10ckl_100 .section-title{font-size:1.25rem}}._nav-arrows_10ckl_141{display:flex;height:40px;gap:6px}._nav-button_10ckl_147{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--control-text);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}._nav-button_10ckl_147:hover{background:var(--bg-elevated);border-color:var(--border-primary);color:var(--control-text)}._nav-button_10ckl_147:active{background:var(--bg-elevated)}._nav-button_10ckl_147:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(hover:none),(pointer:coarse){._nav-arrows_10ckl_141{height:36px}._nav-button_10ckl_147{width:36px;height:36px}}._carousel-container_10ckl_189{position:relative;width:100%}._carousel_10ckl_189{overflow:hidden}._carousel-inner_10ckl_198{display:flex;gap:20px}._carousel-card_10ckl_203{flex:0 0 calc((100% - (6 * 20px)) / 7);min-width:150px}@media(max-width:1400px){._carousel-card_10ckl_203{flex:0 0 calc((100% - (5 * 20px)) / 6)}}@media(max-width:1200px){._carousel-card_10ckl_203{flex:0 0 calc((100% - 80px)/5)}}@media(max-width:900px){._carousel-card_10ckl_203{flex:0 0 calc((100% - 60px)/4);max-width:160px}}@media(max-width:768px){._carousel-inner_10ckl_198{gap:12px}._carousel-card_10ckl_203{flex:0 0 calc((100% - (2 * 12px)) / 3);min-width:0;max-width:140px}}@media(max-width:480px){._carousel-card_10ckl_203{flex:0 0 calc((100% - (1 * 12px)) / 2.2);max-width:140px}}._wrapper_j52nn_1{position:relative;display:inline-flex}._arrow_j52nn_6{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:var(--control-text);pointer-events:none}._select_j52nn_15{height:38px;padding:0 10px;padding-right:1.75rem;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--control-text);font-size:.85rem;font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;transition:all var(--transition-fast)}._select_j52nn_15:hover{background-color:var(--bg-elevated);border-color:#ffffff40}._wrapper_j52nn_1:hover ._arrow_j52nn_6{color:var(--text-primary)}._select_j52nn_15:focus-visible{outline:none;border-color:#ffffff59}._sectionWrapper_1dwd0_2{margin-bottom:2.5rem}._sectionTitleNoMargin_1dwd0_6{margin-bottom:0;white-space:nowrap}._section-header_1dwd0_11{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-8);gap:var(--space-4)}._title-wrapper_1dwd0_19{display:flex;align-items:center;gap:var(--space-6);flex:1}@media(max-width:600px){._section-header_1dwd0_11{flex-direction:column;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}._title-wrapper_1dwd0_19{width:100%;justify-content:space-between}._header-actions_1dwd0_39{width:100%}}._nav-arrows_1dwd0_45{display:flex;height:40px;gap:6px}._nav-button_1dwd0_51{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--control-text);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}._nav-button_1dwd0_51:hover{background:var(--bg-elevated);border-color:var(--border-primary);color:var(--control-text)}._nav-button_1dwd0_51:active{background:var(--bg-elevated)}._nav-button_1dwd0_51:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(hover:none),(pointer:coarse){._nav-arrows_1dwd0_45{height:36px}._nav-button_1dwd0_51{width:36px;height:36px}}._carouselContainer_1dwd0_94{position:relative;width:100%}._carousel_1dwd0_94{overflow:hidden;padding:10px 0;margin:-10px 0}._carouselInner_1dwd0_105{display:flex;gap:15px}._carouselItem_1dwd0_110{flex:0 0 calc((100% - (6 * 15px)) / 7);min-width:120px;position:relative}@media(max-width:1200px){._carouselItem_1dwd0_110{flex:0 0 calc((100% - (5 * 15px)) / 6)}}@media(max-width:1024px){._carouselItem_1dwd0_110{flex:0 0 calc((100% - 60px)/5)}}@media(max-width:768px){._carouselItem_1dwd0_110{flex:0 0 calc((100% - (2 * 15px)) / 3)}}@media(max-width:480px){._carouselItem_1dwd0_110{flex:0 0 calc((100% - (2 * 10px)) / 3);min-width:100px}._carouselInner_1dwd0_105{gap:10px;align-items:flex-start}}._rankCard_1dwd0_147{width:100%}._rankPill_1dwd0_151{text-align:center;margin-top:4px;font-size:1.6rem;font-weight:900;line-height:1;letter-spacing:-.04em;color:var(--text-tertiary);font-variant-numeric:tabular-nums}._rankPill_1dwd0_151._rankGold_1dwd0_162{color:var(--palette-gold)}._rankPill_1dwd0_151._rankSilver_1dwd0_166{color:var(--palette-silver)}._rankPill_1dwd0_151._rankBronze_1dwd0_170{color:var(--palette-bronze)}@media(max-width:768px){._rankPill_1dwd0_151{font-size:1.3rem}}._skeletonPoster_1dwd0_181,._skeletonText_1dwd0_182{position:relative;overflow:hidden;background-color:var(--bg-tertiary);border-radius:var(--radius-sm)}._skeletonPoster_1dwd0_181:after,._skeletonText_1dwd0_182:after{content:"";position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#ffffff0d 20%,#ffffff1f 60%,#fff0);animation:_skeleton-wave_1dwd0_1 1.8s infinite ease-in-out}._skeletonPoster_1dwd0_181{width:100%;aspect-ratio:3 / 4}._skeletonText_1dwd0_182{width:80%;height:12px;margin-top:var(--space-2)}._header-actions_1dwd0_39{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-shrink:0}._scheduleSection_1o82r_1{margin-bottom:2.5rem}._sectionTitleRow_1o82r_5{display:flex;align-items:center;gap:1rem}._sectionTitleNoMargin_1o82r_11{margin-bottom:0}._sectionHeader_1o82r_15{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap;row-gap:var(--space-3)}._headerActions_1o82r_25{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}._daySelectorContainer_1o82r_33{margin-bottom:var(--space-8);width:100%;position:relative}._daySelector_1o82r_33{display:flex;overflow-x:auto;padding:var(--space-2) var(--space-8);scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;scroll-behavior:smooth;overscroll-behavior-x:contain}._daySelectorInner_1o82r_50{display:flex;gap:var(--space-2);justify-content:flex-start;margin:0 auto}._daySelector_1o82r_33::-webkit-scrollbar{display:none}._dayBtn_1o82r_61{background:#ffffff08;border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);min-width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0}._dayBtn_1o82r_61:hover{background:var(--bg-hover);border-color:var(--border-secondary);transform:translateY(-2px)}._dayBtn_1o82r_61._active_1o82r_84{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 8px 20px var(--accent-glow);transform:translateY(-4px)}._dayMonth_1o82r_92{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.8}._dayNum_1o82r_100{font-size:1.25rem;font-weight:800;line-height:1}._dayName_1o82r_106{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}._dayBtn_1o82r_61._active_1o82r_84 ._dayMonth_1o82r_92,._dayBtn_1o82r_61._active_1o82r_84 ._dayName_1o82r_106{opacity:1}._navArrows_1o82r_119{display:flex;height:40px;gap:6px}._navButton_1o82r_125{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--control-text);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}._navButton_1o82r_125:hover{background:var(--bg-elevated);border-color:var(--border-primary);color:var(--control-text)}._navButton_1o82r_125:active{background:var(--bg-elevated)}._navButton_1o82r_125:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(hover:none),(pointer:coarse){._navArrows_1o82r_119{height:36px}._navButton_1o82r_125{width:36px;height:36px}}._carouselContainer_1o82r_168{position:relative;width:100%;min-height:280px}._carousel_1o82r_168{overflow:hidden;padding-bottom:10px;min-height:260px}._carouselInner_1o82r_180{display:flex;gap:15px}._carouselCard_1o82r_185{flex:0 0 calc((100% - (6 * 15px)) / 7);min-width:150px}@media(max-width:1200px){._carouselCard_1o82r_185{flex:0 0 calc((100% - (5 * 15px)) / 6)}}@media(max-width:1024px){._carouselCard_1o82r_185{flex:0 0 calc((100% - 60px)/5)}}@media(max-width:768px){._carouselCard_1o82r_185{flex:0 0 calc((100% - (2 * 15px)) / 3);min-width:0}._daySelector_1o82r_33{justify-content:flex-start;padding-left:var(--space-4);padding-right:var(--space-4)}._dayBtn_1o82r_61{min-width:60px;padding:var(--space-2) var(--space-3)}}@media(max-width:480px){._carouselCard_1o82r_185{flex:0 0 calc((100% - (2 * 10px)) / 3);min-width:0}._carouselInner_1o82r_180{gap:10px;align-items:flex-start}}@media(max-width:600px){._daySelector_1o82r_33{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:0;padding:var(--space-1) var(--space-4);scroll-behavior:smooth;overscroll-behavior-x:contain}._daySelectorInner_1o82r_50{gap:0;margin:0;justify-content:flex-start}._dayBtn_1o82r_61{flex:0 0 14.2857%;min-width:0!important;padding:var(--space-1) 0!important;border-radius:var(--radius-md)!important}._dayMonth_1o82r_92{font-size:10px!important}._dayNum_1o82r_100{font-size:1rem!important}._dayName_1o82r_106{font-size:10px!important}._dayBtn_1o82r_61._active_1o82r_84{transform:translateY(-2px)!important}}._bannerContainer_dc323_1{width:100vw;max-width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;margin-top:calc(-1 * var(--header-height));margin-bottom:2.5rem;overflow:hidden;background-color:var(--bg-main);z-index:2}@media(max-width:1024px){._bannerContainer_dc323_1{margin-top:calc(-1 * (var(--header-height) + 52px))}}@media(max-width:848px){._bannerContainer_dc323_1{margin-top:-116px}}._hero_dc323_28{position:relative;width:100%;height:clamp(480px,72svh,660px);overflow:hidden;background-color:var(--bg-main)}._ambient_dc323_37{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;object-position:center 22%;filter:grayscale(1) brightness(.4) contrast(1.2);opacity:0;transition:opacity .6s ease}._ambientShow_dc323_49{opacity:1}._scrim_dc323_53{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,15,19,.9) 0%,rgba(15,15,19,.4) 40%,transparent 100%),radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px) 0 0 / 6px 6px,#0f0f13b3}._progressLine_dc323_64{position:absolute;left:0;right:0;bottom:0;height:2px;z-index:6;background:#ffffff1a;overflow:hidden}._progressLine_dc323_64:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--accent),var(--accent-light));transform-origin:left;animation:_progressFill_dc323_1 8s linear forwards}._paused_dc323_84 ._progressLine_dc323_64:after{animation-play-state:paused}@keyframes _progressFill_dc323_1{0%{transform:scaleX(0)}to{transform:scaleX(1)}}._dots_dc323_98{position:absolute;left:50%;transform:translate(-50%);bottom:.6rem;z-index:5;display:flex;align-items:center;gap:.5rem;padding:10px 16px}._dot_dc323_98{width:10px;height:10px;padding:0;border-radius:var(--radius-full);border:none;background:#ffffff4d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}._dot_dc323_98:not(._dotActive_dc323_121):hover{background:#ffffffa6}._dotActive_dc323_121{width:32px;background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}._viewport_dc323_132{position:absolute;inset:0;z-index:2;overflow:hidden}._track_dc323_139{display:flex;height:100%;transition:transform .45s cubic-bezier(.22,1,.36,1)}._slide_dc323_145{flex:0 0 100%;height:100%;display:flex;align-items:center;justify-content:center}._slideInner_dc323_153{width:100%;max-width:var(--max-width);margin:0 auto;padding:4rem var(--space-8) 3.5rem;display:flex;align-items:center;gap:3rem}._poster_dc323_163{width:clamp(110px,18vw,230px);height:auto;aspect-ratio:2 / 3;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px #0009}._posterLandscape_dc323_174{width:min(400px,38vw);aspect-ratio:16 / 9;height:auto;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px #0009}@media(max-width:1024px){._posterLandscape_dc323_174{width:min(320px,36vw)}}@media(max-width:768px)and (pointer:coarse){._posterLandscape_dc323_174{width:100%;max-width:420px}}._info_dc323_198{min-width:0;max-width:620px;display:flex;flex-direction:column;justify-content:space-between;height:100%}._kicker_dc323_207{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}._featureLabel_dc323_214{padding:.3rem .75rem;background:var(--accent-subtle);border:1px solid var(--border-accent);color:var(--accent-light);font-size:.75rem;font-weight:700;text-transform:uppercase;border-radius:var(--radius-full);letter-spacing:.08em}._scoreChip_dc323_226{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;background:#00000073;border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--accent-lighter);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._slide_dc323_145 ._rise_dc323_244{opacity:1}._slide_dc323_145._active_dc323_248 ._rise_dc323_244{animation:_riseIn_dc323_1 .45s cubic-bezier(.22,1,.36,1) both}._slide_dc323_145._active_dc323_248 ._rise_dc323_244:nth-child(1){animation-delay:.03s}._slide_dc323_145._active_dc323_248 ._rise_dc323_244:nth-child(2){animation-delay:.07s}._slide_dc323_145._active_dc323_248 ._rise_dc323_244:nth-child(3){animation-delay:.11s}._slide_dc323_145._active_dc323_248 ._rise_dc323_244:nth-child(4){animation-delay:.15s}._slide_dc323_145._active_dc323_248 ._rise_dc323_244:nth-child(5){animation-delay:.19s}._slide_dc323_145._active_dc323_248 ._rise_dc323_244:nth-child(6){animation-delay:.23s}@keyframes _riseIn_dc323_1{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}._slide_dc323_145._active_dc323_248 ._poster_dc323_163{animation:_posterIn_dc323_1 .5s cubic-bezier(.22,1,.36,1)}@keyframes _posterIn_dc323_1{0%{opacity:0;transform:translate(-30px) scale(.97)}to{opacity:1;transform:none}}._metaRow_dc323_304{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;color:#ffffffb3;font-size:.9rem;font-weight:600;margin-bottom:.8rem}._metaItem_dc323_315{display:flex;align-items:center;gap:4px}._metaDivider_dc323_321{width:4px;height:4px;background:#ffffff4d;border-radius:50%}._title_dc323_328{display:block;font-size:clamp(1.6rem,4.6vw,3rem);line-height:1.04;cursor:pointer;max-width:800px;margin-bottom:.9rem;text-shadow:0 2px 26px rgba(0,0,0,.75),0 1px 3px rgba(0,0,0,.9)}._title_dc323_328:hover{color:var(--accent-light)}._genres_dc323_344{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.9rem}._genreTag_dc323_352{color:#fffc;border:1px solid rgba(255,255,255,.28);padding:.32rem .75rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}._summary_dc323_363{font-size:.96rem;line-height:1.65;margin:0 0 1.6rem;color:#fffc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:750px}._actions_dc323_375{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;flex-wrap:wrap}._watchBtn_dc323_383{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;max-width:280px;padding:.95rem 2rem;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:var(--accent-text);font-size:.95rem;font-weight:700;border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 8px 28px var(--accent-glow),0 2px 8px #0006;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,filter .2s ease;letter-spacing:.02em}._watchBtn_dc323_383:hover{transform:scale(1.02);box-shadow:0 14px 40px var(--accent-glow),0 4px 12px #00000080}._detailsBtn_dc323_415{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.2rem;padding:.3rem 0;background:none;color:var(--text-secondary);font-size:.88rem;font-weight:600;border:none;border-radius:0;cursor:pointer;transition:color .2s ease;opacity:.8;position:relative}._detailsBtn_dc323_415:after{content:"→";font-size:.9rem;transition:transform .2s ease}._detailsBtn_dc323_415:hover{color:var(--accent-light);background:none;opacity:1}._secondaryRow_dc323_446{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}._secondaryBtn_dc323_453{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.2rem;padding:.3rem 0;background:none;color:var(--text-secondary);font-size:.88rem;font-weight:600;border:none;border-radius:0;cursor:pointer;transition:color .2s ease;opacity:.8}._secondaryBtn_dc323_453:hover{color:var(--accent-light);opacity:1}._navArrow_dc323_476{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;background:#0006;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .3s ease,border-color .2s ease,color .2s ease}._hero_dc323_28:hover ._navArrow_dc323_476{opacity:.9}._navArrow_dc323_476:hover{border-color:var(--accent);color:var(--accent-light)}._prevArrow_dc323_509{left:1.2rem}._nextArrow_dc323_513{right:1.2rem}@media(max-width:768px)and (pointer:coarse){._hero_dc323_28{min-height:92svh}._scrim_dc323_53{background:linear-gradient(0deg,#050508e6,#05050859 55%,#05050873)}._slideInner_dc323_153{flex-direction:column;justify-content:center;text-align:center;gap:1.3rem;padding:4.2rem var(--space-4) 2.4rem}._poster_dc323_163{width:min(46vw,172px)}._slide_dc323_145._active_dc323_248 ._poster_dc323_163{animation-name:_posterUp_dc323_1}@keyframes _posterUp_dc323_1{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}._kicker_dc323_207{justify-content:center}._title_dc323_328{font-size:1.6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:center;overflow-wrap:anywhere;width:100%;max-width:100%}._info_dc323_198{align-items:center;text-align:center}._metaRow_dc323_304{justify-content:center;font-size:.8rem}._genres_dc323_344{justify-content:center}._genreTag_dc323_352{font-size:.66rem}._summary_dc323_363{display:none}._actions_dc323_375{width:100%;align-items:center}._watchBtn_dc323_383,._detailsBtn_dc323_415{flex:1;justify-content:center;padding:.85rem .5rem;font-size:.87rem}._navArrow_dc323_476{display:none}}@media(max-width:1024px){._slideInner_dc323_153{gap:2rem}}@media(max-height:500px)and (orientation:landscape){._hero_dc323_28{min-height:360px}._slideInner_dc323_153{gap:1.5rem;padding:3.5rem var(--space-8) 3rem}._poster_dc323_163{width:140px}._title_dc323_328{font-size:1.5rem}._summary_dc323_363{display:none}}._emptyState_19tmt_1{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);background:linear-gradient(to bottom,var(--bg-tertiary),var(--bg-main));border-radius:var(--radius-lg);border:1px solid var(--border-primary);text-align:center;gap:var(--space-4);width:100%;min-height:320px}._emptyStateIcon_19tmt_16{color:var(--accent);opacity:.4;margin-bottom:var(--space-2);filter:drop-shadow(0 0 20px var(--accent-glow))}._emptyStateTitle_19tmt_23{font-size:1.5rem;font-weight:800;margin:0;color:var(--text-primary)}._emptyStateText_19tmt_30{font-size:1rem;color:var(--text-secondary);max-width:340px;line-height:1.6}._tabBar_1mv4x_1{display:flex;align-items:center;gap:6px;margin-bottom:2.5rem;padding:6px;background:#ffffff0a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-primary);border-radius:var(--radius-full);width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none;box-shadow:0 4px 20px #0003;position:relative}._tabBar_1mv4x_1::-webkit-scrollbar{display:none}._tabIndicator_1mv4x_24{position:absolute;top:6px;bottom:6px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);box-shadow:0 4px 15px var(--accent-glow);transition:left .22s cubic-bezier(.2,1.2,.3,1),width .22s cubic-bezier(.2,1.2,.3,1);z-index:0;pointer-events:none}._tabButton_1mv4x_38{border-radius:var(--radius-full)!important;font-weight:700!important;font-size:.85rem!important;padding:.65rem 1.4rem!important;letter-spacing:.02em;transition:color .25s ease!important;border:none!important;background:transparent!important;color:var(--text-muted)!important;position:relative;z-index:1;flex-shrink:0}._tabButton_1mv4x_38:hover:not(:disabled):not(._tabActive_1mv4x_53){background:#ffffff1a!important;color:var(--text-primary)!important;box-shadow:inset 0 0 0 1px var(--border-secondary)!important;transform:none!important}._tabButton_1mv4x_38:active{transform:scale(.96)}._tabActive_1mv4x_53{color:var(--accent-text)!important}._tabActive_1mv4x_53:hover:not(:disabled){color:var(--accent-text)!important;transform:none!important}@media(max-width:600px){._tabBar_1mv4x_1{width:100%;justify-content:flex-start}._tabButton_1mv4x_38{flex:1;justify-content:center!important;padding:.65rem .5rem!important;text-align:center;font-size:.78rem!important}}._emptyState_bpz5x_1{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);background:linear-gradient(to bottom,var(--bg-tertiary),var(--bg-main));border-radius:var(--radius-lg);border:1px solid var(--border-primary);text-align:center;gap:var(--space-4);width:100%;min-height:320px}._section-header_168jc_1{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}._content-type-nav_168jc_8{display:flex;justify-content:center;margin-bottom:2.5rem}._content-type-nav_168jc_8 .tabBar{margin-bottom:0}._title-wrapper_168jc_18{display:flex;align-items:center;gap:var(--space-6)}._pagination-controls_168jc_24{display:flex;gap:8px;align-items:center;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-primary)}._seasonGrid_168jc_34{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-4)}@media(max-width:1200px){._seasonGrid_168jc_34{grid-template-columns:repeat(6,1fr)}}@media(max-width:1024px){._seasonGrid_168jc_34{grid-template-columns:repeat(5,1fr)}}@media(max-width:768px){._seasonGrid_168jc_34{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}}@media(max-width:480px){._seasonGrid_168jc_34{grid-template-columns:repeat(3,1fr);gap:8px}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as M,h as U,T as d,u as e,L as T}from"./vendor-core-DfaOB3Rn.js";import{b as $,u as z,a as G}from"./vendor-query-BBT5_sHx.js";import{q as m,t as u,ap as j,e as J,d as X,J as f,f as P}from"./index-Cd1-bH35.js";import{I as c}from"./vendor-icons-DrybRNxP.js";const Z="_header_45wm0_1",ee="_fadeIn_45wm0_1",ae="_personaBadge_45wm0_9",te="_personaInfo_45wm0_32",se="_personaLabel_45wm0_37",ne="_personaValue_45wm0_46",re="_statsGrid_45wm0_52",oe="_slideUpIn_45wm0_1",ce="_statCard_45wm0_62",le="_statIcon_45wm0_71",ie="_statInfo_45wm0_82",de="_statValue_45wm0_87",me="_statLabel_45wm0_96",he="_wideSection_45wm0_104",_e="_sectionHeader_45wm0_113",pe="_yearSelect_45wm0_128",ue="_heatmapLayout_45wm0_157",ge="_dayLabels_45wm0_164",we="_heatmapWrapper_45wm0_176",Ne="_heatmapMonthLabels_45wm0_182",ve="_heatmapGrid_45wm0_193",ye="_heatBox_45wm0_201",fe="_hiddenBox_45wm0_210",be="_level0_45wm0_221",Ce="_level1_45wm0_224",Se="_level2_45wm0_228",ke="_level3_45wm0_232",Be="_level4_45wm0_236",Le="_heatmapFooter_45wm0_241",Ie="_heatLegend_45wm0_248",De="_chartsContainer_45wm0_258",xe="_chartWrapper_45wm0_268",Re="_hourlyChart_45wm0_285",Me="_hourlyBarContainer_45wm0_293",Te="_hourlyBar_45wm0_293",$e="_hourlyLabel_45wm0_319",Ge="_chartSubtext_45wm0_326",Pe="_popScale_45wm0_339",We="_popTrack_45wm0_343",Oe="_popThumb_45wm0_351",Fe="_popLabels_45wm0_363",qe="_popDescription_45wm0_373",Ae="_seasonalChart_45wm0_386",Ve="_seasonalBarContainer_45wm0_394",He="_seasonalBar_45wm0_394",Ye="_seasonalLabel_45wm0_416",Ee="_genreList_45wm0_424",Ke="_genreRow_45wm0_431",Qe="_genreInfo_45wm0_437",Ue="_genreName_45wm0_444",ze="_genreCount_45wm0_451",je="_genreBarBg_45wm0_458",Je="_genreBar_45wm0_458",Xe="_warningSection_45wm0_471",Ze="_warningHeader_45wm0_477",ea="_droppedGrid_45wm0_493",aa="_droppedCard_45wm0_498",ta="_droppedName_45wm0_507",sa="_droppedDate_45wm0_514",na="_genreGrid_45wm0_561",ra="_genreCard_45wm0_579",oa="_rankBadge_45wm0_585",ca="_rankNumber_45wm0_598",la="_genreTitle_45wm0_604",ia="_genreStats_45wm0_612",da="_posterRow_45wm0_620",ma="_miniPoster_45wm0_627",ha="_genreCardSkeleton_45wm0_641",_a="_pulse_45wm0_1",pa="_skeletonRank_45wm0_647",ua="_skeletonTitle_45wm0_661",ga="_skeletonStats_45wm0_674",wa="_skeletonPosters_45wm0_686",Na="_recSection_45wm0_717",va="_recHeader_45wm0_721",ya="_recSubtext_45wm0_736",fa="_recControls_45wm0_742",ba="_recControlBtn_45wm0_748",Ca="_recPosterButton_45wm0_776",Sa="_recAddBtn_45wm0_777",ka="_recGrid_45wm0_787",Ba="_recEmpty_45wm0_793",La="_recCard_45wm0_801",Ia="_recCover_45wm0_819",Da="_recInfo_45wm0_827",xa="_recTitle_45wm0_834",Ra="_recMatch_45wm0_845",Ma="_recMeta_45wm0_851",Ta="_recWhy_45wm0_856",$a="_recNote_45wm0_865",Ga="_loading_45wm0_900",Pa="_error_45wm0_906",a={header:Z,fadeIn:ee,personaBadge:ae,personaInfo:te,personaLabel:se,personaValue:ne,statsGrid:re,slideUpIn:oe,statCard:ce,statIcon:le,statInfo:ie,statValue:de,statLabel:me,wideSection:he,sectionHeader:_e,yearSelect:pe,heatmapLayout:ue,dayLabels:ge,heatmapWrapper:we,heatmapMonthLabels:Ne,heatmapGrid:ve,heatBox:ye,hiddenBox:fe,level0:be,level1:Ce,level2:Se,level3:ke,level4:Be,heatmapFooter:Le,heatLegend:Ie,chartsContainer:De,chartWrapper:xe,hourlyChart:Re,hourlyBarContainer:Me,hourlyBar:Te,hourlyLabel:$e,chartSubtext:Ge,popScale:Pe,popTrack:We,popThumb:Oe,popLabels:Fe,popDescription:qe,seasonalChart:Ae,seasonalBarContainer:Ve,seasonalBar:He,seasonalLabel:Ye,genreList:Ee,genreRow:Ke,genreInfo:Qe,genreName:Ue,genreCount:ze,genreBarBg:je,genreBar:Je,warningSection:Xe,warningHeader:Ze,droppedGrid:ea,droppedCard:aa,droppedName:ta,droppedDate:sa,genreGrid:na,genreCard:ra,rankBadge:oa,rankNumber:ca,genreTitle:la,genreStats:ia,posterRow:da,miniPoster:ma,genreCardSkeleton:ha,pulse:_a,skeletonRank:pa,skeletonTitle:ua,skeletonStats:ga,skeletonPosters:wa,recSection:Na,recHeader:va,recSubtext:ya,recControls:fa,recControlBtn:ba,recPosterButton:Ca,recAddBtn:Sa,recGrid:ka,recEmpty:Ba,recCard:La,recCover:Ia,recInfo:Da,recTitle:xa,recMatch:Ra,recMeta:Ma,recWhy:Ta,recNote:$a,loading:Ga,error:Pa},Aa=()=>{const[b,C]=M(0);U(()=>{document.title="Insights - dango"},[]);const{data:n,isLoading:W,isError:O}=$({queryKey:[m.insights],queryFn:async()=>await u.insights.summary.query()}),{data:F,isLoading:S}=j(),{hasConsent:q}=J(),{titlePreference:A}=X(),g=z(),{data:w,isLoading:k,isFetching:B,isError:N}=$({queryKey:[m.insightsRecommendations],queryFn:async()=>await u.insights.recommendations.query(),staleTime:300*1e3,retry:1}),v=G({mutationFn:()=>u.insights.recommendations.query({refresh:!0}),onSuccess:t=>{g.setQueryData([m.insightsRecommendations],t),C(0)},onError:()=>f.error("Could not refresh recommendations")}),L=G({mutationFn:async t=>{await u.watchlist.add.mutate({id:String(t.id),name:t.title,thumbnail:t.cover||"",status:"Plan to Watch",type:t.format})},onSuccess:()=>{g.invalidateQueries({queryKey:[m.watchlist]}),g.invalidateQueries({queryKey:[m.insightsRecommendations]}),f.success("Added to Plan to Watch")},onError:()=>f.error("Could not add to watchlist")}),l=d(()=>[...w?.candidates||[]].sort((t,s)=>s.matchPct-t.matchPct),[w]),y=d(()=>{if(!l.length)return[];const t=b%l.length;return[...l,...l].slice(t,t+Math.min(6,l.length))},[l,b]),I=t=>{const s=t.name||t.englishName||t.nativeName||"";switch(A){case"nativeName":return t.nativeName||s;case"englishName":return t.englishName||s;default:return s}},[h,V]=M(new Date().getFullYear()),H=d(()=>{if(!n?.activityGrid)return[new Date().getFullYear()];const t=new Set(n.activityGrid.map(s=>parseInt(s.day.split("-")[0])));return t.add(new Date().getFullYear()),Array.from(t).sort((s,r)=>r-s)},[n]),D=d(()=>{if(!n?.activityGrid)return[];const t=new Map(n.activityGrid.map(p=>[p.day,p.count])),s=[],r=new Date(h,0,1),i=new Date(h,11,31),_=r.getDay(),o=new Date(r);for(o.setDate(o.getDate()-_);(o<=i||o.getDay()!==0)&&!(o>i&&o.getDay()===0);){const p=o.getFullYear(),K=String(o.getMonth()+1).padStart(2,"0"),Q=String(o.getDate()).padStart(2,"0"),x=`${p}-${K}-${Q}`,R=o<r||o>i;s.push({date:x,count:R?0:t.get(x)||0,month:o.getMonth(),isOutOfRange:R}),o.setDate(o.getDate()+1)}return s},[n,h]),Y=d(()=>n?.seasonality?.length?Math.max(...n.seasonality.map(t=>t.seconds),1):0,[n]),E=d(()=>n?.hourlyDist?.length?Math.max(...n.hourlyDist.map(t=>t.count),1):0,[n]);return W||S?e("div",{className:a.loading,children:"Analyzing your anime lifestyle..."}):O?e("div",{className:a.error,children:"Could not load insights. Data might be syncing."}):n?e("div",{className:"page-container",children:[e("div",{className:a.header,children:[e("div",{className:"title-stack",children:[e("div",{className:"section-eyebrow",children:"Your viewing habits"}),e("h2",{className:"section-title",children:"Watch Insights"})]}),e("div",{className:a.personaBadge,children:[e(c,{name:"user-astronaut"}),e("div",{className:a.personaInfo,children:[e("span",{className:a.personaLabel,children:"Your Persona"}),e("span",{className:a.personaValue,children:n.persona})]})]})]}),e("div",{className:a.statsGrid,children:[e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(138, 79, 255, 0.2)",color:"var(--accent)"},children:e(c,{name:"clock"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.totalHours,"h"]}),e("span",{className:a.statLabel,children:"Watch Time"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(167, 139, 250, 0.2)",color:"#a78bfa"},children:e(c,{name:"bookmark"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.totalAnime}),e("span",{className:a.statLabel,children:"Total Anime"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(34, 197, 94, 0.2)",color:"#22c55e"},children:e(c,{name:"check-circle"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.totalEpisodes}),e("span",{className:a.statLabel,children:"Episodes Watched"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(34, 197, 94, 0.2)",color:"#22c55e"},children:e(c,{name:"check-circle"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.completionRate,"%"]}),e("span",{className:a.statLabel,children:"Completion Rate"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(45, 212, 191, 0.2)",color:"#2dd4bf"},children:e(c,{name:"tv"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.completedAnime}),e("span",{className:a.statLabel,children:"Completed Shows"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(239, 68, 68, 0.2)",color:"#ef4444"},children:e(c,{name:"fire"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.bingeFactor}),e("span",{className:a.statLabel,children:"Max Daily Binge"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(59, 130, 246, 0.2)",color:"#3b82f6"},children:e(c,{name:"history"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.avgSessionMinutes,"m"]}),e("span",{className:a.statLabel,children:"Avg. Session"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(251, 191, 36, 0.2)",color:"#fbbf24"},children:e(c,{name:"layer-group"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.avgCompletionDays,"d"]}),e("span",{className:a.statLabel,children:"Avg. Speed"})]})]})]}),e("div",{className:a.wideSection,children:[e("div",{className:a.sectionHeader,children:[e("h3",{children:"Activity"}),e("select",{className:a.yearSelect,value:h,onChange:t=>V(Number(t.currentTarget.value)),children:H.map(t=>e("option",{value:t,children:t},t))})]}),e("div",{className:a.heatmapLayout,children:[e("div",{className:a.dayLabels,children:[e("span",{style:{gridRow:2},children:"Mon"}),e("span",{style:{gridRow:4},children:"Wed"}),e("span",{style:{gridRow:6},children:"Fri"})]}),e("div",{className:a.heatmapWrapper,children:[e("div",{className:a.heatmapMonthLabels,children:(()=>{const t=[];let s=-1;return D.forEach((r,i)=>{if(r.month!==s&&!r.isOutOfRange){const _=Math.floor(i/7)+1;_>(t.length>0?t[t.length-1].props.style?.gridColumn+2:-1)&&(t.push(e("span",{style:{gridColumn:_,whiteSpace:"nowrap"},children:new Date(0,r.month).toLocaleString("default",{month:"short"})},i)),s=r.month)}}),t})()}),e("div",{className:a.heatmapGrid,children:D.map((t,s)=>{let r=0;return t.count>0&&!t.isOutOfRange&&(r=1),t.count>2&&!t.isOutOfRange&&(r=2),t.count>5&&!t.isOutOfRange&&(r=3),t.count>10&&!t.isOutOfRange&&(r=4),e("div",{className:`${a.heatBox} ${a[`level${r}`]} ${t.isOutOfRange?a.hiddenBox:""}`,title:t.isOutOfRange?"":`${t.count} episodes on ${t.date}`},s)})}),e("div",{className:a.heatmapFooter,children:e("div",{className:a.heatLegend,children:[e("span",{children:"Less"}),e("div",{className:`${a.heatBox} ${a.level0}`}),e("div",{className:`${a.heatBox} ${a.level1}`}),e("div",{className:`${a.heatBox} ${a.level2}`}),e("div",{className:`${a.heatBox} ${a.level3}`}),e("div",{className:`${a.heatBox} ${a.level4}`}),e("span",{children:"More"})]})})]})]})]}),e("div",{className:a.chartsContainer,children:[e("div",{className:a.chartWrapper,children:[e("h3",{children:"Time Distribution (24h)"}),e("div",{className:a.hourlyChart,children:n.hourlyDist?.map((t,s)=>e("div",{className:a.hourlyBarContainer,children:[e("div",{className:a.hourlyBar,style:{height:`${t.count/E*100||2}%`,width:"100%",maxWidth:"12px"},title:`${t.count} watches at ${t.hour}:00`}),e("span",{className:a.hourlyLabel,style:{visibility:s%4===0?"visible":"hidden"},children:t.hour})]},s))}),e("div",{className:a.chartSubtext,children:(()=>{if(!n.hourlyDist?.length)return"Watch more to see your peak hours!";const t=parseInt([...n.hourlyDist].sort((s,r)=>r.count-s.count)[0].hour);return t>=6&&t<19?"You prefer daytime watching ☀️":"You're a confirmed Night Owl 🦉"})()})]}),e("div",{className:a.chartWrapper,children:[e("h3",{children:"Popularity Bias"}),e("div",{className:a.popScale,children:[e("div",{className:a.popTrack,children:e("div",{className:a.popThumb,style:{left:`${Math.max(0,Math.min(100,100-n.popularityScore*10))}%`}})}),e("div",{className:a.popLabels,children:[e("span",{children:"Mainstream"}),e("span",{children:"Underground"})]})]}),e("p",{className:a.popDescription,children:["Your taste score is ",e("strong",{children:[n.popularityScore,"/10"]}),".",n.popularityScore>=5?" You follow the big hits!":" You're a connoisseur of the obscure!"]})]}),e("div",{className:a.chartWrapper,children:[e("h3",{children:"Monthly Activity"}),e("div",{className:a.seasonalChart,children:n.seasonality?.map((t,s)=>e("div",{className:a.seasonalBarContainer,children:[e("div",{className:a.seasonalBar,style:{height:`${t.seconds/Y*100||5}%`,width:"100%",maxWidth:"24px"},title:`${Math.round(t.seconds/3600)}h in ${new Date(0,s).toLocaleString("default",{month:"long"})}`}),e("span",{className:a.seasonalLabel,children:new Date(0,s).toLocaleString("default",{month:"short"})})]},s))})]})]}),e("div",{className:a.genreGrid,children:S?Array.from({length:4}).map((t,s)=>e("div",{className:a.genreCardSkeleton,children:[e("div",{className:a.skeletonRank}),e("div",{className:a.skeletonTitle}),e("div",{className:a.skeletonStats}),e("div",{className:a.skeletonPosters})]},s)):F?.filter(t=>q||t.name.toLowerCase()!=="hentai").map(t=>e("div",{className:a.genreCard,children:[e("div",{className:a.rankBadge,children:e("span",{className:a.rankNumber,children:t.rank})}),e("h3",{className:a.genreTitle,children:t.name}),e("div",{className:a.genreStats,children:[e("span",{children:[t.count," episodes"]}),e("span",{children:t.meanScore>0?`${t.meanScore.toFixed(1)} avg score`:"-"}),e("span",{children:t.timeWatched})]}),e("div",{className:a.posterRow,children:t.topShows.map(s=>e("img",{src:P(s.thumbnail),alt:I(s),className:a.miniPoster,title:I(s),loading:"lazy",decoding:"async"},s.id))})]},t.name))}),(y.length>0||k||N||w)&&e("div",{className:a.recSection,children:[e("div",{className:a.recHeader,children:[e("div",{children:[e("h3",{children:"Recommended For You"}),e("p",{className:a.recSubtext,children:"Based on your completed shows and genre taste"})]}),e("div",{className:a.recControls,children:[l.length>6&&e("button",{className:a.recControlBtn,onClick:()=>C(t=>(t+6)%l.length),children:"Different picks"}),e("button",{className:a.recControlBtn,onClick:()=>v.mutate(),disabled:B||v.isPending,children:[e(c,{name:"sync-alt"}),B||v.isPending?"Refreshing…":"Refresh"]})]})]}),N||!k&&y.length===0?e("p",{className:a.recEmpty,children:N?"Recommendations could not load. Try refreshing.":"No new recommendations yet. Keep watching or try again later."}):e("div",{className:a.recGrid,children:y.map(t=>e("div",{className:a.recCard,children:[t.cover&&e(T,{to:`/anime/${t.id}`,className:a.recPosterButton,"aria-label":`View ${t.title}`,children:e("img",{src:P(t.cover),alt:"",className:a.recCover,loading:"lazy",decoding:"async"})}),e("div",{className:a.recInfo,children:[e(T,{to:`/anime/${t.id}`,className:a.recTitle,children:t.title}),e("span",{className:a.recMatch,children:[t.matchPct,"% taste match"]}),e("span",{className:a.recMeta,children:[t.year,t.format,t.episodes?`${t.episodes}ep`:null].filter(Boolean).join(" · ")}),e("span",{className:a.recWhy,children:["Shares ",t.sharedGenres.join(", "),t.exemplars.length>0&&` - like ${t.exemplars.join(", ")}`]}),t.kind==="continue"&&e("span",{className:a.recNote,children:"Continue - you watched the earlier part."}),t.kind==="sequel"&&t.prequelTitle&&e("span",{className:a.recNote,children:['Sequel - start with "',t.prequelTitle,'" first.']}),e("button",{className:a.recAddBtn,onClick:()=>L.mutate(t),disabled:L.isPending,children:[e(c,{name:"plus"})," Plan to Watch"]})]})]},t.id))})]}),n.droppedShows?.length>0&&e("div",{className:a.warningSection,children:[e("div",{className:a.warningHeader,children:[e(c,{name:"exclamation-triangle"}),e("h3",{children:"Dusty Watchlist (Inactive 90+ days)"})]}),e("div",{className:a.droppedGrid,children:n.droppedShows.map(t=>e("div",{className:a.droppedCard,children:[e("span",{className:a.droppedName,children:t.name}),e("span",{className:a.droppedDate,children:["Last watched: ",new Date(t.lastActivity).toLocaleDateString()]})]},t.id))})]})]}):null};export{Aa as default};
|
|
1
|
+
import{d as M,h as U,T as d,u as e,L as T}from"./vendor-core-DfaOB3Rn.js";import{b as $,u as z,a as G}from"./vendor-query-BBT5_sHx.js";import{q as m,t as u,ap as j,e as J,d as X,J as f,f as P}from"./index-Bi-DGtzC.js";import{I as c}from"./vendor-icons-DrybRNxP.js";const Z="_header_45wm0_1",ee="_fadeIn_45wm0_1",ae="_personaBadge_45wm0_9",te="_personaInfo_45wm0_32",se="_personaLabel_45wm0_37",ne="_personaValue_45wm0_46",re="_statsGrid_45wm0_52",oe="_slideUpIn_45wm0_1",ce="_statCard_45wm0_62",le="_statIcon_45wm0_71",ie="_statInfo_45wm0_82",de="_statValue_45wm0_87",me="_statLabel_45wm0_96",he="_wideSection_45wm0_104",_e="_sectionHeader_45wm0_113",pe="_yearSelect_45wm0_128",ue="_heatmapLayout_45wm0_157",ge="_dayLabels_45wm0_164",we="_heatmapWrapper_45wm0_176",Ne="_heatmapMonthLabels_45wm0_182",ve="_heatmapGrid_45wm0_193",ye="_heatBox_45wm0_201",fe="_hiddenBox_45wm0_210",be="_level0_45wm0_221",Ce="_level1_45wm0_224",Se="_level2_45wm0_228",ke="_level3_45wm0_232",Be="_level4_45wm0_236",Le="_heatmapFooter_45wm0_241",Ie="_heatLegend_45wm0_248",De="_chartsContainer_45wm0_258",xe="_chartWrapper_45wm0_268",Re="_hourlyChart_45wm0_285",Me="_hourlyBarContainer_45wm0_293",Te="_hourlyBar_45wm0_293",$e="_hourlyLabel_45wm0_319",Ge="_chartSubtext_45wm0_326",Pe="_popScale_45wm0_339",We="_popTrack_45wm0_343",Oe="_popThumb_45wm0_351",Fe="_popLabels_45wm0_363",qe="_popDescription_45wm0_373",Ae="_seasonalChart_45wm0_386",Ve="_seasonalBarContainer_45wm0_394",He="_seasonalBar_45wm0_394",Ye="_seasonalLabel_45wm0_416",Ee="_genreList_45wm0_424",Ke="_genreRow_45wm0_431",Qe="_genreInfo_45wm0_437",Ue="_genreName_45wm0_444",ze="_genreCount_45wm0_451",je="_genreBarBg_45wm0_458",Je="_genreBar_45wm0_458",Xe="_warningSection_45wm0_471",Ze="_warningHeader_45wm0_477",ea="_droppedGrid_45wm0_493",aa="_droppedCard_45wm0_498",ta="_droppedName_45wm0_507",sa="_droppedDate_45wm0_514",na="_genreGrid_45wm0_561",ra="_genreCard_45wm0_579",oa="_rankBadge_45wm0_585",ca="_rankNumber_45wm0_598",la="_genreTitle_45wm0_604",ia="_genreStats_45wm0_612",da="_posterRow_45wm0_620",ma="_miniPoster_45wm0_627",ha="_genreCardSkeleton_45wm0_641",_a="_pulse_45wm0_1",pa="_skeletonRank_45wm0_647",ua="_skeletonTitle_45wm0_661",ga="_skeletonStats_45wm0_674",wa="_skeletonPosters_45wm0_686",Na="_recSection_45wm0_717",va="_recHeader_45wm0_721",ya="_recSubtext_45wm0_736",fa="_recControls_45wm0_742",ba="_recControlBtn_45wm0_748",Ca="_recPosterButton_45wm0_776",Sa="_recAddBtn_45wm0_777",ka="_recGrid_45wm0_787",Ba="_recEmpty_45wm0_793",La="_recCard_45wm0_801",Ia="_recCover_45wm0_819",Da="_recInfo_45wm0_827",xa="_recTitle_45wm0_834",Ra="_recMatch_45wm0_845",Ma="_recMeta_45wm0_851",Ta="_recWhy_45wm0_856",$a="_recNote_45wm0_865",Ga="_loading_45wm0_900",Pa="_error_45wm0_906",a={header:Z,fadeIn:ee,personaBadge:ae,personaInfo:te,personaLabel:se,personaValue:ne,statsGrid:re,slideUpIn:oe,statCard:ce,statIcon:le,statInfo:ie,statValue:de,statLabel:me,wideSection:he,sectionHeader:_e,yearSelect:pe,heatmapLayout:ue,dayLabels:ge,heatmapWrapper:we,heatmapMonthLabels:Ne,heatmapGrid:ve,heatBox:ye,hiddenBox:fe,level0:be,level1:Ce,level2:Se,level3:ke,level4:Be,heatmapFooter:Le,heatLegend:Ie,chartsContainer:De,chartWrapper:xe,hourlyChart:Re,hourlyBarContainer:Me,hourlyBar:Te,hourlyLabel:$e,chartSubtext:Ge,popScale:Pe,popTrack:We,popThumb:Oe,popLabels:Fe,popDescription:qe,seasonalChart:Ae,seasonalBarContainer:Ve,seasonalBar:He,seasonalLabel:Ye,genreList:Ee,genreRow:Ke,genreInfo:Qe,genreName:Ue,genreCount:ze,genreBarBg:je,genreBar:Je,warningSection:Xe,warningHeader:Ze,droppedGrid:ea,droppedCard:aa,droppedName:ta,droppedDate:sa,genreGrid:na,genreCard:ra,rankBadge:oa,rankNumber:ca,genreTitle:la,genreStats:ia,posterRow:da,miniPoster:ma,genreCardSkeleton:ha,pulse:_a,skeletonRank:pa,skeletonTitle:ua,skeletonStats:ga,skeletonPosters:wa,recSection:Na,recHeader:va,recSubtext:ya,recControls:fa,recControlBtn:ba,recPosterButton:Ca,recAddBtn:Sa,recGrid:ka,recEmpty:Ba,recCard:La,recCover:Ia,recInfo:Da,recTitle:xa,recMatch:Ra,recMeta:Ma,recWhy:Ta,recNote:$a,loading:Ga,error:Pa},Aa=()=>{const[b,C]=M(0);U(()=>{document.title="Insights - dango"},[]);const{data:n,isLoading:W,isError:O}=$({queryKey:[m.insights],queryFn:async()=>await u.insights.summary.query()}),{data:F,isLoading:S}=j(),{hasConsent:q}=J(),{titlePreference:A}=X(),g=z(),{data:w,isLoading:k,isFetching:B,isError:N}=$({queryKey:[m.insightsRecommendations],queryFn:async()=>await u.insights.recommendations.query(),staleTime:300*1e3,retry:1}),v=G({mutationFn:()=>u.insights.recommendations.query({refresh:!0}),onSuccess:t=>{g.setQueryData([m.insightsRecommendations],t),C(0)},onError:()=>f.error("Could not refresh recommendations")}),L=G({mutationFn:async t=>{await u.watchlist.add.mutate({id:String(t.id),name:t.title,thumbnail:t.cover||"",status:"Plan to Watch",type:t.format})},onSuccess:()=>{g.invalidateQueries({queryKey:[m.watchlist]}),g.invalidateQueries({queryKey:[m.insightsRecommendations]}),f.success("Added to Plan to Watch")},onError:()=>f.error("Could not add to watchlist")}),l=d(()=>[...w?.candidates||[]].sort((t,s)=>s.matchPct-t.matchPct),[w]),y=d(()=>{if(!l.length)return[];const t=b%l.length;return[...l,...l].slice(t,t+Math.min(6,l.length))},[l,b]),I=t=>{const s=t.name||t.englishName||t.nativeName||"";switch(A){case"nativeName":return t.nativeName||s;case"englishName":return t.englishName||s;default:return s}},[h,V]=M(new Date().getFullYear()),H=d(()=>{if(!n?.activityGrid)return[new Date().getFullYear()];const t=new Set(n.activityGrid.map(s=>parseInt(s.day.split("-")[0])));return t.add(new Date().getFullYear()),Array.from(t).sort((s,r)=>r-s)},[n]),D=d(()=>{if(!n?.activityGrid)return[];const t=new Map(n.activityGrid.map(p=>[p.day,p.count])),s=[],r=new Date(h,0,1),i=new Date(h,11,31),_=r.getDay(),o=new Date(r);for(o.setDate(o.getDate()-_);(o<=i||o.getDay()!==0)&&!(o>i&&o.getDay()===0);){const p=o.getFullYear(),K=String(o.getMonth()+1).padStart(2,"0"),Q=String(o.getDate()).padStart(2,"0"),x=`${p}-${K}-${Q}`,R=o<r||o>i;s.push({date:x,count:R?0:t.get(x)||0,month:o.getMonth(),isOutOfRange:R}),o.setDate(o.getDate()+1)}return s},[n,h]),Y=d(()=>n?.seasonality?.length?Math.max(...n.seasonality.map(t=>t.seconds),1):0,[n]),E=d(()=>n?.hourlyDist?.length?Math.max(...n.hourlyDist.map(t=>t.count),1):0,[n]);return W||S?e("div",{className:a.loading,children:"Analyzing your anime lifestyle..."}):O?e("div",{className:a.error,children:"Could not load insights. Data might be syncing."}):n?e("div",{className:"page-container",children:[e("div",{className:a.header,children:[e("div",{className:"title-stack",children:[e("div",{className:"section-eyebrow",children:"Your viewing habits"}),e("h2",{className:"section-title",children:"Watch Insights"})]}),e("div",{className:a.personaBadge,children:[e(c,{name:"user-astronaut"}),e("div",{className:a.personaInfo,children:[e("span",{className:a.personaLabel,children:"Your Persona"}),e("span",{className:a.personaValue,children:n.persona})]})]})]}),e("div",{className:a.statsGrid,children:[e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(138, 79, 255, 0.2)",color:"var(--accent)"},children:e(c,{name:"clock"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.totalHours,"h"]}),e("span",{className:a.statLabel,children:"Watch Time"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(167, 139, 250, 0.2)",color:"#a78bfa"},children:e(c,{name:"bookmark"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.totalAnime}),e("span",{className:a.statLabel,children:"Total Anime"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(34, 197, 94, 0.2)",color:"#22c55e"},children:e(c,{name:"check-circle"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.totalEpisodes}),e("span",{className:a.statLabel,children:"Episodes Watched"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(34, 197, 94, 0.2)",color:"#22c55e"},children:e(c,{name:"check-circle"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.completionRate,"%"]}),e("span",{className:a.statLabel,children:"Completion Rate"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(45, 212, 191, 0.2)",color:"#2dd4bf"},children:e(c,{name:"tv"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.completedAnime}),e("span",{className:a.statLabel,children:"Completed Shows"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(239, 68, 68, 0.2)",color:"#ef4444"},children:e(c,{name:"fire"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.bingeFactor}),e("span",{className:a.statLabel,children:"Max Daily Binge"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(59, 130, 246, 0.2)",color:"#3b82f6"},children:e(c,{name:"history"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.avgSessionMinutes,"m"]}),e("span",{className:a.statLabel,children:"Avg. Session"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(251, 191, 36, 0.2)",color:"#fbbf24"},children:e(c,{name:"layer-group"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.avgCompletionDays,"d"]}),e("span",{className:a.statLabel,children:"Avg. Speed"})]})]})]}),e("div",{className:a.wideSection,children:[e("div",{className:a.sectionHeader,children:[e("h3",{children:"Activity"}),e("select",{className:a.yearSelect,value:h,onChange:t=>V(Number(t.currentTarget.value)),children:H.map(t=>e("option",{value:t,children:t},t))})]}),e("div",{className:a.heatmapLayout,children:[e("div",{className:a.dayLabels,children:[e("span",{style:{gridRow:2},children:"Mon"}),e("span",{style:{gridRow:4},children:"Wed"}),e("span",{style:{gridRow:6},children:"Fri"})]}),e("div",{className:a.heatmapWrapper,children:[e("div",{className:a.heatmapMonthLabels,children:(()=>{const t=[];let s=-1;return D.forEach((r,i)=>{if(r.month!==s&&!r.isOutOfRange){const _=Math.floor(i/7)+1;_>(t.length>0?t[t.length-1].props.style?.gridColumn+2:-1)&&(t.push(e("span",{style:{gridColumn:_,whiteSpace:"nowrap"},children:new Date(0,r.month).toLocaleString("default",{month:"short"})},i)),s=r.month)}}),t})()}),e("div",{className:a.heatmapGrid,children:D.map((t,s)=>{let r=0;return t.count>0&&!t.isOutOfRange&&(r=1),t.count>2&&!t.isOutOfRange&&(r=2),t.count>5&&!t.isOutOfRange&&(r=3),t.count>10&&!t.isOutOfRange&&(r=4),e("div",{className:`${a.heatBox} ${a[`level${r}`]} ${t.isOutOfRange?a.hiddenBox:""}`,title:t.isOutOfRange?"":`${t.count} episodes on ${t.date}`},s)})}),e("div",{className:a.heatmapFooter,children:e("div",{className:a.heatLegend,children:[e("span",{children:"Less"}),e("div",{className:`${a.heatBox} ${a.level0}`}),e("div",{className:`${a.heatBox} ${a.level1}`}),e("div",{className:`${a.heatBox} ${a.level2}`}),e("div",{className:`${a.heatBox} ${a.level3}`}),e("div",{className:`${a.heatBox} ${a.level4}`}),e("span",{children:"More"})]})})]})]})]}),e("div",{className:a.chartsContainer,children:[e("div",{className:a.chartWrapper,children:[e("h3",{children:"Time Distribution (24h)"}),e("div",{className:a.hourlyChart,children:n.hourlyDist?.map((t,s)=>e("div",{className:a.hourlyBarContainer,children:[e("div",{className:a.hourlyBar,style:{height:`${t.count/E*100||2}%`,width:"100%",maxWidth:"12px"},title:`${t.count} watches at ${t.hour}:00`}),e("span",{className:a.hourlyLabel,style:{visibility:s%4===0?"visible":"hidden"},children:t.hour})]},s))}),e("div",{className:a.chartSubtext,children:(()=>{if(!n.hourlyDist?.length)return"Watch more to see your peak hours!";const t=parseInt([...n.hourlyDist].sort((s,r)=>r.count-s.count)[0].hour);return t>=6&&t<19?"You prefer daytime watching ☀️":"You're a confirmed Night Owl 🦉"})()})]}),e("div",{className:a.chartWrapper,children:[e("h3",{children:"Popularity Bias"}),e("div",{className:a.popScale,children:[e("div",{className:a.popTrack,children:e("div",{className:a.popThumb,style:{left:`${Math.max(0,Math.min(100,100-n.popularityScore*10))}%`}})}),e("div",{className:a.popLabels,children:[e("span",{children:"Mainstream"}),e("span",{children:"Underground"})]})]}),e("p",{className:a.popDescription,children:["Your taste score is ",e("strong",{children:[n.popularityScore,"/10"]}),".",n.popularityScore>=5?" You follow the big hits!":" You're a connoisseur of the obscure!"]})]}),e("div",{className:a.chartWrapper,children:[e("h3",{children:"Monthly Activity"}),e("div",{className:a.seasonalChart,children:n.seasonality?.map((t,s)=>e("div",{className:a.seasonalBarContainer,children:[e("div",{className:a.seasonalBar,style:{height:`${t.seconds/Y*100||5}%`,width:"100%",maxWidth:"24px"},title:`${Math.round(t.seconds/3600)}h in ${new Date(0,s).toLocaleString("default",{month:"long"})}`}),e("span",{className:a.seasonalLabel,children:new Date(0,s).toLocaleString("default",{month:"short"})})]},s))})]})]}),e("div",{className:a.genreGrid,children:S?Array.from({length:4}).map((t,s)=>e("div",{className:a.genreCardSkeleton,children:[e("div",{className:a.skeletonRank}),e("div",{className:a.skeletonTitle}),e("div",{className:a.skeletonStats}),e("div",{className:a.skeletonPosters})]},s)):F?.filter(t=>q||t.name.toLowerCase()!=="hentai").map(t=>e("div",{className:a.genreCard,children:[e("div",{className:a.rankBadge,children:e("span",{className:a.rankNumber,children:t.rank})}),e("h3",{className:a.genreTitle,children:t.name}),e("div",{className:a.genreStats,children:[e("span",{children:[t.count," episodes"]}),e("span",{children:t.meanScore>0?`${t.meanScore.toFixed(1)} avg score`:"-"}),e("span",{children:t.timeWatched})]}),e("div",{className:a.posterRow,children:t.topShows.map(s=>e("img",{src:P(s.thumbnail),alt:I(s),className:a.miniPoster,title:I(s),loading:"lazy",decoding:"async"},s.id))})]},t.name))}),(y.length>0||k||N||w)&&e("div",{className:a.recSection,children:[e("div",{className:a.recHeader,children:[e("div",{children:[e("h3",{children:"Recommended For You"}),e("p",{className:a.recSubtext,children:"Based on your completed shows and genre taste"})]}),e("div",{className:a.recControls,children:[l.length>6&&e("button",{className:a.recControlBtn,onClick:()=>C(t=>(t+6)%l.length),children:"Different picks"}),e("button",{className:a.recControlBtn,onClick:()=>v.mutate(),disabled:B||v.isPending,children:[e(c,{name:"sync-alt"}),B||v.isPending?"Refreshing…":"Refresh"]})]})]}),N||!k&&y.length===0?e("p",{className:a.recEmpty,children:N?"Recommendations could not load. Try refreshing.":"No new recommendations yet. Keep watching or try again later."}):e("div",{className:a.recGrid,children:y.map(t=>e("div",{className:a.recCard,children:[t.cover&&e(T,{to:`/anime/${t.id}`,className:a.recPosterButton,"aria-label":`View ${t.title}`,children:e("img",{src:P(t.cover),alt:"",className:a.recCover,loading:"lazy",decoding:"async"})}),e("div",{className:a.recInfo,children:[e(T,{to:`/anime/${t.id}`,className:a.recTitle,children:t.title}),e("span",{className:a.recMatch,children:[t.matchPct,"% taste match"]}),e("span",{className:a.recMeta,children:[t.year,t.format,t.episodes?`${t.episodes}ep`:null].filter(Boolean).join(" · ")}),e("span",{className:a.recWhy,children:["Shares ",t.sharedGenres.join(", "),t.exemplars.length>0&&` - like ${t.exemplars.join(", ")}`]}),t.kind==="continue"&&e("span",{className:a.recNote,children:"Continue - you watched the earlier part."}),t.kind==="sequel"&&t.prequelTitle&&e("span",{className:a.recNote,children:['Sequel - start with "',t.prequelTitle,'" first.']}),e("button",{className:a.recAddBtn,onClick:()=>L.mutate(t),disabled:L.isPending,children:[e(c,{name:"plus"})," Plan to Watch"]})]})]},t.id))})]}),n.droppedShows?.length>0&&e("div",{className:a.warningSection,children:[e("div",{className:a.warningHeader,children:[e(c,{name:"exclamation-triangle"}),e("h3",{children:"Dusty Watchlist (Inactive 90+ days)"})]}),e("div",{className:a.droppedGrid,children:n.droppedShows.map(t=>e("div",{className:a.droppedCard,children:[e("span",{className:a.droppedName,children:t.name}),e("span",{className:a.droppedDate,children:["Last watched: ",new Date(t.lastActivity).toLocaleDateString()]})]},t.id))})]})]}):null};export{Aa as default};
|