@serifpersia/dango 4.0.2 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/client/dist/assets/AnimeCard-2k8ssFQg.js +1 -0
- package/client/dist/assets/{AnimeInfo-DXoNbSao.js → AnimeInfo-DYIMQZ_G.js} +1 -1
- package/client/dist/assets/{AnimeInfoPage-CRWoCwXo.js → AnimeInfoPage-BK1gsbaN.js} +2 -2
- package/client/dist/assets/{Asmr-z6PNn8Ld.js → Asmr-D562WT1y.js} +2 -2
- package/client/dist/assets/{AsmrPopup-Cc-aIYXd.js → AsmrPopup-DSb1jdb1.js} +1 -1
- package/client/dist/assets/{AsmrResetProgressModal-D4Mp_-lx.js → AsmrResetProgressModal-Cb30-ErW.js} +1 -1
- package/client/dist/assets/Home-DBefqglV.js +1 -0
- package/client/dist/assets/Insights-C57WhdmV.js +1 -0
- package/client/dist/assets/Insights-Cn3L3buF.css +1 -0
- package/client/dist/assets/{LibraryListPage-CNjzasIi.js → LibraryListPage-ByCxrf4V.js} +1 -1
- package/client/dist/assets/ListeningList-BJJzg0gb.js +1 -0
- package/client/dist/assets/Manga-CW-xSa6W.js +1 -0
- package/client/dist/assets/{MangaInfoPage-DnDwJDWC.js → MangaInfoPage-B2eqiI6S.js} +1 -1
- package/client/dist/assets/{MangaReadPage-Cq4NYq31.js → MangaReadPage-DU_pWeC4.js} +1 -1
- package/client/dist/assets/{MangaResetProgressModal-DaZmK9CX.js → MangaResetProgressModal-BoaCnx2i.js} +1 -1
- package/client/dist/assets/Mature-I-5BXxqP.js +1 -0
- package/client/dist/assets/{MatureConsentModal-CEoZ_OA0.js → MatureConsentModal-B8mTktfi.js} +1 -1
- package/client/dist/assets/MediaCard-Co-j57uA.css +1 -0
- package/client/dist/assets/MediaCard-yDEaWmRR.js +1 -0
- package/client/dist/assets/MediaPopupShell-BewMMT93.js +1 -0
- package/client/dist/assets/MediaPopupShell-D6Emr-co.css +1 -0
- package/client/dist/assets/{OptionListMenu-ArbsAjlv.js → OptionListMenu-XTkQ_xrQ.js} +1 -1
- package/client/dist/assets/{Player-4wh-a_ee.js → Player-DnWze_gB.js} +2 -2
- package/client/dist/assets/{PlayerProvider-CbamWD19.js → PlayerProvider-hfX3WV6K.js} +1 -1
- package/client/dist/assets/{PlayerSettings-DehU56D4.js → PlayerSettings-C5n3kYuV.js} +1 -1
- package/client/dist/assets/{QueueOptionsButton-DqoDQST5.js → QueueOptionsButton-BMlChzgW.js} +1 -1
- package/client/dist/assets/{QueueRail-ClrcV9LL.js → QueueRail-CV0rsdWL.js} +1 -1
- package/client/dist/assets/ReadingList-Dadozt41.js +1 -0
- package/client/dist/assets/{ResetProgressModal-BdcBPlC1.js → ResetProgressModal-BXkiBRZv.js} +1 -1
- package/client/dist/assets/Search-DiUbhvfg.js +1 -0
- package/client/dist/assets/{Settings-O0oOrEUd.js → Settings-fCV1C7Pa.js} +1 -1
- package/client/dist/assets/{SkeletonGrid-DqN0laN_.js → SkeletonGrid-DHbe7WWt.js} +1 -1
- package/client/dist/assets/{Trackers-DxBWYwss.js → Trackers-DvRqGHrx.js} +1 -1
- package/client/dist/assets/{Tv-Ox6p6iEx.js → Tv-Dbih_6wX.js} +1 -1
- package/client/dist/assets/{TvInfo-DjPQ7BZn.js → TvInfo-BEaENXW9.js} +1 -1
- package/client/dist/assets/{TvPopup-CCTQiS84.js → TvPopup-BWvnz3aD.js} +1 -1
- package/client/dist/assets/TvSearch-Bu1r0z8j.js +1 -0
- package/client/dist/assets/TvWatchlist-DjZxyCqC.js +1 -0
- package/client/dist/assets/{VirtualKeyboard-Bf7wvuX3.js → VirtualKeyboard-otEdnEQ2.js} +1 -1
- package/client/dist/assets/{WatchAlong-D9NsqbWz.js → WatchAlong-BfHji5Zr.js} +1 -1
- package/client/dist/assets/{WatchAlongPanel-DRsYyjM7.js → WatchAlongPanel-Df8EFgd_.js} +1 -1
- package/client/dist/assets/Watchlist-D4HJr6pg.js +1 -0
- package/client/dist/assets/index-jbfR1Gmm.js +178 -0
- package/client/dist/assets/{libraryInvalidation-hcASRQHn.js → libraryInvalidation-Il_DYhmy.js} +1 -1
- package/client/dist/assets/{playbackCompletion-D1Gm0GbH.js → playbackCompletion-Diib3fZu.js} +1 -1
- package/client/dist/assets/{useAnimeInfoData-BsFz9uiF.js → useAnimeInfoData-DdGnfUWc.js} +1 -1
- package/client/dist/assets/{useMangaLibrary-DbvnlYV9.js → useMangaLibrary-DZ-ZzUfI.js} +1 -1
- package/client/dist/assets/{useMangaPopup-2lqmdmS5.js → useMangaPopup-QdPYB8yz.js} +1 -1
- package/client/dist/assets/{useProviders-BgAgACS8.js → useProviders-7Im8EwZk.js} +1 -1
- package/client/dist/assets/{useTv-OX_q_uaI.js → useTv-B6wLwlA4.js} +1 -1
- package/client/dist/assets/{useTvLibrary-DaLHYFID.js → useTvLibrary-DUFwbdjO.js} +1 -1
- package/client/dist/assets/{useWatchAlongPlayer-B7Yj2s3s.js → useWatchAlongPlayer-C1T1IqCH.js} +1 -1
- package/client/dist/index.html +1 -1
- package/package.json +2 -2
- package/server/dist/server.js +127 -119
- package/server/package.json +1 -1
- package/client/dist/assets/AnimeCard-B-3qrNhu.js +0 -1
- package/client/dist/assets/Home-9ZTaG1WX.js +0 -1
- package/client/dist/assets/Insights-Bf92STPA.js +0 -1
- package/client/dist/assets/Insights-DEicrokg.css +0 -1
- package/client/dist/assets/ListeningList-1mBIfxxH.js +0 -1
- package/client/dist/assets/Manga-B3_TdzgY.js +0 -1
- package/client/dist/assets/Mature-CbQWqjUS.js +0 -1
- package/client/dist/assets/MediaCard-B-TmXdgl.js +0 -1
- package/client/dist/assets/MediaCard-BfQaS9n5.css +0 -1
- package/client/dist/assets/ReadingList-Cy1BKzJs.js +0 -1
- package/client/dist/assets/Search-5PvZ8pAC.js +0 -1
- package/client/dist/assets/TvSearch-Baig87wj.js +0 -1
- package/client/dist/assets/TvWatchlist-D-yxvaKC.js +0 -1
- package/client/dist/assets/Watchlist-oYAx_dFL.js +0 -1
- package/client/dist/assets/index-CPhXtUuw.js +0 -178
package/server/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{T as M,u as a,N as $,S as B}from"./vendor-core-DfaOB3Rn.js";import{I as g}from"./vendor-icons-C1Pj_eSX.js";import{u as C}from"./useAnimeInfoData-BsFz9uiF.js";import{d as P,s as D,h as v}from"./index-CPhXtUuw.js";import{Q as I}from"./QueueOptionsButton-DqoDQST5.js";import{p as y,a as _,m as N,M as k}from"./MediaCard-B-TmXdgl.js";import{C as w}from"./playbackCompletion-D1Gm0GbH.js";const x=({showId:e,anchorRect:l,onMouseEnter:h,onMouseLeave:c,onRequestClose:p})=>{const{showMeta:t,loadingMeta:o,inWatchlist:r,toggleWatchlist:m}=C(e),{titlePreference:d}=P(),i=M(()=>t?.name?d==="name"?t.name:d==="nativeName"?t.names?.native||t.name:d==="englishName"&&t.names?.english||t.name:"",[t,d]),n=[];t?.score&&n.push({icon:"star",label:String(t.score),accent:!0}),t?.status&&n.push({icon:"tv",label:t.status});const f=Array.isArray(t?.genres)&&t.genres.length>0?t.genres.filter(Boolean).slice(0,4).map(s=>typeof s=="string"?s:s?.name).filter(s=>!!s):[];return a(_,{anchorRect:l,title:i,loading:o,error:t?void 0:"Failed to load info.",meta:n,genres:f,synopsis:t?.description?D(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:r,onToggleBookmark:m,extraActions:s=>t?a(I,{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:s}):null,onMouseEnter:h,onMouseLeave:c,onRequestClose:p})},F=$(({anime:e,continueWatching:l=!1,episodeBadge:h=!1,onRemove:c,config:p,layout:t="vertical"})=>{const o=e.currentTime||0,r=e.duration||0,m=o>5&&r>5&&o<r*w,d=o>0&&(r<=5||o>=r*w),i=e.episodeNumber,n=l?{pathname:i?`/watch/${e._id}/${i}`:`/watch/${e._id}`,state:{name:e.name,thumbnail:e.thumbnail||"",nativeName:e.nativeName,englishName:e.englishName,type:e.type}}:i?`/watch/${e._id}/${i}`:`/anime/${e._id}`,f=(()=>{if(typeof n=="string")return n.startsWith("/watch/");const u=n.pathname;return typeof u=="string"&&u.startsWith("/watch/")})(),s=(l||h)&&i?`EP ${i}`:e.watchedCount!==void 0&&e.watchedCount>0?`EP ${e.watchedCount}`:null,E=[e.aired===!0?"":e.airTime,e.aired===!1&&e.nextEpisodeAirDate?`· ${e.nextEpisodeAirDate.split(",")[0]}`:""].filter(Boolean).join(" "),T=e.isAdult||e.rating==="R+"||e.rating==="Rx"||e.rating?.includes("17+"),A=a(B,{children:[(e.availableEpisodesDetail?.sub||e.availableEpisodes?.sub)&&a("div",{className:N.metaItem,children:[a(g,{name:"closed-captioning",size:10}),e.availableEpisodesDetail?.sub?.length??e.availableEpisodes?.sub]}),(e.availableEpisodesDetail?.dub||e.availableEpisodes?.dub)&&a("div",{className:N.metaItem,children:[a(g,{name:"microphone",size:10}),e.availableEpisodesDetail?.dub?.length??e.availableEpisodes?.dub]})]});return a(k,{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:s,airMeta:E||void 0,isAdult:T,notAired:e.aired===!1},linkTo:n,hoverIcon:f?"play":"info",progress:m?{percent:o/r*100,label:`${v(o)} / ${v(r)}`}:d?{percent:100,label:"Watched"}:void 0,showProgress:l,metaRow:A,display:p,layout:t,onRemove:c,showRemoveButton:p?.elements?.poster?.removeButton??(l&&!!c),showInfoButton:!l,enrichedId:e._id,renderPopup:(u,b)=>a(x,{showId:e._id,anchorRect:u,onMouseEnter:b.onMouseEnter,onMouseLeave:b.onMouseLeave,onRequestClose:b.close})})});export{F as A};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as B,A as F,h as x,q as P,g as q,u as e,L as Oe,T as Q,S as se,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 ze,t as nt,F as rt,d as Ve,s as ot,f as Ne,B as Fe,e as st,g as lt,m as Ce,p as re,h as oe,i as it,j as ct,k as dt,l as Ie,M as ut,T as ht,n as mt,o as gt,r as Me,v as pt,w as vt,x as _t,y as yt,z as bt,A as ft,C as Tt,D as Nt,E as wt,G as St}from"./index-CPhXtUuw.js";import{b as kt,u as Ct,a as It}from"./vendor-query-BBT5_sHx.js";import{M as pe,P as Rt}from"./MediaCard-B-TmXdgl.js";import{A as ce}from"./AnimeCard-B-3qrNhu.js";import{S as je,A as Ge}from"./SkeletonGrid-DqN0laN_.js";import{I as E}from"./vendor-icons-C1Pj_eSX.js";import{u as At}from"./vendor-ui-3qrARCPr.js";import{E as Re}from"./ErrorMessage-hMt90aG4.js";import{R as Ue}from"./ResetProgressModal-BdcBPlC1.js";import{Q as Lt}from"./QueueRail-ClrcV9LL.js";import{u as qe,M as Qe}from"./useMangaPopup-2lqmdmS5.js";import{M as $t}from"./MangaResetProgressModal-DaZmK9CX.js";import{u as Ye,m as Se,i as He,a as Xe,b as Mt}from"./useMangaLibrary-DbvnlYV9.js";import{u as Bt}from"./useProviders-BgAgACS8.js";import{u as Ke,a as Be,T as xt}from"./useTv-OX_q_uaI.js";import{T as Pt}from"./TvPopup-CCTQiS84.js";import{u as Et,a as Dt,b as Wt}from"./useTvLibrary-DaLHYFID.js";import{A as Ot}from"./AsmrResetProgressModal-D4Mp_-lx.js";import{u as zt,a as Vt,A as Ft,b as jt,c as Gt}from"./AsmrPopup-Cc-aIYXd.js";import"./useIsMobile-Dvx1uJ82.js";import"./MatureConsentModal-CEoZ_OA0.js";import"./useAnimeInfoData-BsFz9uiF.js";import"./QueueOptionsButton-DqoDQST5.js";import"./playbackCompletion-D1Gm0GbH.js";import"./usePopup-DS9jMzp6.js";import"./libraryInvalidation-hcASRQHn.js";const Ut="_sectionWrapper_x6wvn_9",qt="_sectionTitleNoMargin_x6wvn_19",Qt="_carousel_x6wvn_195",M={"section-header":"_section-header_x6wvn_1",sectionWrapper:Ut,sectionTitleNoMargin:qt,"title-wrapper":"_title-wrapper_x6wvn_23","header-controls":"_header-controls_x6wvn_30","header-select":"_header-select_x6wvn_37","collapse-button":"_collapse-button_x6wvn_86","title-link":"_title-link_x6wvn_106","continue-watching":"_continue-watching_x6wvn_125","nav-arrows":"_nav-arrows_x6wvn_147","nav-button":"_nav-button_x6wvn_153","carousel-container":"_carousel-container_x6wvn_195",carousel:Qt,"carousel-inner":"_carousel-inner_x6wvn_204","carousel-card":"_carousel-card_x6wvn_210"};function ve({align:n="start",containScroll:l="trimSnaps",scrollFraction:h=.8,threshold:t=.6,onReachThreshold:o,slideCount:i=0}={}){const[p,s]=At({align:n,containScroll:l,dragFree:!0}),[S,y]=B(!1),[N,m]=B(!1),c=F({scrollFraction:h,threshold:t,onReachThreshold:o}),r=F(!1);x(()=>{c.current={scrollFraction:h,threshold:t,onReachThreshold:o}});const w=P(g=>{y(g.canScrollPrev()),m(g.canScrollNext())},[]);x(()=>{if(!s)return;const g=()=>{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",g),s.on("reInit",g),s.on("scroll",g),s.on("resize",g),()=>{s.off("init",g),s.off("reInit",g),s.off("scroll",g),s.off("resize",g)}},[s,w]),x(()=>{s?.reInit()},[s,i]);const C=P(g=>{const u=g.containerNode().firstElementChild;if(!u)return 1;const f=g.rootNode().getBoundingClientRect().width,R=u.getBoundingClientRect().width;return R?Math.max(1,Math.round(f/R)):1},[]),k=P((g,u=!1)=>{if(!s)return;const f=Math.max(1,Math.round(C(s)*c.current.scrollFraction)),R=s.selectedScrollSnap()+(g==="left"?-f:f);s.scrollTo(R,u)},[s,C]),d=P((g=!1)=>{s?.scrollTo(0,g)},[s]);return{emblaRef:p,api:s,canScrollPrev:S,canScrollNext:N,stepBy:k,scrollToStart:d}}const Z=({title:n,eyebrow:l,titleLink:h,loading:t,emptyState:o,carousel:i,layout:p,collapsible:s,defaultExpanded:S=!0,onReachThreshold:y,scrollThreshold:N,isFetchingNextPage:m,resetScrollOnShrink:c,itemCount:r=0,highlight:w,headerActions:C,loadingSkeleton:k,skeletonCount:d=7,children:g})=>{const{lowEndMode:u}=ke(),{emblaRef:f,stepBy:R,scrollToStart:z,canScrollPrev:A,canScrollNext:D}=ve({onReachThreshold:y,threshold:N,slideCount:r}),[L,V]=q.useState(S);q.useEffect(()=>{V(S)},[S]);const j=q.useRef(0);return q.useEffect(()=>{c&&r>0&&L&&(r<=j.current||j.current===0)&&z(),r>0&&(j.current=r)},[r,c,L,z]),!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:()=>V(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:k},U)):q.Children.map(g,(I,U)=>e("div",{className:M["carousel-card"],children:I},q.isValidElement(I)&&I.key!=null?I.key:`slide-${U}`)),m&&k&&e("div",{className:M["carousel-card"],children:k})]})})}):e("div",{className:"grid-container",children:t&&r===0?e(je,{count:6,layout:p}):r>0?g:t?null:e("div",{style:{gridColumn:"1 / -1"},children:o})}))]})},Yt=({title:n,eyebrow:l,animeList:h,continueWatching:t,episodeBadge:o,titleLink:i,onRemove:p,loading:s,emptyState:S,carousel:y,cardConfig:N,layout:m,onReachThreshold:c,scrollThreshold:r,isFetchingNextPage:w,collapsible:C,defaultExpanded:k=!0})=>{const d=m||"vertical";return e(Z,{title:n,eyebrow:l,titleLink:i,loading:s,emptyState:S,carousel:y,layout:d,collapsible:C,defaultExpanded:k,onReachThreshold:c,scrollThreshold:r,isFetchingNextPage:w,resetScrollOnShrink:t,highlight:t,itemCount:h.length,loadingSkeleton:e(Ge,{layout:d}),skeletonCount:7,children:h.map(g=>e(ce,{anime:g,continueWatching:t,episodeBadge:o,onRemove:p,config:N,layout:d},g._id))})},xe=q.memo(Yt),Ht="_wrapper_j52nn_1",Xt="_arrow_j52nn_6",Kt="_select_j52nn_15",we={wrapper:Ht,arrow:Xt,select:Kt},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})]}),Zt="_sectionWrapper_b6zf8_2",Jt="_sectionTitleNoMargin_b6zf8_12",ea="_carouselContainer_b6zf8_100",ta="_carousel_b6zf8_100",aa="_carouselInner_b6zf8_111",na="_carouselItem_b6zf8_117",ra="_rankCard_b6zf8_154",oa="_rankPill_b6zf8_158",sa="_rankGold_b6zf8_169",la="_rankSilver_b6zf8_173",ia="_rankBronze_b6zf8_177",ca="_skeletonPoster_b6zf8_188",da="_skeletonText_b6zf8_189",_={sectionWrapper:Zt,sectionTitleNoMargin:Jt,"section-header":"_section-header_b6zf8_17","title-wrapper":"_title-wrapper_b6zf8_25","header-actions":"_header-actions_b6zf8_45","nav-arrows":"_nav-arrows_b6zf8_51","nav-button":"_nav-button_b6zf8_57",carouselContainer:ea,carousel:ta,carouselInner:aa,carouselItem:na,rankCard:ra,rankPill:oa,rankGold:sa,rankSilver:la,rankBronze:ia,skeletonPoster:ca,skeletonText:da},Pe="TRENDING_DESC",ua="POPULARITY_DESC",ha=10;function ma({title:n,eyebrow:l}){const{lowEndMode:h}=ke(),[t,o]=ie("trending_sort",Pe),i=[{value:Pe,label:"Trending"},{value:ua,label:"All Time"}],{data:p,fetchNextPage:s,hasNextPage:S,isFetchingNextPage:y,isLoading:N,isError:m,error:c}=tt(t,ha),r=Q(()=>p?.pages.flatMap(u=>u)||[],[p]),w=P(()=>{S&&!y&&!N&&s()},[S,y,N,s]),{emblaRef:C,stepBy:k,canScrollPrev:d,canScrollNext:g}=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||g)&&e("div",{className:_["nav-arrows"],children:[d&&e("button",{className:_["nav-button"],type:"button",onClick:u=>{u.preventDefault(),k("left",h)},"aria-label":"Scroll left",children:e(E,{name:"chevron-left"})}),g&&e("button",{className:_["nav-button"],type:"button",onClick:u=>{u.preventDefault(),k("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))})})}):m?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)),y&&e("div",{className:_.carouselItem,style:{minWidth:"150px",display:"flex",alignItems:"center",justifyContent:"center"},children:e("div",{className:_.skeletonPoster})})]})})})]})}const ga=[{value:"TV",label:"TV"},{value:"ONA",label:"ONA"},{value:"OVA",label:"OVA"},{value:"MOVIE",label:"Movie"},{value:"ALL",label:"All"},{value:"ADULT",label:"Mature"}],pa=10;function va({eyebrow:n}){const{lowEndMode:l}=ke(),[h,t]=ie("latest_releases_format","TV"),{data:o,fetchNextPage:i,hasNextPage:p,isFetchingNextPage:s,isLoading:S,isError:y,error:N}=at(h,pa),m=Q(()=>o?.pages.flatMap(d=>d)||[],[o]),c=P(()=>{p&&!s&&!S&&i()},[p,s,S,i]),{emblaRef:r,stepBy:w,canScrollPrev:C,canScrollNext:k}=ve({onReachThreshold:c,slideCount:m.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:ga,onChange:t}),(C||k)&&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"})}),k&&e("button",{className:_["nav-button"],type:"button",onClick:d=>{d.preventDefault(),w("right",l)},"aria-label":"Scroll right",children:e(E,{name:"chevron-right"})})]})]})]}),S?e("div",{className:_.carouselContainer,children:e("div",{className:_.carousel,children:e("div",{className:_.carouselInner,children:Array.from({length:7}).map((d,g)=>e("div",{className:_.carouselItem,children:[e("div",{className:_.skeletonPoster}),e("div",{className:_.skeletonText})]},g))})})}):y?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:[m.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 _a="_scheduleSection_ngtwy_1",ya="_sectionTitleRow_ngtwy_5",ba="_sectionTitleNoMargin_ngtwy_11",fa="_sectionHeader_ngtwy_15",Ta="_headerActions_ngtwy_25",Na="_daySelectorContainer_ngtwy_33",wa="_daySelector_ngtwy_33",Sa="_daySelectorInner_ngtwy_50",ka="_dayBtn_ngtwy_61",Ca="_active_ngtwy_84",Ia="_dayMonth_ngtwy_92",Ra="_dayNum_ngtwy_100",Aa="_dayName_ngtwy_106",La="_navArrows_ngtwy_119",$a="_navButton_ngtwy_125",Ma="_carouselContainer_ngtwy_168",Ba="_carousel_ngtwy_168",xa="_carouselInner_ngtwy_180",Pa="_carouselCard_ngtwy_186",$={scheduleSection:_a,sectionTitleRow:ya,sectionTitleNoMargin:ba,sectionHeader:fa,headerActions:Ta,daySelectorContainer:Na,daySelector:wa,daySelectorInner:Sa,dayBtn:ka,active:Ca,dayMonth:Ia,dayNum:Ra,dayName:Aa,navArrows:La,navButton:$a,carouselContainer:Ma,carousel:Ba,carouselInner:xa,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}`},Ea=async(n,l)=>await nt.data.schedule.query({date:n,format:l}),Da=({eyebrow:n})=>{const[l,h]=B(()=>de(new Date)),[t,o]=ie("schedule_format","TV"),i=F(null),p=F(!0),{data:s=[],isLoading:S,error:y}=kt({queryKey:[ze.schedule,l,t],queryFn:()=>Ea(l,t),staleTime:1e3*60*5}),{emblaRef:N,canScrollPrev:m,canScrollNext:c,stepBy:r,scrollToStart:w}=ve({slideCount:s.length}),C=Q(()=>{const d=[],g=new Date,u=de(g),f=new Date(g);f.setDate(g.getDate()-1);const R=de(f),z=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];for(let A=-6;A<=6;A++){const D=new Date(g);D.setDate(g.getDate()+A),d.push(D)}return d.map(A=>{const D=de(A),j=D===u?"Today":D===R?"Yest":z[A.getDay()],I=A.getDate(),U=new Intl.DateTimeFormat("en-US",{month:"short"}).format(A);return{dateString:D,dayLabel:j,dayNum:I,monthName:U}})},[]);x(()=>{const d=i.current,g=d?.querySelector(`[data-date="${l}"]`);if(!d||!g)return;const u=d.getBoundingClientRect(),f=g.getBoundingClientRect(),R=d.scrollLeft+(f.left-u.left)-(u.width-f.width)/2;d.scrollTo({left:Math.max(0,R),behavior:p.current?"auto":"smooth"}),p.current=!1},[l]),x(()=>{w(!0)},[l,w]);const k=[{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:k,onChange:o}),s.length>0&&(m||c)&&e("div",{className:$.navArrows,children:[m&&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:S?Array.from({length:7}).map((d,g)=>e("div",{className:$.carouselCard,children:e(Ge,{layout:"vertical"})},g)):y?e("div",{style:{width:"100%"},children:e(Re,{message:y instanceof Error?y.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,episodeBadge:!0,layout:"vertical"},d._id)},d._id))})})})]})},Wa="_bannerContainer_lye2m_1",Oa="_hero_lye2m_28",za="_ambient_lye2m_37",Va="_ambientShow_lye2m_49",Fa="_scrim_lye2m_53",ja="_progressLine_lye2m_64",Ga="_paused_lye2m_84",Ua="_dots_lye2m_98",qa="_dot_lye2m_98",Qa="_dotActive_lye2m_121",Ya="_viewport_lye2m_132",Ha="_track_lye2m_139",Xa="_slide_lye2m_145",Ka="_slideInner_lye2m_153",Za="_poster_lye2m_163",Ja="_posterLandscape_lye2m_174",en="_info_lye2m_198",tn="_kicker_lye2m_207",an="_featureLabel_lye2m_214",nn="_scoreChip_lye2m_226",rn="_rise_lye2m_244",on="_active_lye2m_248",sn="_metaRow_lye2m_304",ln="_metaItem_lye2m_315",cn="_metaDivider_lye2m_321",dn="_title_lye2m_328",un="_genres_lye2m_347",hn="_genreTag_lye2m_355",mn="_summary_lye2m_366",gn="_actions_lye2m_378",pn="_watchBtn_lye2m_386",vn="_detailsBtn_lye2m_418",_n="_secondaryRow_lye2m_449",yn="_secondaryBtn_lye2m_456",bn="_navArrow_lye2m_479",fn="_prevArrow_lye2m_512",Tn="_nextArrow_lye2m_516",v={bannerContainer:Wa,hero:Oa,ambient:za,ambientShow:Va,scrim:Fa,progressLine:ja,paused:Ga,dots:Ua,dot:qa,dotActive:Qa,viewport:Ya,track:Ha,slide:Xa,slideInner:Ka,poster:Za,posterLandscape:Ja,info:en,kicker:tn,featureLabel:an,scoreChip:nn,rise:rn,active:on,metaRow:sn,metaItem:ln,metaDivider:cn,title:dn,genres:un,genreTag:hn,summary:mn,actions:gn,watchBtn:pn,detailsBtn:vn,secondaryRow:_n,secondaryBtn:yn,navArrow:bn,prevArrow:fn,nextArrow:Tn},Nn=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,p]=B(0),[s,S]=B(!1),[y,N]=B(null),[m,c]=B(0),[r,w]=B({front:"",back:"",flip:!1}),C=F(0),k=F(0),d=F(new Set),g=F(null),u=F(0),f=P(a=>a.bannerSrc,[]),R=P(()=>{p(a=>a+1)},[]),z=P(a=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null),N(null),R();const b=f(n[a]);w(T=>T.flip?{front:b,back:T.back,flip:!1}:{front:T.front,back:b,flip:!0}),o(a)},[R,n,f]),A=P(a=>{if(n.length===0)return;const b=(a%n.length+n.length)%n.length;d.current.has(f(n[b]))?z(b):N(b)},[n,f,z]);x(()=>{let a=!1;return n.forEach(b=>{const T=f(b);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]),x(()=>{if(n.length!==0&&!r.front){const a=f(n[0]);w({front:a,back:"",flip:!1})}},[n,r.front,f]),x(()=>{if(y!==null){if(y<0||y>=n.length){N(null);return}d.current.has(f(n[y]))&&z(y)}},[y,m,n,f,z]),x(()=>{if(y===null)return;g.current!==null&&window.clearTimeout(g.current);const a=y;return g.current=window.setTimeout(()=>{g.current=null,z(a)},2500),()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null)}},[y,z]);const D=P(a=>{A(a)},[A]),L=P(()=>{A(u.current+1)},[A]),V=P(()=>{A(u.current-1)},[A]),j=F(null);if(x(()=>{const a=j.current;if(!a)return;const b=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():V()}};return a.addEventListener("wheel",b,{passive:!1}),()=>a.removeEventListener("wheel",b)},[n.length,L,V,R]),x(()=>{if(n.length===0||s)return;const a=setTimeout(L,Nn);return()=>clearTimeout(a)},[t,L,n.length,i,s]),x(()=>{const a=b=>{const T=b.target;T&&(T.tagName==="INPUT"||T.tagName==="TEXTAREA"||T.tagName==="SELECT"||T.isContentEditable)||(b.key==="ArrowRight"?(b.preventDefault(),L()):b.key==="ArrowLeft"&&(b.preventDefault(),V()))};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[L,V]),x(()=>{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=>{k.current=a.touches[0].clientX},H=a=>{const T=a.changedTouches[0].clientX-k.current;Math.abs(T)>50&&(R(),T>0?V():L())};return e("div",{className:v.bannerContainer,onMouseEnter:()=>S(!0),onMouseLeave:()=>S(!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,b)=>e("button",{role:"tab","aria-selected":b===I,"aria-label":`Go to slide ${b+1}: ${a.title}`,className:`${v.dot} ${b===I?v.dotActive:""}`,onClick:()=>D(b),tabIndex:b===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,b)=>e("div",{className:`${v.slide} ${b===I?v.active:""}`,"aria-hidden":b!==I,children:e("div",{className:v.slideInner,children:[e(rt,{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:b===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:b===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:b===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:b===I?0:-1,children:[e(E,{name:"plus",size:14}),e("span",{children:"Watchlist"})]})]})]})]})]})},a.key))})}),n.length>1&&e(se,{children:[e("button",{className:`${v.navArrow} ${v.prevArrow}`,onClick:()=>{R(),V()},"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})})]})]})})},wn=({animeList:n})=>{const{titlePreference:l}=Ve(),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(p=>!!p),tags:(o.genres??[]).slice(0,3).map(p=>typeof p=="string"?p:p?.name).filter(p=>!!p),synopsis:ot(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})},Sn="_emptyState_19tmt_1",kn="_emptyStateIcon_19tmt_16",Cn="_emptyStateTitle_19tmt_23",In="_emptyStateText_19tmt_30",he={emptyState:Sn,emptyStateIcon:kn,emptyStateTitle:Cn,emptyStateText:In},ye=({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(Fe,{variant:"primary",size:"sm",onClick:t,style:{marginTop:"1rem"},children:h})]}),Rn="_tabBar_1mv4x_1",An="_tabIndicator_1mv4x_24",Ln="_tabButton_1mv4x_38",$n="_tabActive_1mv4x_53",me={tabBar:Rn,tabIndicator:An,tabButton:Ln,tabActive:$n};function Mn({options:n,value:l,onChange:h,ariaLabel:t},o){const i=F(null),p=F(new Map),s=F(null),[S,y]=B({left:0,width:0}),N=P((m,c)=>{const r=p.current.get(m),w=i.current;if(r&&w){const C=w.getBoundingClientRect(),k=r.getBoundingClientRect();y({left:k.left-C.left+w.scrollLeft,width:k.width}),c&&r.scrollIntoView({block:"nearest",inline:"nearest"})}},[]);return et(()=>{const m=s.current!==null&&s.current!==l;s.current=l,N(l,m)},[l,n.length,N]),x(()=>{if(N(l,!1),typeof ResizeObserver>"u")return;let m=0;const c=i.current;if(!c)return;const r=new ResizeObserver(()=>{cancelAnimationFrame(m),m=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(m),r.disconnect()}},[l,n.length,N]),e("div",{className:me.tabBar,ref:m=>{i.current=m,typeof o=="function"?o(m):o&&(o.current=m)},"aria-label":t,children:[e("div",{className:me.tabIndicator,style:{left:S.left,width:S.width}}),n.map(m=>e(Fe,{ref:c=>{c&&p.current.set(m.value,c)},variant:"secondary",size:"sm",className:`${me.tabButton} ${l===m.value?me.tabActive:""}`,onClick:()=>h(m.value),children:m.label},m.value))]})}const ge=q.forwardRef(Mn),Bn=[{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:p}=Ye(),{popup:s,openPopup:S,scheduleClose:y,cancelClose:N,closePopup:m}=qe(),{data:c,isLoading:r,fetchNextPage:w,hasNextPage:C,isFetchingNextPage:k}=lt({provider:"",query:"",sort:h,status:"",type:"",rating:t?"safe,suggestive,erotica,pornographic":"safe",mature:t}),d=Q(()=>c?.pages.flatMap(u=>u.items)??[],[c]),g=P(()=>{C&&!k&&!r&&w()},[C,k,r,w]);return e(se,{children:[e(Z,{title:n,eyebrow:l,loading:r,carousel:!0,itemCount:d.length,headerActions:o,onReachThreshold:g,isFetchingNextPage:k,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"3 / 4"}}),skeletonCount:7,children:d.map(u=>{const f=Se(u.provider,u.id);return e(pe,{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=>S(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():y(),rawThumbnail:!0},`${u.provider}-${u.id}`)})}),s&&e(Qe,{data:s.data,anchorRect:s.rect,bookmarked:p.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:y,onRequestClose:m})]})},xn=()=>{const{options:n}=Bt(),l=Q(()=>n.some(s=>s.kind==="manga"),[n]),{hasConsent:h}=st(),[t,o]=ie("manga_discover_tab","latest"),[i,p]=ie("manga_trending_sort","popular");return l?e(se,{children:[e(ge,{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=>p(s.currentTarget.value),"aria-label":"Trending sort",children:Bn.map(s=>e("option",{value:s.value,children:s.label},s.value))})})]}):null},Pn=()=>{const n=ee(),{data:l,isLoading:h}=Mt(24),[t,o]=B(null),{popup:i,openPopup:p,scheduleClose:s,cancelClose:S,closePopup:y}=qe(),{toggle:N,bookmarkedIds:m}=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(ye,{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,k=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(pe,{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:k,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=>p(d,{provider:r.provider||"",mangaId:r.mangaId||"",title:r.title||"",altTitle:r.altTitle,cover:r.cover||"",contentRating:r.contentRating||void 0,readTarget:k}),onPopupHoverIntent:d=>d?S():s(),rawThumbnail:!0},r.id)})}),e($t,{mangaId:t?t.libId:null,title:t?.title,onClose:()=>o(null)}),i&&i.data.provider&&e(Qe,{data:i.data,anchorRect:i.rect,bookmarked:m.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:S,onMouseLeave:s,onRequestClose:y}),e(xn,{})]})},En="_emptyState_bpz5x_1",De={emptyState:En},Dn=[{value:"latest",label:"Latest Releases"},{value:"trending",label:"Trending"}],Wn=[{value:"trending_week",label:"Trending Now"},{value:"trending_day",label:"Trending Today"},{value:"popular",label:"Popular All Time"},{value:"top_rated",label:"Top Rated"}],On=()=>{const n=ee(),{data:l,isLoading:h}=Et(24),t=Dt(),o=Wt(),[i,p]=B(null),[s,S]=B(()=>re.getItem("tv_home_activeTab")||"latest"),[y,N]=B("tv"),[m,c]=B("trending_week"),[r,w]=B("multi"),C=l?.data??[];q.useEffect(()=>{re.setItem("tv_home_activeTab",s)},[s]);const k=m.startsWith("trending_"),d=m==="trending_day"?"day":"week",g={popular:"popularity.desc",top_rated:"vote_average.desc"},{data:u,isLoading:f}=Ke(r==="multi"?"all":r,d,1,k&&s==="trending"),{data:R,isLoading:z}=Be({type:r,sort_by:g[m]||"popularity.desc",page:1}),A=k?u?.results||[]:R?.results||[],D=k?f:z,{data:L,isLoading:V}=Be({type:y,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=P(a=>e(xt,{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:V,carousel:!0,itemCount:j.length,headerActions:e(J,{ariaLabel:"Latest type",value:y,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(se,{children:[e(J,{ariaLabel:"Trending sort",value:m,onChange:c,options:Wn.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(ye,{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 b=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&&b>=T*.8,ae=te?100:T>0&&b>0?b/T*100:0,be=te?"Watched":T>0?G?`${oe(b)} / ${oe(T)}`:`${K} · ${oe(b)} / ${oe(T)}`:K;return e(pe,{item:{id:a.id,title:a.title||"",thumbnail:a.poster||"",typeBadge:G?"Movie":"TV",chapterBadge:K,isAdult:ct({adult:a.adult===1})},linkTo:it(a.mediaType,a.tmdbId??0,G?void 0:W,G?void 0:X),hoverIcon:"play",progress:(T>0||te)&&ae>0?{percent:ae,label:be}:void 0,showProgress:!0,metaRow:a.year?e("span",{style:{opacity:.75},children:a.year}):void 0,onRemove:()=>p({libId:a.id,title:a.title||""}),renderPopup:(fe,le)=>e(Pt,{item:{id:a.tmdbId??0,title:a.title||"",year:a.year||"",type:a.mediaType||"tv",image:a.poster||""},anchorRect:fe,onMouseEnter:le.onMouseEnter,onMouseLeave:le.onMouseLeave,onRequestClose:le.close})},a.id)})}),e(ge,{ariaLabel:"Browse TV",options:Dn,value:s,onChange:S}),e("div",{children:H()}),e(Ue,{isOpen:!!i,itemName:i?.title,progressKind:"watch",listLabel:"my TV watchlist",onClose:()=>{p(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} · ${oe(l)} / ${oe(h)}`:n.trackLabel?`Track ${t} · ${n.trackLabel}`:`Track ${t}`}const zn=({title:n="Continue Listening",limit:l=24,titleLink:h,showEmptyState:t=!0})=>{const o=ee(),{data:i,isLoading:p}=zt(l),{toggle:s,bookmarkedIds:S}=Vt(),[y,N]=B(null),m=i?.data??[];return e(se,{children:[e(Z,{title:n,eyebrow:"Pick up where you left off",titleLink:h??"/listening-list/Continue Listening",loading:p,carousel:!0,collapsible:!0,defaultExpanded:m.length>0,highlight:!0,itemCount:m.length,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"16 / 9"}}),skeletonCount:7,emptyState:t?e(ye,{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:m.map(c=>{const r=c.currentTime??0,w=c.duration??0,C=c.rjCode||c.id;return e(pe,{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:(k,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:k,bookmarked:S.has(jt(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(Ot,{workId:y?y.workId:null,title:y?.title,onClose:()=>N(null)})]})},Vn=()=>e("div",{style:{paddingBottom:"2rem"},children:e(zn,{})}),Fn=({items:n})=>{const l=ee(),h=Q(()=>n.slice(0,6).map(t=>{const o=dt(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=>ut[i]??ht[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"})},jn=({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(p=>!!p),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 Gn(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 Un=({works:n})=>{const l=ee(),h=Q(()=>n.slice(0,6).map((t,o)=>{const i=mt(t),p=`/asmr/${encodeURIComponent(i)}`,s=Gn(t);return{key:i||t._id||String(o),bannerSrc:t.thumbnail||"",posterSrc:t.thumbnail||"",posterAlt:t.name,title:t.name,detailTo:p,metaItems:[t.rating?t.rating.toUpperCase():void 0,s?`${s} track${s===1?"":"s"}`:void 0].filter(S=>!!S),tags:[],synopsis:Ie(t.description,160,""),primaryLabel:"Listen Now",primaryIcon:"play",onPrimary:()=>l(p),onDetails:()=>l(p)}}),[n,l]);return e(_e,{slides:h,eyebrow:"ASMR Spotlight",posterAspect:"landscape"})},qn="_seasonSection_6ckjf_34",Qn="_seasonGrid_6ckjf_38",ne={"section-header":"_section-header_6ckjf_1","content-type-nav":"_content-type-nav_6ckjf_8","title-wrapper":"_title-wrapper_6ckjf_18","pagination-controls":"_pagination-controls_6ckjf_24",seasonSection:qn,seasonGrid:Qn},Yn=[{value:"anime",label:"Anime"},{value:"manga",label:"Manga"},{value:"tv",label:"TV & Movies"},{value:"asmr",label:"ASMR"}],Nr=()=>{const n=Ct(),l=gt(),[h,t]=q.useState(1),[o,i]=B(()=>re.getItem("home_activeTab")||"latest"),[p,s]=B(()=>re.getItem("season_format")||"TV"),S=F(null),{data:y}=Me(h+1,p,o==="season"),{titlePreference:N}=Ve(),{contentType:m,setContentType:c}=pt(),[r,w]=q.useState(null),C=vt(),{data:k=[]}=_t(),d=yt(),g=bt(),u=ft();x(()=>{document.title="Home - dango"},[]);const{data:f,isLoading:R}=Tt();x(()=>{re.setItem("home_activeTab",o)},[o]),x(()=>{re.setItem("season_format",p),t(1)},[p]),x(()=>{f!==void 0&&f.length===0&&o==="week"&&i("latest")},[f,o]);const{data:z,isLoading:A,fetchNextPage:D,hasNextPage:L,isFetchingNextPage:V}=Nt(),j=P(()=>{L&&!V&&!A&&D()},[L,V,A,D]),{data:I,isLoading:U}=wt(),{data:H,isLoading:a}=Ke("all","week",1,m==="tv"),{data:b,isLoading:T}=Gt(m==="asmr"),{data:W,isLoading:X}=St(),G=Q(()=>z?.pages||[],[z]),{data:K,isLoading:te}=Me(h,p,o==="season"),ae=14,be=K&&K.length>=ae&&y&&y.length>0,fe=It(l.continueWatching.remove.mutationOptions({onSuccess:async()=>{n.invalidateQueries(l.continueWatching.pathFilter()),await n.invalidateQueries({queryKey:[ze.continueWatching]}),L&&G.length-1<14&&D()}})),le=P(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(va,{eyebrow:"Fresh episodes"});case"season":return e("section",{className:ne.seasonSection,children:[e("div",{className:ne["section-header"],ref:S,children:[e("div",{className:ne["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:p,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:ne["pagination-controls"],children:e(Rt,{page:h,canGoNext:be,onChange:O=>{if(t(O),S.current){const Y=S.current.getBoundingClientRect().top+window.scrollY-120;window.scrollTo({top:Y,behavior:"smooth"})}},isLoading:te})})]})]}),e("div",{className:`grid-container ${ne.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(ma,{title:"Trending",eyebrow:"Discover"});case"week":return e(xe,{title:"This Week",eyebrow:"Aired this week",animeList:f||[],continueWatching:!1,episodeBadge:!0,carousel:!0,loading:R});default:return null}};return e("div",{style:{paddingBottom:"2rem"},children:[m==="anime"&&(U&&!I?.length?e(ue,{}):I&&I.length>0&&e(wn,{animeList:I})),m==="tv"&&(a&&!H?.results?.length?e(ue,{}):H?.results&&H.results.length>0&&e(Fn,{items:H.results})),m==="manga"&&(X&&!W?.length?e(ue,{}):W&&W.length>0&&e(jn,{mangaList:W})),m==="asmr"&&(T&&!b?.length?e(ue,{}):b&&b.length>0&&e(Un,{works:b})),e("div",{className:ne["content-type-nav"],children:e(ge,{ariaLabel:"Content type",options:Yn,value:m,onChange:c})}),m==="manga"?e(Pn,{}):m==="tv"?e(On,{}):m==="asmr"?e(Vn,{}):e(se,{children:[e(xe,{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:le,loading:A,onReachThreshold:j,scrollThreshold:.7,isFetchingNextPage:V,emptyState:e(ye,{icon:"history",text:"You haven't watched anything yet. Start exploring and watch something first!",actionLabel:"Explore Trending",onAction:()=>i("popular")})}),e(Lt,{title:"Queue",eyebrow:"Up next",items:k,onRemove:O=>d.mutate({showId:O.showId,episodeNumber:O.episodeNumber}),showClearAll:!0,onClear:()=>g.mutate(),onReorder:O=>u.mutate(O.map(Y=>({id:Y.id,showId:Y.showId,episodeNumber:Y.episodeNumber})))}),e(ge,{ariaLabel:"Browse anime",options:Ze.map(O=>({value:O.key,label:O.label})),value:$e,onChange:i}),e("div",{children:Je()}),e(Da,{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{Nr as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as M,h as z,T as d,u as e,L as T}from"./vendor-core-DfaOB3Rn.js";import{b as $,u as j,a as G}from"./vendor-query-BBT5_sHx.js";import{q as m,t as u,aq as J,e as X,d as Z,K as f,F as P,f as W}from"./index-CPhXtUuw.js";import{I as c}from"./vendor-icons-C1Pj_eSX.js";const ee="_header_45wm0_1",ae="_fadeIn_45wm0_1",te="_personaBadge_45wm0_9",se="_personaInfo_45wm0_32",ne="_personaLabel_45wm0_37",re="_personaValue_45wm0_46",oe="_statsGrid_45wm0_52",ce="_slideUpIn_45wm0_1",le="_statCard_45wm0_62",ie="_statIcon_45wm0_71",de="_statInfo_45wm0_82",me="_statValue_45wm0_87",he="_statLabel_45wm0_96",_e="_wideSection_45wm0_104",pe="_sectionHeader_45wm0_113",ue="_yearSelect_45wm0_128",ge="_heatmapLayout_45wm0_157",we="_dayLabels_45wm0_164",Ne="_heatmapWrapper_45wm0_176",ve="_heatmapMonthLabels_45wm0_182",ye="_heatmapGrid_45wm0_193",fe="_heatBox_45wm0_201",be="_hiddenBox_45wm0_210",Ce="_level0_45wm0_221",Se="_level1_45wm0_224",ke="_level2_45wm0_228",Be="_level3_45wm0_232",Le="_level4_45wm0_236",Ie="_heatmapFooter_45wm0_241",De="_heatLegend_45wm0_248",xe="_chartsContainer_45wm0_258",Re="_chartWrapper_45wm0_268",Me="_hourlyChart_45wm0_285",Te="_hourlyBarContainer_45wm0_293",$e="_hourlyBar_45wm0_293",Ge="_hourlyLabel_45wm0_319",Pe="_chartSubtext_45wm0_326",We="_popScale_45wm0_339",Oe="_popTrack_45wm0_343",Fe="_popThumb_45wm0_351",qe="_popLabels_45wm0_363",Ae="_popDescription_45wm0_373",Ve="_seasonalChart_45wm0_386",He="_seasonalBarContainer_45wm0_394",Ye="_seasonalBar_45wm0_394",Ee="_seasonalLabel_45wm0_416",Ke="_genreList_45wm0_424",Qe="_genreRow_45wm0_431",Ue="_genreInfo_45wm0_437",ze="_genreName_45wm0_444",je="_genreCount_45wm0_451",Je="_genreBarBg_45wm0_458",Xe="_genreBar_45wm0_458",Ze="_warningSection_45wm0_471",ea="_warningHeader_45wm0_477",aa="_droppedGrid_45wm0_493",ta="_droppedCard_45wm0_498",sa="_droppedName_45wm0_507",na="_droppedDate_45wm0_514",ra="_genreGrid_45wm0_561",oa="_genreCard_45wm0_579",ca="_rankBadge_45wm0_585",la="_rankNumber_45wm0_598",ia="_genreTitle_45wm0_604",da="_genreStats_45wm0_612",ma="_posterRow_45wm0_620",ha="_miniPoster_45wm0_627",_a="_genreCardSkeleton_45wm0_641",pa="_pulse_45wm0_1",ua="_skeletonRank_45wm0_647",ga="_skeletonTitle_45wm0_661",wa="_skeletonStats_45wm0_674",Na="_skeletonPosters_45wm0_686",va="_recSection_45wm0_717",ya="_recHeader_45wm0_721",fa="_recSubtext_45wm0_736",ba="_recControls_45wm0_742",Ca="_recControlBtn_45wm0_748",Sa="_recPosterButton_45wm0_776",ka="_recAddBtn_45wm0_777",Ba="_recGrid_45wm0_787",La="_recEmpty_45wm0_793",Ia="_recCard_45wm0_801",Da="_recCover_45wm0_819",xa="_recInfo_45wm0_827",Ra="_recTitle_45wm0_834",Ma="_recMatch_45wm0_845",Ta="_recMeta_45wm0_851",$a="_recWhy_45wm0_856",Ga="_recNote_45wm0_865",Pa="_loading_45wm0_900",Wa="_error_45wm0_906",a={header:ee,fadeIn:ae,personaBadge:te,personaInfo:se,personaLabel:ne,personaValue:re,statsGrid:oe,slideUpIn:ce,statCard:le,statIcon:ie,statInfo:de,statValue:me,statLabel:he,wideSection:_e,sectionHeader:pe,yearSelect:ue,heatmapLayout:ge,dayLabels:we,heatmapWrapper:Ne,heatmapMonthLabels:ve,heatmapGrid:ye,heatBox:fe,hiddenBox:be,level0:Ce,level1:Se,level2:ke,level3:Be,level4:Le,heatmapFooter:Ie,heatLegend:De,chartsContainer:xe,chartWrapper:Re,hourlyChart:Me,hourlyBarContainer:Te,hourlyBar:$e,hourlyLabel:Ge,chartSubtext:Pe,popScale:We,popTrack:Oe,popThumb:Fe,popLabels:qe,popDescription:Ae,seasonalChart:Ve,seasonalBarContainer:He,seasonalBar:Ye,seasonalLabel:Ee,genreList:Ke,genreRow:Qe,genreInfo:Ue,genreName:ze,genreCount:je,genreBarBg:Je,genreBar:Xe,warningSection:Ze,warningHeader:ea,droppedGrid:aa,droppedCard:ta,droppedName:sa,droppedDate:na,genreGrid:ra,genreCard:oa,rankBadge:ca,rankNumber:la,genreTitle:ia,genreStats:da,posterRow:ma,miniPoster:ha,genreCardSkeleton:_a,pulse:pa,skeletonRank:ua,skeletonTitle:ga,skeletonStats:wa,skeletonPosters:Na,recSection:va,recHeader:ya,recSubtext:fa,recControls:ba,recControlBtn:Ca,recPosterButton:Sa,recAddBtn:ka,recGrid:Ba,recEmpty:La,recCard:Ia,recCover:Da,recInfo:xa,recTitle:Ra,recMatch:Ma,recMeta:Ta,recWhy:$a,recNote:Ga,loading:Pa,error:Wa},Va=()=>{const[b,C]=M(0);z(()=>{document.title="Insights - dango"},[]);const{data:n,isLoading:O,isError:F}=$({queryKey:[m.insights],queryFn:async()=>await u.insights.summary.query()}),{data:q,isLoading:S}=J(),{hasConsent:A}=X(),{titlePreference:V}=Z(),g=j(),{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(V){case"nativeName":return t.nativeName||s;case"englishName":return t.englishName||s;default:return s}},[h,H]=M(new Date().getFullYear()),Y=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(),Q=String(o.getMonth()+1).padStart(2,"0"),U=String(o.getDate()).padStart(2,"0"),x=`${p}-${Q}-${U}`,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]),E=d(()=>n?.seasonality?.length?Math.max(...n.seasonality.map(t=>t.seconds),1):0,[n]),K=d(()=>n?.hourlyDist?.length?Math.max(...n.hourlyDist.map(t=>t.count),1):0,[n]);return O||S?e("div",{className:a.loading,children:"Analyzing your anime lifestyle..."}):F?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=>H(Number(t.currentTarget.value)),children:Y.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/K*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/E*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)):q?.filter(t=>A||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(P,{src:W(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(P,{src:W(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{Va as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._header_45wm0_1{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);animation:_fadeIn_45wm0_1 .45s var(--ease-smooth)}._personaBadge_45wm0_9{display:flex;align-items:center;gap:var(--space-4);background:var(--accent-subtle);color:var(--text-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:700;border:1px solid var(--border-primary);cursor:default;transition:all var(--transition-base)}._personaBadge_45wm0_9:hover{border-color:var(--border-accent)}._personaBadge_45wm0_9 svg{font-size:1.5rem;color:var(--accent)}._personaInfo_45wm0_32{display:flex;flex-direction:column}._personaLabel_45wm0_37{font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-tertiary);margin-bottom:2px;font-weight:800}._personaValue_45wm0_46{font-size:1.1rem;color:var(--text-primary);letter-spacing:-.01em}._statsGrid_45wm0_52{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--space-6);row-gap:0;margin-bottom:var(--space-10);border-top:1px solid var(--border-primary);animation:_slideUpIn_45wm0_1 .45s var(--ease-smooth)}._statCard_45wm0_62{min-height:92px;padding:var(--space-4) 0;display:flex;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border-primary)}._statIcon_45wm0_71{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}._statInfo_45wm0_82{display:flex;flex-direction:column}._statValue_45wm0_87{font-size:1.5rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:4px;letter-spacing:-.02em}._statLabel_45wm0_96{color:var(--text-tertiary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}._wideSection_45wm0_104{background:var(--glass-bg);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-10);animation:_slideUpIn_45wm0_1 .45s var(--ease-smooth) .05s both}._sectionHeader_45wm0_113{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);gap:var(--space-4)}._sectionHeader_45wm0_113 h3{font-size:1.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}._yearSelect_45wm0_128{width:130px;height:44px;padding:0 var(--space-4);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2371717a' 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 1rem center;transition:all var(--transition-fast)}._yearSelect_45wm0_128:hover{border-color:var(--border-secondary);background-color:var(--bg-elevated)}._yearSelect_45wm0_128:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}._heatmapLayout_45wm0_157{display:flex;gap:var(--space-8);align-items:flex-start;justify-content:center}._dayLabels_45wm0_164{display:grid;grid-template-rows:repeat(7,14px);gap:4px;font-size:.75rem;color:var(--text-tertiary);align-items:center;padding-right:6px;margin-top:24px;font-weight:700}._heatmapWrapper_45wm0_176{overflow-x:auto;padding:var(--space-2) var(--space-3);max-width:100%}._heatmapMonthLabels_45wm0_182{display:grid;grid-auto-flow:column;grid-auto-columns:18px;margin-bottom:8px;font-size:.7rem;color:var(--text-tertiary);font-weight:700;text-transform:uppercase}._heatmapGrid_45wm0_193{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,14px);gap:4px;width:fit-content}._heatBox_45wm0_201{width:14px;height:14px;border-radius:3px;background:var(--bg-tertiary);border:1px solid var(--border-primary);transition:all .15s ease}._heatBox_45wm0_201._hiddenBox_45wm0_210{opacity:0;pointer-events:none}._heatBox_45wm0_201:hover{transform:scale(1.6);z-index:10;border-color:var(--accent)}._level0_45wm0_221{background:var(--bg-tertiary)}._level1_45wm0_224{background:color-mix(in srgb,var(--accent) 25%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}._level2_45wm0_228{background:color-mix(in srgb,var(--accent) 50%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}._level3_45wm0_232{background:color-mix(in srgb,var(--accent) 75%,transparent);border-color:color-mix(in srgb,var(--accent) 80%,transparent)}._level4_45wm0_236{background:var(--accent);border-color:var(--accent-light)}._heatmapFooter_45wm0_241{display:flex;justify-content:flex-end;margin-top:var(--space-6);padding-right:var(--space-2)}._heatLegend_45wm0_248{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--text-tertiary);font-weight:700;text-transform:uppercase}._chartsContainer_45wm0_258{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:var(--space-10);border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary);animation:_slideUpIn_45wm0_1 .45s var(--ease-smooth) .1s both}._chartWrapper_45wm0_268{padding:var(--space-6);display:flex;flex-direction:column;min-width:0}._chartWrapper_45wm0_268 h3{margin-bottom:var(--space-8);font-size:1.25rem;font-weight:800;color:var(--text-primary);border-bottom:1px solid var(--border-primary);padding-bottom:var(--space-3);letter-spacing:-.01em}._hourlyChart_45wm0_285{display:flex;align-items:flex-end;height:160px;gap:2px;padding-top:var(--space-4)}._hourlyBarContainer_45wm0_293{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}._hourlyBar_45wm0_293{width:100%;max-width:12px;background:linear-gradient(to top,var(--accent),var(--accent-light));border-radius:4px 4px 2px 2px;opacity:.7;transition:all var(--transition-fast);min-height:4px}._hourlyBar_45wm0_293:hover{opacity:1;transform:scaleY(1.05);filter:brightness(1.2);box-shadow:0 0 10px var(--accent-glow)}._hourlyLabel_45wm0_319{font-size:.75rem;color:var(--text-tertiary);margin-top:8px;font-weight:700}._chartSubtext_45wm0_326{margin-top:var(--space-8);padding:var(--space-4);background:transparent;border-top:1px solid var(--border-primary);border-radius:0;padding:var(--space-3) 0 0;font-size:.9rem;color:var(--accent-light);font-weight:600;text-align:center}._popScale_45wm0_339{padding:var(--space-8) 0}._popTrack_45wm0_343{height:14px;background:linear-gradient(to right,var(--accent-dark),var(--accent),var(--accent-light));border-radius:var(--radius-full);position:relative;margin-bottom:var(--space-6)}._popThumb_45wm0_351{width:26px;height:26px;background:#fff;border:4px solid var(--bg-secondary);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:left 1s var(--ease-spring)}._popLabels_45wm0_363{display:flex;justify-content:space-between;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}._popDescription_45wm0_373{font-size:.95rem;color:var(--text-secondary);line-height:1.6;padding:var(--space-3) 0 0;border-top:1px solid var(--border-primary)}._popDescription_45wm0_373 strong{color:var(--text-primary);font-weight:800}._seasonalChart_45wm0_386{display:flex;align-items:flex-end;height:160px;gap:8px;padding-top:var(--space-4)}._seasonalBarContainer_45wm0_394{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}._seasonalBar_45wm0_394{width:100%;background:var(--accent);border-radius:6px 6px 2px 2px;opacity:.8;transition:all var(--transition-fast)}._seasonalBar_45wm0_394:hover{opacity:1;transform:scaleY(1.03)}._seasonalLabel_45wm0_416{font-size:.75rem;color:var(--text-tertiary);margin-top:10px;font-weight:700;text-transform:uppercase}._genreList_45wm0_424{display:flex;flex-direction:column;gap:var(--space-6);padding-top:var(--space-2)}._genreRow_45wm0_431{display:flex;flex-direction:column;gap:var(--space-2)}._genreInfo_45wm0_437{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}._genreName_45wm0_444{font-weight:800;font-size:1rem;color:var(--text-primary);letter-spacing:-.01em}._genreCount_45wm0_451{font-size:.8rem;color:var(--text-tertiary);font-weight:700;text-transform:uppercase}._genreBarBg_45wm0_458{height:12px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}._genreBar_45wm0_458{height:100%;border-radius:var(--radius-full);transition:width 1.5s var(--ease-smooth)}._warningSection_45wm0_471{border-top:1px solid color-mix(in srgb,var(--color-danger) 30%,transparent);padding-top:var(--space-6);animation:_slideUpIn_45wm0_1 .45s var(--ease-smooth) .15s both}._warningHeader_45wm0_477{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);color:var(--color-danger)}._warningHeader_45wm0_477 h3{font-size:1.2rem;font-weight:800;margin:0;letter-spacing:-.03em;text-transform:uppercase}._droppedGrid_45wm0_493{display:flex;flex-direction:column}._droppedCard_45wm0_498{padding:var(--space-3) 0;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border-primary)}._droppedName_45wm0_507{font-weight:800;color:var(--text-primary);font-size:.95rem;letter-spacing:-.01em}._droppedDate_45wm0_514{font-size:.85rem;color:var(--text-tertiary);font-weight:600}@keyframes _fadeIn_45wm0_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUpIn_45wm0_1{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){._header_45wm0_1{flex-direction:column;align-items:flex-start;gap:var(--space-6)}._statsGrid_45wm0_52{grid-template-columns:repeat(2,minmax(0,1fr))}._chartsContainer_45wm0_258{grid-template-columns:1fr}._chartWrapper_45wm0_268+._chartWrapper_45wm0_268{border-top:1px solid var(--border-primary)}._chartWrapper_45wm0_268{padding:var(--space-5) 0}._heatmapLayout_45wm0_157{flex-direction:column-reverse}._genreGrid_45wm0_561{grid-template-columns:1fr}._droppedCard_45wm0_498{align-items:flex-start;flex-direction:column;gap:var(--space-1)}}._genreGrid_45wm0_561{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 var(--space-6);margin-bottom:var(--space-10);border-top:1px solid var(--border-primary)}._genreCard_45wm0_579{padding:var(--space-5) 0;position:relative;border-bottom:1px solid var(--border-primary)}._rankBadge_45wm0_585{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center}._rankNumber_45wm0_598{color:var(--accent-text);font-weight:700;font-size:1.1rem}._genreTitle_45wm0_604{font-size:1.25rem;font-weight:800;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:-.01em}._genreStats_45wm0_612{display:flex;gap:1rem;margin-bottom:1rem;font-size:.85rem;color:var(--text-secondary)}._posterRow_45wm0_620{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.5rem}._miniPoster_45wm0_627{aspect-ratio:2/3;width:100%;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-primary);transition:transform var(--transition-fast)}._miniPoster_45wm0_627:hover{transform:scale(1.05);border-color:var(--accent)}._genreCardSkeleton_45wm0_641{padding:var(--space-5) 0;border-bottom:1px solid var(--border-primary);animation:_pulse_45wm0_1 1.5s ease-in-out infinite}._skeletonRank_45wm0_647{width:32px;height:32px;background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);border-radius:50%;margin-bottom:.5rem}._skeletonTitle_45wm0_661{height:1.25rem;width:60%;background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);border-radius:4px;margin-bottom:.75rem}._skeletonStats_45wm0_674{height:1rem;background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);border-radius:4px;margin-bottom:1rem}._skeletonPosters_45wm0_686{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}._skeletonPosters_45wm0_686:before{content:"";display:block;height:100%;background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);border-radius:4px}@keyframes _pulse_45wm0_1{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}._recSection_45wm0_717{margin-top:2rem}._recHeader_45wm0_721{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4)}._recSection_45wm0_717 h3{font-size:1.5rem;font-weight:800;margin:0 0 .25rem;letter-spacing:-.03em}._recSubtext_45wm0_736{font-size:.85rem;color:var(--text-tertiary);margin-bottom:1rem}._recControls_45wm0_742{display:flex;gap:var(--space-2);flex-wrap:wrap}._recControlBtn_45wm0_748{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}._recControlBtn_45wm0_748:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-accent);background:var(--bg-tertiary)}._recControlBtn_45wm0_748:focus-visible,._recPosterButton_45wm0_776:focus-visible,._recAddBtn_45wm0_777:focus-visible{outline:2px solid var(--accent);outline-offset:2px}._recControlBtn_45wm0_748:disabled{opacity:.6;cursor:wait}._recGrid_45wm0_787{display:flex;flex-direction:column;border-top:1px solid var(--border-primary)}._recEmpty_45wm0_793{margin:0;padding:var(--space-5) 0;border-top:1px solid var(--border-primary);color:var(--text-secondary);font-size:.9rem}._recCard_45wm0_801{padding:var(--space-5) 0;display:flex;gap:var(--space-5);border-bottom:1px solid var(--border-primary)}._recPosterButton_45wm0_776{display:block;align-self:flex-start;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer;flex:none}._recCover_45wm0_819{width:72px;height:102px;object-fit:cover;border-radius:8px;flex-shrink:0}._recInfo_45wm0_827{display:flex;flex-direction:column;gap:6px;min-width:0}._recTitle_45wm0_834{font-weight:800;color:var(--text-primary);font-size:1rem;text-decoration:none}._recTitle_45wm0_834:hover{text-decoration:underline}._recMatch_45wm0_845{font-size:.8rem;font-weight:700;color:var(--accent)}._recMeta_45wm0_851{font-size:.8rem;color:var(--text-tertiary)}._recWhy_45wm0_856{font-size:.82rem;color:var(--text-secondary)}._recWhy_45wm0_856 strong{color:var(--accent-light)}._recNote_45wm0_865{font-size:.8rem;color:var(--text-tertiary);font-style:italic}._recAddBtn_45wm0_777{margin-top:auto;align-self:flex-start;background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:8px;padding:6px 12px;font-size:.8rem;font-weight:700;cursor:pointer}._recAddBtn_45wm0_777:hover:not(:disabled){border-color:var(--accent)}._recAddBtn_45wm0_777:disabled{opacity:.6;cursor:default}@media(max-width:768px){._recHeader_45wm0_721{align-items:flex-start;flex-direction:column}}._loading_45wm0_900{padding:var(--space-16) var(--space-4);text-align:center;color:var(--text-muted)}._error_45wm0_906{padding:var(--space-16) var(--space-4);text-align:center;color:var(--color-danger)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as U,d as k,h as L,T as E,u,S as y}from"./vendor-core-DfaOB3Rn.js";import{M as F}from"./MediaCard-B-TmXdgl.js";import{L as N}from"./LibraryListPage-CNjzasIi.js";import{j as _,u as z,k as O,l as Q,a as Y,m as q,n as D,o as G,p as T,A as H,b as K}from"./AsmrPopup-Cc-aIYXd.js";import{u as Z}from"./useAsmrPopup-BBmHrx9v.js";import{A as J}from"./AsmrResetProgressModal-D4Mp_-lx.js";import{h}from"./index-CPhXtUuw.js";import"./vendor-icons-C1Pj_eSX.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";import"./MatureConsentModal-CEoZ_OA0.js";import"./SkeletonGrid-DqN0laN_.js";import"./ErrorMessage-hMt90aG4.js";import"./LibraryListPage.module-r6k9nyT9.js";import"./vendor-query-BBT5_sHx.js";import"./libraryInvalidation-hcASRQHn.js";import"./usePopup-DS9jMzp6.js";import"./ResetProgressModal-BdcBPlC1.js";const V=["All","Continue Listening",...T],A=24;function W(a){const d=a.currentTime??0,i=a.duration??0,r=(a.trackIndex??0)+1;return i>0?`Track ${r} · ${h(d)} / ${h(i)}`:`Track ${r}`}function Lt(){const{filter:a="All"}=U(),[d,i]=k(1),[r,m]=k(null);L(()=>{document.title="Listening List - dango"},[]),L(()=>{i(1)},[a]);const o=a==="Continue Listening",n=_(o?"All":a,d,A),l=z(100),f=O(),C=Q(),{toggle:v,bookmarkedIds:R}=Y(),{popup:s,openPopup:I,scheduleClose:c,cancelClose:p,closePopup:B}=Z(),P=q(),S=D(),j=G(),M=E(()=>o?(l.data?.data??[]).map(t=>{const e=t.currentTime??0,g=t.duration??0,b=t.rjCode||t.id;return{key:t.id,libId:t.id,rjCode:b,title:t.title||"",thumbnail:t.thumbnail||"",status:t.watchlistStatus??"",isAdult:!!t.isAdult,trackLabel:`Track ${(t.trackIndex??0)+1}`,progressPercent:g>0?Math.min(100,e/g*100):0,progressLabel:W(t),detailTarget:`/asmr/${encodeURIComponent(b)}`}}):(n.data?.data??[]).map(t=>{const e=t.rjCode||t.id;return{key:t.id,libId:t.id,rjCode:e,title:t.title,thumbnail:t.thumbnail||"",status:t.status,isAdult:!!t.isAdult,trackLabel:t.lastTrackIndex!==null&&t.lastTrackIndex!==void 0?`Track ${t.lastTrackIndex+1}`:void 0,progressPercent:void 0,progressLabel:void 0,detailTarget:`/asmr/${encodeURIComponent(e)}`}}),[o,l.data,n.data]),w=o?l.data?.total??0:n.data?.total??0,x=o?l.isLoading:n.isLoading,$=o?l.error:n.error;return u(N,{headerTitle:"My Listening List",headerSubtitle:"Track and manage your ASMR collection",filters:V,filterBy:a,filterBasePath:"/listening-list",continueFilter:"Continue Listening",statusOptions:[...T],entries:M,total:w,isLoading:x,error:$,page:d,pageSize:A,onPageChange:i,emptyTitle:"Your listening list is looking a bit lonely",emptyFilteredText:"No works match this filter.",emptyAllText:"Let's find something to listen to!",browseLabel:"Browse ASMR",browseTarget:"/asmr",removeListLabel:"Remove from Listening List",listNoun:"listening list",skipConfirmKey:"asmrSkipRemoveConfirmation",onBulkStatus:(t,e)=>P.mutate({ids:t,status:e}),onBulkRemove:t=>{o?j.mutate({ids:t}):S.mutate({ids:t})},onStatusChange:(t,e)=>C.mutate({id:t,status:e}),onRemoveItem:t=>f.mutate({id:t}),renderCard:t=>u(F,{item:{id:t.libId,title:t.title,thumbnail:t.thumbnail,typeBadge:t.rjCode||void 0,chapterBadge:t.trackLabel??null,isAdult:t.isAdult},linkTo:t.detailTarget,hoverIcon:"info",layout:"horizontal",showInfoButton:!o,progress:t.progressPercent!==void 0&&t.progressLabel?{percent:t.progressPercent,label:t.progressLabel}:void 0,showProgress:o,display:{elements:{poster:{typeBadge:!0,chapterBadge:!0,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!0,meta:!1}}},onRemove:o?()=>m(t):void 0,onOpenDetails:o?void 0:e=>I(e,{rjCode:t.rjCode,title:t.title,thumbnail:t.thumbnail,isAdult:t.isAdult,listenTarget:t.detailTarget,progressLabel:t.progressLabel}),onPopupHoverIntent:e=>e?p():c(),rawThumbnail:!0}),modals:u(y,{children:[u(J,{workId:r?r.libId:null,title:r?.title,onClose:()=>m(null)}),s&&u(H,{data:s.data,anchorRect:s.rect,bookmarked:R.has(K(s.data.rjCode)),onToggleBookmark:()=>v({rjCode:s.data.rjCode,title:s.data.title,thumbnail:s.data.thumbnail||"",isAdult:s.data.isAdult}),onMouseEnter:p,onMouseLeave:c,onRequestClose:B})]})})}export{Lt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as le,d as O,T as re,h as U,u as a,m as ne,S as q}from"./vendor-core-DfaOB3Rn.js";import{I as M}from"./vendor-icons-C1Pj_eSX.js";import{T as se}from"./ToggleSwitch-CN_ppEc9.js";import{M as oe}from"./MatureConsentModal-CEoZ_OA0.js";import{E as ie}from"./ErrorMessage-hMt90aG4.js";import{M as ce,P as de}from"./MediaCard-B-TmXdgl.js";import{u as ue,M as ge}from"./useMangaPopup-2lqmdmS5.js";import{e as pe,af as he,m as me,aa as ve}from"./index-CPhXtUuw.js";import{u as be,m as D,i as fe,a as Se}from"./useMangaLibrary-DbvnlYV9.js";import{u as Te}from"./useProviders-BgAgACS8.js";import{s as l}from"./Manga.module-depGEacJ.js";import{p as c}from"./page.module-C1MlZzf3.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";import"./usePopup-DS9jMzp6.js";import"./vendor-query-BBT5_sHx.js";import"./libraryInvalidation-hcASRQHn.js";const ye=[{value:"popular",label:"Popular"},{value:"latest",label:"Latest"},{value:"rating",label:"Top Rated"},{value:"followed",label:"Most Followed"}],Me=[{value:"",label:"Any Status"},{value:"ongoing",label:"Ongoing"},{value:"completed",label:"Completed"},{value:"hiatus",label:"Hiatus"},{value:"cancelled",label:"Cancelled"}],Ne=[{value:"",label:"Any Status"},{value:"publishing",label:"Publishing"},{value:"finished",label:"Finished"},{value:"on hiatus",label:"On Hiatus"},{value:"discontinued",label:"Discontinued"}],Ce=[{value:"",label:"All Types"},{value:"manga",label:"Manga"},{value:"novel",label:"Novel"},{value:"one-shot",label:"One-Shot"},{value:"doujinshi",label:"Doujinshi"}],Pe=[{value:"safe",label:"Safe"}],Ie=[{value:"safe",label:"Safe"},{value:"suggestive",label:"Suggestive"},{value:"erotica",label:"Erotica"},{value:"pornographic",label:"Pornographic"}];function He(){const[n,N]=le(),{hasConsent:v,grant:_}=pe(),[j,b]=O(!1),[C,P]=O(n.get("q")||""),{options:I,isLoading:R,refetch:G}=Te(),d=re(()=>I.filter(e=>e.kind==="manga").map(e=>({value:e.id,label:e.label})),[I]),f=n.get("provider")||"",S=f&&d.some(e=>e.value===f)?f:"",T=n.get("q")||"",L=parseInt(n.get("page")||"1"),$=n.get("sort")||"popular",k=n.get("status")||"",w=n.get("type")||"",u=n.get("rating")||"safe",A=n.get("id")||"";U(()=>{document.title="Manga - dango"},[]);const o=v,y=o?u:"safe",H=o?Ie:Pe,i=(e,t=!1)=>{const r=new URLSearchParams(n);for(const[m,E]of Object.entries(e))E?r.set(m,E):r.delete(m);t&&r.delete("page"),N(r)},g=he({provider:S,query:T,page:L,sort:$,status:k,type:w,rating:y,mature:o}),h=g.data?.items??[],z=g.data?.hasNext??!1,p=S||h[0]?.provider||"",{toggle:V,bookmarkedIds:X}=be(),{popup:s,openPopup:K,scheduleClose:x,cancelClose:B,closePopup:Q}=ue();if(U(()=>{P(T)},[T]),A){const e=new URLSearchParams;o&&u!=="safe"&&e.set("rating",u);const t=n.get("chapter")||"";t&&e.set("chapter",t);const r=e.toString()?`?${e.toString()}`:"",m=`/manga/${p||"mangadex"}/${encodeURIComponent(A)}${t?`/read${r}`:r}`;return a(ne,{to:m,replace:!0})}const W=e=>{e.preventDefault(),ve(),i({q:C},!0)},Y=e=>{e.currentTarget.checked&&!v&&b(!0)},J=()=>{_(),b(!1),i({},!0)},Z=()=>{b(!1)},F=e=>{const t=new URLSearchParams;o&&u!=="safe"&&t.set("rating",u);const r=t.toString()?`?${t.toString()}`:"";return`/manga/${e.provider}/${encodeURIComponent(e.id)}${r}`},ee=p==="mangapill"?Ne:Me,ae=p==="mangapill",te=p==="mangadex";return a("div",{className:c.page,children:[a("div",{className:c.header,children:[a("h1",{className:c.pageTitle,children:[a(M,{name:"book"})," Manga"]}),a("form",{className:c.searchForm,onSubmit:W,children:[a("input",{className:c.searchInput,value:C,onChange:e=>P(e.currentTarget.value),placeholder:"Search manga titles...","aria-label":"Search manga"}),a("button",{className:c.searchBtn,type:"submit","aria-label":"Search",children:a(M,{name:"search",size:14})})]}),a("select",{className:l.select,value:S,disabled:d.length===0,onChange:e=>{const t=new URLSearchParams(n);t.set("provider",e.currentTarget.value),t.delete("page"),t.delete("id"),t.delete("chapter"),t.delete("status"),t.delete("type"),N(t)},"aria-label":"Manga provider",children:d.length===0?a("option",{value:"",children:R?"Loading providers…":"No providers available"}):a(q,{children:[a("option",{value:"",children:"Auto"}),d.map(e=>a("option",{value:e.value,children:e.label},e.value))]})}),d.length===0&&!R&&a("button",{className:c.searchBtn,type:"button",onClick:()=>G(),"aria-label":"Retry loading providers",children:a(M,{name:"redo",size:14})})]}),a("div",{className:l.filterRow,children:[p==="mangadex"&&a("select",{className:l.select,value:$,onChange:e=>i({sort:e.currentTarget.value},!0),"aria-label":"Sort manga",children:ye.map(e=>a("option",{value:e.value,children:e.label},e.value))}),a("select",{className:l.select,value:k,onChange:e=>i({status:e.currentTarget.value},!0),"aria-label":"Filter by status",children:ee.map(e=>a("option",{value:e.value,children:e.label},e.label))}),ae&&a("select",{className:l.select,value:w,onChange:e=>i({type:e.currentTarget.value},!0),"aria-label":"Filter by type",children:Ce.filter(e=>e.value!=="doujinshi"||o).map(e=>a("option",{value:e.value,children:e.label},e.value))}),te&&a("select",{className:l.select,value:y,onChange:e=>i({rating:e.currentTarget.value},!0),"aria-label":"Content rating",children:H.map(e=>a("option",{value:e.value,children:e.label},e.value))}),!v&&a("div",{className:l.matureToggleWrap,children:[a("label",{className:l.matureLabel,htmlFor:"manga-mature-toggle",children:"Mature"}),a(se,{id:"manga-mature-toggle",isChecked:!1,onChange:Y})]})]}),g.isError?a(ie,{message:"Failed to load manga. Please try again."}):g.isLoading&&h.length===0?a("div",{className:l.grid,"aria-hidden":!0,children:Array.from({length:12}).map((e,t)=>a("div",{className:l.skeletonCard,children:[a("div",{className:`${l.skeletonThumb} ${l.shimmer}`}),a("div",{className:`${l.skeletonLine} ${l.shimmer}`,style:{width:"88%"}}),a("div",{className:`${l.skeletonLine} ${l.shimmer}`,style:{width:"55%"}})]},t))}):h.length===0?a("p",{className:l.statusMsg,children:"No titles found. Try another search or provider."}):a(q,{children:[a("div",{className:`${l.grid} ${g.isFetching?l.fetching:""}`,children:h.map(e=>{const t=D(e.provider,e.id);return a(ce,{item:{id:t,title:e.title,...Se(e),thumbnail:me(e.provider,e.cover),typeBadge:e.type||void 0,chapterBadge:e.latestChapter?`Ch. ${e.latestChapter}`:null,isAdult:fe(e)},linkTo:F(e),hoverIcon:"info",display:{elements:{poster:{typeBadge:!0,chapterBadge:!0,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!1,meta:!1}}},onOpenDetails:r=>K(r,{provider:e.provider,mangaId:e.id,title:e.title,altTitle:e.altTitle,cover:e.cover,contentRating:e.contentRating,readTarget:F(e),rating:y,mature:o}),onPopupHoverIntent:r=>r?B():x(),rawThumbnail:!0},`${e.provider}-${e.id}`)})}),a(de,{page:L,canGoNext:z,onChange:e=>i({page:String(e)}),variant:"labeled"})]}),s&&a(ge,{data:s.data,anchorRect:s.rect,bookmarked:X.has(D(s.data.provider,s.data.mangaId)),onToggleBookmark:()=>V({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:B,onMouseLeave:x,onRequestClose:Q}),j&&a(oe,{isOpen:!0,scope:"section",showResetHint:!0,onClose:Z,onGrant:J})]})}export{He as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as $e,p as ke,h as ue,d as i,T as me,u as t,S as he}from"./vendor-core-DfaOB3Rn.js";import{b as ge}from"./vendor-query-BBT5_sHx.js";import{o as qe,e as Fe,B as W,aa as Ue,t as q,K as Ye}from"./index-CPhXtUuw.js";import{I as pe}from"./vendor-icons-C1Pj_eSX.js";import{P as ve}from"./MediaCard-B-TmXdgl.js";import{A as xe}from"./AnimeCard-B-3qrNhu.js";import{S as Ke}from"./SkeletonGrid-DqN0laN_.js";import{M as Ve}from"./MatureConsentModal-CEoZ_OA0.js";import{E as He}from"./ErrorMessage-hMt90aG4.js";import{u as Qe}from"./useProviders-BgAgACS8.js";import{s as a}from"./Search.module-C_qwCdHS.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";import"./useAnimeInfoData-BsFz9uiF.js";import"./QueueOptionsButton-DqoDQST5.js";import"./playbackCompletion-D1Gm0GbH.js";const We="_shrinkSelect_130sm_1",ze="_tightGrid_130sm_7",z={shrinkSelect:We,tightGrid:ze},je=[{value:"anilist",label:"AniList"},{value:"mal",label:"MAL"}],Ze=[{value:"POPULARITY_DESC",label:"Popularity"},{value:"TRENDING_DESC",label:"Trending"},{value:"SCORE_DESC",label:"Score"},{value:"START_DATE_DESC",label:"Newest"},{value:"FAVOURITES_DESC",label:"Favourites"}],Je=[{value:"",label:"All Status"},{value:"RELEASING",label:"Currently Airing"},{value:"FINISHED",label:"Finished"},{value:"NOT_YET_RELEASED",label:"Not Yet Released"}],Xe=[{value:"",label:"Relevance"},{value:"visits:desc",label:"Most Visited"},{value:"title:asc",label:"Title A-Z"}],et={recent:"Latest",popular:"Popular",views:"Most Viewed",rating:"Top Rated",random:"Random"},tt=[{value:"ALL",label:"All Seasons"},{value:"Winter",label:"Winter"},{value:"Spring",label:"Spring"},{value:"Summer",label:"Summer"},{value:"Fall",label:"Fall"}],fe=m=>m.split("-").map(u=>u&&u[0].toUpperCase()+u.slice(1)).join(" "),at=new Set(["page","limit","year","minScore","minEpisodes"]),rt=new Set(["provider","query","page","limit","type","status","season","year","country","genres","genre","excludeGenres","sortBy","order","studio","blacklist","minScore","minEpisodes"]);function st(m){const u=new URLSearchParams(m),s={};for(const[b,y]of u.entries())rt.has(b)&&(at.has(b)?s[b]=Number(y)||0:s[b]=y);return s}function Ct(){const m=$e(),u=qe(),[s,b]=ke(),{hasConsent:y,grant:Se}=Fe();ue(()=>{document.title="Mature - dango"},[]);const[l,be]=i(s.get("provider")||"anilist"),[N,j]=i(s.get("query")||""),[L,F]=i(s.get("query")||""),[O,g]=i(parseInt(s.get("page")||"1",10)||1),[I,U]=i(()=>{const e=s.get("sortBy");return e||(l==="mal"?"SCORE_DESC":"POPULARITY_DESC")}),[_,Z]=i(s.get("sortBy")||""),[C,ye]=i(s.get("status")||""),[D,Ne]=i(s.get("season")||"ALL"),[G,Ce]=i(s.get("year")||"ALL"),[p,M]=i(s.get("genre")||s.get("genres")||""),[Y,Ae]=i(s.get("order")||"recent"),[x,Ee]=i(s.get("studio")||""),[B,Te]=i(s.get("studio")||""),[J,X]=i([]),[K,Pe]=i(!1),[Re,ee]=i(null),{options:te}=Qe(),ae=me(()=>te.filter(e=>e.mature&&(e.kind??"anime")==="anime"),[te]),re=me(()=>[...je,...ae.map(e=>({value:e.id,label:e.label}))],[ae]),{data:w}=ge({...u.data.matureFilters.queryOptions(),enabled:y,staleTime:1/0}),c=l==="anilist"||l==="mal",V=c?void 0:w?.providers?.[l],T=V?.browse,P=V?.genres??[],A=V?.orders??[],se=A.length>0&&!A.includes(Y)?A[0]:Y,$=!c&&(T?.genre===!0||P.length>0||J.length>0),v=!c&&(T?.order===!0||A.length>0),E=!c&&T?.studio===!0,le=!c&&T?.sort===!0,H=c?14:T?.pageSize??14,f=e=>{const r=new URLSearchParams;if(e.provider!=="anilist"&&r.set("provider",e.provider),e.query.trim()&&r.set("query",e.query.trim()),e.page>1&&r.set("page",String(e.page)),e.provider==="anilist")e.sort!=="POPULARITY_DESC"&&r.set("sortBy",e.sort),e.status&&r.set("status",e.status),e.season!=="ALL"&&r.set("season",e.season),e.year!=="ALL"&&r.set("year",e.year);else if(e.provider==="mal")e.sort!=="SCORE_DESC"&&r.set("sortBy",e.sort),e.status&&r.set("status",e.status);else{const n=w?.providers?.[e.provider]?.browse,d=w?.providers?.[e.provider]?.orders??[],o=d.length>0&&!d.includes(e.remoteOrder)?d[0]:e.remoteOrder;(!n||n.sort)&&e.remoteSort&&r.set("sortBy",e.remoteSort),(!n||n.genre)&&e.genre&&r.set("genre",e.genre),(!n||n.order)&&o!==(d[0]??"recent")&&r.set("order",o),(!n||n.studio)&&e.studio.trim()&&r.set("studio",e.studio.trim())}b(r,{replace:!0})},S=(e={})=>({provider:l,query:L,page:O,sort:I,remoteSort:_,status:C,season:D,year:G,genre:p,remoteOrder:Y,studio:B,...e}),Le=(()=>{const e=new URLSearchParams;return e.set("provider",l),L.trim()&&e.set("query",L.trim()),e.set("page",String(O)),e.set("limit",String(H)),l==="anilist"&&(e.set("sortBy",I),C&&e.set("status",C),D!=="ALL"&&e.set("season",D),G!=="ALL"&&e.set("year",G)),l==="mal"?(e.set("sortBy",I),C&&e.set("status",C)):c||($&&p&&e.set("genre",p),v&&e.set("order",se),le&&_&&e.set("sortBy",_),E&&B.trim()&&e.set("studio",B.trim())),e.toString()})(),{data:h,isLoading:Oe,isError:Ie,error:_e}=ge({...u.data.matureSearch.queryOptions(st(Le)),enabled:y});ue(()=>{const e=h?.genres;!c&&P.length===0&&e&&e.length>0&&X(r=>{const n=new Set(r.map(o=>o.slug)),d=[...r];for(const o of e)o.slug&&!n.has(o.slug)&&(n.add(o.slug),d.push(o));return d.length===r.length?r:d})},[h,l,c,P.length]);const k=(h?.data||[]).map(e=>({...e,isAdult:!0})),ie=h?.hasMore??!1,ne=h?.total!=null?Math.max(1,Math.ceil(h.total/H)):void 0,R=()=>{Ue(),g(1);let e=p;!c&&!v&&N.trim()&&(e=""),M(e),E&&Te(x),F(N),f(S({query:N,page:1,genre:e,studio:E?x:B}))},De=e=>{be(e),g(1),Z(""),M(""),X([]),e==="mal"?U("SCORE_DESC"):e==="anilist"&&U("POPULARITY_DESC"),F(N),f(S({provider:e,page:1,remoteSort:"",genre:"",query:N}))},Ge=e=>{M(e),g(1),e&&(j(""),F("")),f(S({genre:e,page:1,query:e?"":L}))},oe=e=>{g(e),f(S({page:e})),window.scrollTo({top:0,behavior:"smooth"})},Me=async(e,r)=>{const n=r.id||r._id;if(l!=="mal"&&!/^\d+$/.test(n)&&(e.preventDefault(),e.stopPropagation(),!Re)){ee(n);try{if(l!=="anilist"){let o=!1;try{o=(await q.data.anilistStatus.query())?.available===!0}catch{o=!1}if(o){const de=await q.data.matureResolve.query({title:r.name});m(`/anime/${de.id}`);return}const ce=await q.data.matureAllocate.mutate({provider:l,nativeId:n,title:r.name,thumbnail:r.thumbnail});if(!ce?.id)throw new Error("Allocate failed");m(`/anime/${ce.id}`);return}const d=await q.data.matureResolve.query({title:r.name});m(`/anime/${d.id}`)}catch{Ye.error("Could not match this title on AniList")}finally{ee(null)}}},Q=new Date().getFullYear(),Be=[{value:"ALL",label:"All Years"},...Array.from({length:Q-1980+1},(e,r)=>({value:String(Q-r),label:String(Q-r)}))],we=P.length>0?P.map(e=>({value:e,label:fe(e)})):J.map(e=>({value:e.slug,label:e.name}));return y?t("div",{className:"page-container",children:[t("div",{className:a.header,children:[t("h1",{className:a.pageTitle,children:"Mature"}),t("p",{className:a.pageSubtitle,children:"Browse 18+ titles across AniList and streaming providers"})]}),t("div",{className:a.filterContainer,children:[t("div",{className:a.searchBarWrapper,children:[t("div",{className:a.inputIconWrapper,children:[t(pe,{name:"search",className:a.searchIcon}),t("input",{type:"text",placeholder:`Search ${re.find(e=>e.value===l)?.label}...`,value:N,onChange:e=>j(e.currentTarget.value),onKeyDown:e=>{e.key==="Enter"&&R()},className:a.searchInput})]}),t("div",{className:a.searchActions,children:[t("select",{value:l,onChange:e=>De(e.currentTarget.value),className:a.providerSelect,"aria-label":"Provider",children:re.map(e=>t("option",{value:e.value,children:e.label},e.value))}),t(W,{onClick:R,className:a.searchBtn,children:"Search"}),c&&t("button",{onClick:()=>Pe(!K),className:`${a.filterToggleBtn} ${K?a.active:""}`,children:[t(pe,{name:"filter"})," Filters"]}),le&&t("select",{value:_,onChange:e=>{Z(e.currentTarget.value),g(1),f(S({remoteSort:e.currentTarget.value,page:1}))},className:a.providerSelect,"aria-label":"Sort",children:Xe.map(e=>t("option",{value:e.value,children:e.label},e.value))})]})]}),(l==="anilist"||l==="mal")&&t("div",{className:`${a.advancedFilters} ${K?a.show:""}`,children:[t("div",{className:a.filterDivider}),t("div",{className:a.filterGrid,children:[t("div",{className:a.filterItem,children:[t("label",{children:"Sort By"}),t("select",{value:I,onChange:e=>U(e.currentTarget.value),children:Ze.map(e=>t("option",{value:e.value,children:e.label},e.value))})]}),t("div",{className:a.filterItem,children:[t("label",{children:"Status"}),t("select",{value:C,onChange:e=>ye(e.currentTarget.value),children:Je.map(e=>t("option",{value:e.value,children:e.label},e.value))})]}),l==="anilist"&&t(he,{children:[t("div",{className:a.filterItem,children:[t("label",{children:"Season"}),t("select",{value:D,onChange:e=>Ne(e.currentTarget.value),children:tt.map(e=>t("option",{value:e.value,children:e.label},e.value))})]}),t("div",{className:a.filterItem,children:[t("label",{children:"Year"}),t("select",{value:G,onChange:e=>Ce(e.currentTarget.value),children:Be.map(e=>t("option",{value:e.value,children:e.label},e.value))})]})]})]}),t("div",{className:a.filterActions,children:t(W,{onClick:R,className:a.searchBtn,children:"Apply Filters"})})]}),!c&&!!w&&($||v||E)&&t("div",{className:`${a.advancedFilters} ${a.show}`,children:[t("div",{className:a.filterDivider}),t("div",{className:`${a.filterGrid} ${z.tightGrid}`,children:[v&&t("div",{className:`${a.filterItem} ${z.shrinkSelect}`,children:[t("label",{children:"Order"}),t("select",{value:se,onChange:e=>{Ae(e.currentTarget.value),g(1),f(S({remoteOrder:e.currentTarget.value,page:1}))},children:(A.length>0?A:["recent"]).map(e=>t("option",{value:e,children:et[e]||e},e))})]}),$&&t("div",{className:`${a.filterItem} ${z.shrinkSelect}`,children:[t("label",{children:"Genre"}),t("select",{value:p,onChange:e=>{v?(M(e.currentTarget.value),g(1),f(S({genre:e.currentTarget.value,page:1}))):Ge(e.currentTarget.value)},children:[t("option",{value:"",children:"All Genres"}),we.map(e=>t("option",{value:e.value,children:e.label},e.value))]})]}),E&&t("div",{className:a.filterItem,children:[t("label",{children:"Studio"}),t("input",{type:"text",placeholder:"Studio name...",value:x,onChange:e=>Ee(e.currentTarget.value),onKeyDown:e=>{e.key==="Enter"&&R()},className:a.searchInput})]})]}),p&&$&&!v&&t("p",{className:a.pageSubtitle,children:["Browsing the ",fe(p)," genre - search text is ignored while a genre is selected."]}),(v||E)&&t("div",{className:a.filterActions,children:t(W,{onClick:R,className:a.searchBtn,children:"Apply Filters"})})]})]}),Ie&&t(He,{message:_e?.message||"Search failed"}),Oe?t(Ke,{count:H}):k.length===0?t("div",{className:a.noResults,children:[t("h3",{children:"No results found"}),t("p",{children:"Try a different query, genre or provider"})]}):t(he,{children:[t("div",{className:a.resultsHeader,children:[t("h2",{className:a.resultsTitle,children:[h?.total??k.length," result",(h?.total??k.length)===1?"":"s"]}),t("div",{className:a.pagination,children:t(ve,{page:O,totalPages:ne,canGoNext:ie,onChange:oe,variant:"labeled"})})]}),t("div",{className:a.resultsGrid,children:k.map(e=>t("div",{onClickCapture:r=>Me(r,e),children:t(xe,{anime:e})},`${l}-${e._id}`))}),t("div",{className:a.bottomPagination,children:t("div",{className:a.pagination,children:t(ve,{page:O,totalPages:ne,canGoNext:ie,onChange:oe,variant:"labeled"})})})]})]}):t(Ve,{isOpen:!0,onClose:()=>m("/"),onGrant:Se})}export{Ct as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as $,A as k,h as U,T as Re,u as e,g as x,S as H,$ as Ie,L as W,q as P,N as ze,a as ke}from"./vendor-core-DfaOB3Rn.js";import{I as N}from"./vendor-icons-C1Pj_eSX.js";import{F as $e,t as Se,d as Le,u as De,e as xe,f as Oe}from"./index-CPhXtUuw.js";import{a as Ae,b as je,f as Fe,s as Ue}from"./vendor-ui-3qrARCPr.js";import{u as ae}from"./useIsMobile-Dvx1uJ82.js";import{M as We}from"./MatureConsentModal-CEoZ_OA0.js";const Ve="_pagination_zelsc_1",Ge="_pageBtn_zelsc_7",Xe="_pageInfo_zelsc_38",Ye="_pagePicker_zelsc_48",He="_dropdown_zelsc_52",Ke="_flipDown_zelsc_68",qe="_jumpRow_zelsc_73",Je="_jumpInput_zelsc_79",Qe="_jumpGo_zelsc_90",Ze="_optionList_zelsc_105",en="_optionBtn_zelsc_113",nn="_current_zelsc_132",w={pagination:Ve,pageBtn:Ge,pageInfo:Xe,pagePicker:Ye,dropdown:He,flipDown:Ke,jumpRow:qe,jumpInput:Je,jumpGo:Qe,optionList:Ze,optionBtn:en,current:nn},Bt=({page:n,totalPages:c,canGoNext:l,onChange:d,isLoading:h=!1,variant:f="compact"})=>{const[s,y]=$(!1),[b,_]=$(""),[v,B]=$(0),[C,R]=$(!1),T=k(null),u=k(null),g=k(null);U(()=>{if(!s)return;const r=m=>{T.current&&!T.current.contains(m.target)&&y(!1)},t=m=>{m.key==="Escape"&&y(!1)};return document.addEventListener("pointerdown",r),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",r),document.removeEventListener("keydown",t)}},[s]),U(()=>{if(!s)return;B(0),R(!1);const r=requestAnimationFrame(()=>{const t=g.current?.getBoundingClientRect(),m=u.current?.getBoundingClientRect();if(!t)return;let M=0;t.right>window.innerWidth-8?M=window.innerWidth-8-t.right:t.left<8&&(M=8-t.left),B(Math.round(M)),m&&m.top<t.height+24&&R(!0)});return()=>cancelAnimationFrame(r)},[s]);const a=c,S=Re(()=>{if(a!==void 0){if(a<=100)return Array.from({length:a},(m,M)=>M+1);const t=new Set([1,a]);for(let m=n-10;m<=n+10;m++)m>=1&&m<=a&&t.add(m);return[...t].sort((m,M)=>m-M)}const r=l?n+1:n;return Array.from({length:r},(t,m)=>m+1)},[a,n,l]),E=r=>{const t=a!==void 0?Math.min(Math.max(1,r),a):Math.max(1,r);y(!1),_(""),t!==n&&d(t)},L=()=>{const r=parseInt(b,10);Number.isNaN(r)||E(r)},D=h||(a!==void 0?n>=a:!l);return e("div",{className:w.pagination,ref:T,children:[e("button",{className:w.pageBtn,onClick:()=>d(n-1),disabled:n<=1||h,"aria-label":"Previous page",children:[e(N,{name:"chevron-left",size:14}),f==="labeled"&&e("span",{children:"Previous"})]}),e("div",{className:w.pagePicker,ref:u,children:[e("button",{className:w.pageBtn,onClick:()=>{_(""),y(r=>!r)},disabled:h,"aria-label":"Jump to page","aria-expanded":s,children:e("span",{className:w.pageInfo,children:["Page ",e("strong",{children:n}),a!==void 0&&` of ${a}`]})}),s&&e("div",{ref:g,className:`${w.dropdown} ${C?w.flipDown:""}`,style:v!==0?{marginLeft:v}:void 0,children:[e("div",{className:w.jumpRow,children:[e("input",{className:w.jumpInput,type:"number",inputMode:"numeric",min:1,max:a,value:b,placeholder:"Page #",onChange:r=>_(r.currentTarget.value),onKeyDown:r=>{r.key==="Enter"&&L()}}),e("button",{className:w.jumpGo,onClick:L,children:"Go"})]}),e("div",{className:w.optionList,children:S.map(r=>e("button",{className:`${w.optionBtn} ${r===n?w.current:""}`,onClick:()=>E(r),disabled:r===n,children:r},r))})]})]}),e("button",{className:w.pageBtn,onClick:()=>d(n+1),disabled:D,"aria-label":"Next page",children:[f==="labeled"&&e("span",{children:"Next"}),e(N,{name:"chevron-right",size:14})]})]})},tn="_popupPortal_1d6yy_1",on="_popupContent_1d6yy_6",sn="_popupBackdrop_1d6yy_31",rn="_mobile_1d6yy_38",an="_header_1d6yy_62",cn="_title_1d6yy_67",ln="_altTitle_1d6yy_78",dn="_cover_1d6yy_87",un="_body_1d6yy_97",pn="_metaRow_1d6yy_104",_n="_metaItem_1d6yy_111",mn="_scoreIcon_1d6yy_117",fn="_synopsis_1d6yy_121",hn="_genres_1d6yy_143",gn="_genre_1d6yy_143",yn="_footer_1d6yy_158",vn="_primaryAction_1d6yy_167",Bn="_watchBtn_1d6yy_171",bn="_secondaryActions_1d6yy_194",wn="_watchlistBtn_1d6yy_199",Nn="_detailsBtn_1d6yy_200",Cn="_active_1d6yy_226",Pn="_loading_1d6yy_237",Mn="_spinner_1d6yy_247",i={popupPortal:tn,popupContent:on,popupBackdrop:sn,mobile:rn,header:an,title:cn,altTitle:ln,cover:dn,body:un,metaRow:pn,metaItem:_n,scoreIcon:mn,synopsis:fn,genres:hn,genre:gn,footer:yn,primaryAction:vn,watchBtn:Bn,secondaryActions:bn,watchlistBtn:wn,detailsBtn:Nn,active:Cn,loading:Pn,spinner:Mn},Tn=({anchorRect:n,onMouseEnter:c,onMouseLeave:l,onRequestClose:d,children:h})=>{const f=ae(),s=x.useMemo(()=>({getBoundingClientRect:()=>n}),[n]),{refs:y,floatingStyles:b}=Ae({placement:"right-start",middleware:[Fe({fallbackAxisSideDirection:"start"}),Ue({padding:20})],whileElementsMounted:je});x.useEffect(()=>{y.setPositionReference(s)},[y,s]),x.useEffect(()=>{if(!f)return;const v=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=v}},[f]);const _=e(H,{children:[f&&e("div",{className:i.popupBackdrop,onClick:()=>d?.()}),e("div",{ref:f?void 0:y.setFloating,className:`${i.popupPortal} ${f?i.mobile:""}`,style:f?void 0:b,onMouseEnter:c,onMouseLeave:l,children:e("div",{className:i.popupContent,children:h})})]});return Ie(_,document.body)},bt=({anchorRect:n,title:c,subtitle:l,cover:d,loading:h,error:f,meta:s=[],genres:y=[],synopsis:b,primaryAction:_,secondaryAction:v,bookmarked:B,bookmarkLabel:C="Watchlist",onToggleBookmark:R,extraActions:T,onMouseEnter:u,onMouseLeave:g,onRequestClose:a})=>{const S=k(!1),E=()=>{S.current=!0,u()},L=()=>{S.current=!1,g()},D=t=>{!t&&!S.current&&g()},r=!!_||!!v||!!T;return e(Tn,{anchorRect:n,onMouseEnter:E,onMouseLeave:L,onRequestClose:a,children:h?e("div",{className:i.loading,children:[e("div",{className:i.spinner}),e("span",{children:"Fetching details..."})]}):f?e("div",{className:i.loading,children:f}):e(H,{children:[c&&e("div",{className:i.header,children:[d&&e($e,{src:d,alt:c,loading:"lazy",decoding:"async",className:i.cover}),e("div",{className:i.title,children:c}),l&&e("div",{className:i.altTitle,children:l})]}),e("div",{className:i.body,children:[s.length>0&&e("div",{className:i.metaRow,children:s.map((t,m)=>e("div",{className:i.metaItem,children:[t.icon&&e(N,{name:t.icon,className:t.accent?i.scoreIcon:void 0,size:14}),e("span",{children:t.label})]},`${t.label}-${m}`))}),y.length>0&&e("div",{className:i.genres,children:y.map(t=>e("span",{className:i.genre,children:t},t))}),b&&e("div",{className:i.synopsis,children:b})]}),r&&e("div",{className:i.footer,children:[_&&e("div",{className:i.primaryAction,children:_.disabled?e("span",{className:i.watchBtn,"aria-disabled":"true",style:{opacity:.5,pointerEvents:"none"},children:[e(N,{name:_.icon??"play",size:14}),_.label]}):e(W,{to:_.to,className:i.watchBtn,onClick:a,children:[e(N,{name:_.icon??"play",size:14}),_.label]})}),e("div",{className:i.secondaryActions,children:[e("button",{className:`${i.watchlistBtn} ${B?i.active:""}`,onClick:t=>{t.preventDefault(),t.stopPropagation(),R()},children:[B?e(N,{name:"check",size:12}):e(N,{name:"plus",size:12}),e("span",{children:B?"Remove":C})]}),T?.(D),v&&e(W,{to:v.to,className:i.detailsBtn,onClick:a,children:[v.icon&&e(N,{name:v.icon,size:12}),e("span",{children:v.label})]})]})]})]})})},En=n=>!n||n.trim()===""?!0:n.includes("placeholder");function Rn(n,c){const[l,d]=$(c);return U(()=>{d(c)},[c]),U(()=>{if(!En(c)||!n)return;let h=!1;return Se.data.showMeta.query({id:n}).then(f=>{const s=f?.thumbnail;!h&&s&&s.trim()!==""&&!s.includes("placeholder")&&d(s)}).catch(()=>{}),()=>{h=!0}},[n,c]),{thumbnail:l}}const In="_cardWrapper_riden_1",zn="_card_riden_1",kn="_cardButton_riden_34",$n="_hoverOverlay_riden_61",Sn="_matureOverlay_riden_96",Ln="_posterContainer_riden_106",Dn="_horizontal_riden_115",xn="_posterImg_riden_119",On="_blurred_riden_131",An="_flat_riden_154",jn="_loaded_riden_158",Fn="_progressSection_riden_167",Un="_titleSection_riden_174",Wn="_title_riden_174",Vn="_titleText_riden_196",Gn="_badge_riden_208",Xn="_typeBadge_riden_219 _badge_riden_208",Yn="_epBadge_riden_228 _badge_riden_208",Hn="_airTime_riden_237",Kn="_adultBadge_riden_244 _badge_riden_208",qn="_gated_riden_257",Jn="_notAiredBadge_riden_263 _badge_riden_208",Qn="_metaRow_riden_278",Zn="_metaItem_riden_289",et="_progressContainer_riden_306",nt="_progressBar_riden_314",tt="_timestamp_riden_322",ot="_removeBtn_riden_327",st="_infoBtn_riden_328",rt="_mobileBadges_riden_379",at="_mobileBadgeBase_riden_386",it="_mobileType_riden_394 _mobileBadgeBase_riden_386",ct="_mobileEp_riden_401 _mobileBadgeBase_riden_386",lt="_lowEnd_riden_471",o={cardWrapper:In,card:zn,cardButton:kn,hoverOverlay:$n,matureOverlay:Sn,posterContainer:Ln,horizontal:Dn,posterImg:xn,blurred:On,flat:An,loaded:jn,progressSection:Fn,titleSection:Un,title:Wn,titleText:Vn,badge:Gn,typeBadge:Xn,epBadge:Yn,airTime:Hn,adultBadge:Kn,gated:qn,notAiredBadge:Jn,metaRow:Qn,metaItem:Zn,progressContainer:et,progressBar:nt,timestamp:tt,removeBtn:ot,infoBtn:st,mobileBadges:rt,mobileBadgeBase:at,mobileType:it,mobileEp:ct,lowEnd:lt},dt=500,re=20,ut=300;function pt(n){const c=k(null),l=k(null),d=k(!1),h=k({x:0,y:0}),f=k(null),s=P(()=>{l.current&&(clearTimeout(l.current),l.current=null)},[]),y=P(()=>{c.current&&(clearTimeout(c.current),c.current=null)},[]),b=P(u=>{c.current&&clearTimeout(c.current),c.current=setTimeout(u,ut)},[]),_=P((u,g=!1)=>{d.current=g,n(u,g)},[n]),v=P((u,g)=>{if(g||u.pointerType==="mouse")return;f.current=u.pointerType,d.current=!1,h.current={x:u.clientX,y:u.clientY};const a=u.currentTarget.getBoundingClientRect();s(),l.current=setTimeout(()=>{l.current=null,_(a,!0)},dt)},[s,_]),B=P(u=>{if(!l.current)return;const g=Math.abs(u.clientX-h.current.x),a=Math.abs(u.clientY-h.current.y);(g>re||a>re)&&s()},[s]),C=P(()=>{s(),f.current=null},[s]),R=P((u,g)=>{u.preventDefault(),u.stopPropagation(),f.current==="touch"?l.current&&(clearTimeout(l.current),l.current=null,_(u.currentTarget.getBoundingClientRect(),!0)):!g&&!d.current&&_(u.currentTarget.getBoundingClientRect())},[_]),T=P(()=>d.current?(d.current=!1,!0):!1,[]);return{longPressFiredRef:d,cancelLongPress:s,clearPopupTimeout:y,schedulePopupClose:b,openViaHold:_,handlePointerDown:v,handlePointerMove:B,handlePointerUpOrCancel:C,handleContextMenu:R,consumeLongPressClick:T}}const Y={elements:{poster:{typeBadge:!0,chapterBadge:!0,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!0,meta:!0}}},wt=ze(({item:n,linkTo:c,hoverIcon:l,progress:d,showProgress:h=!1,metaRow:f,display:s,layout:y="vertical",onRemove:b,showRemoveButton:_,showInfoButton:v=!1,onOpenDetails:B,renderPopup:C,onPopupHoverIntent:R,rawThumbnail:T,enrichedId:u})=>{const g=ke(),a=ae(),{titlePreference:S}=Le(),{lowEndMode:E}=De(),[L,D]=$(!1),[r,t]=$(!1),{thumbnail:m}=Rn(u,n.thumbnail),[M,K]=$(!1),[q,J]=$(null),Q=p=>{J(p),K(!0)},V=P(()=>{K(!1),J(null)},[]),I=pt(p=>{if(B){B(p);return}C&&Q(p)}),G=P(()=>{I.schedulePopupClose(V)},[I,V]),Z=I.clearPopupTimeout,ie=p=>{if(a)return;const se=p.currentTarget.getBoundingClientRect();if(B){B(se);return}C&&Q(se)},ce=()=>{C&&G()},le=()=>{Z()},de=()=>{C&&G()},ue=p=>{I.handlePointerDown(p,z)},pe=p=>{I.handlePointerMove(p)},ee=()=>{I.handlePointerUpOrCancel()},_e=p=>{if(B){p.preventDefault(),p.stopPropagation(),B(p.currentTarget.getBoundingClientRect());return}if(C){I.handleContextMenu(p,z);return}I.handleContextMenu(p,z)},ne={...s,elements:{...Y.elements,...s?.elements||{},poster:{...Y.elements?.poster,...s?.elements?.poster||{}},info:{...Y.elements?.info,...s?.elements?.info||{}}}},O=n[S]||n.title,A=ne.elements?.poster,j=ne.elements?.info,me=(A?.typeBadge??!0)&&!!n.typeBadge,fe=(A?.chapterBadge??!0)&&!!n.chapterBadge,he=_??A?.removeButton??!!b,ge=A?.adultBadge??!0,ye=j?.mobileBadges??!0,ve=j?.progress??!0,Be=j?.meta??!0,be=h&&!!d&&d.percent>0,te=!!n.isAdult,{hasConsent:we,grant:Ne}=xe(),[Ce,X]=x.useState(!1),F=x.useRef(null),Pe=()=>{Ne(),X(!1),F.current&&(g(F.current),F.current=null)},z=te&&!we,oe=p=>{if(I.consumeLongPressClick()){p.preventDefault(),p.stopPropagation();return}z&&(p.preventDefault(),p.stopPropagation(),F.current=c,X(!0))},Me=l==="book"?e(N,{name:"book",size:28}):l==="play"?e(N,{name:"play",size:28}):l==="info"?e(N,{name:"info-circle",size:28}):e(N,{name:"info-circle",size:28}),Te=P(p=>{p.preventDefault(),p.stopPropagation(),b&&b(n.id)},[b,n.id]),Ee=T?m??n.thumbnail:Oe(m,E?100:150,E?150:200);return e("div",{className:`${o.cardWrapper} ${E?o.lowEnd:""}`,onMouseEnter:()=>{t(!0),R?.(!0),M&&Z()},onMouseLeave:()=>{t(!1),R?.(!1),M&&G()},children:[e(W,{to:c,className:`${o.card} ${o[y]} ${z?o.cardButton:""}`,onClick:oe,onContextMenu:_e,onPointerDown:ue,onPointerMove:pe,onPointerUp:ee,onPointerCancel:ee,children:e("div",{className:o.posterContainer,children:[z&&e("div",{className:`${o.matureOverlay} ${E?o.flat:""}`}),e("img",{src:Ee,alt:O,className:`${o.posterImg} ${L?o.loaded:""} ${z&&!E?o.blurred:""}`,loading:"lazy",decoding:"async",onLoad:()=>D(!0)}),!a&&e(H,{children:[me&&e("div",{className:o.typeBadge,children:n.typeBadge}),fe&&e("div",{className:o.epBadge,children:[n.chapterBadge,n.airMeta&&e("span",{className:o.airTime,children:n.airMeta})]})]}),ge&&te&&e("div",{className:`${o.adultBadge} ${z?o.gated:""}`,children:"18+"}),n.notAired&&e("div",{className:o.notAiredBadge,children:"NOT AIRED"}),!a&&r&&e("div",{className:o.hoverOverlay,children:Me})]})}),ve&&h&&be&&d&&e("div",{className:o.progressSection,children:[e("div",{className:o.progressContainer,children:e("div",{className:o.progressBar,style:{width:`${d.percent}%`}})}),e("div",{className:o.timestamp,children:d.label})]}),e(W,{to:c,className:o.titleSection,onClick:oe,"aria-label":O,children:[a&&ye&&e("div",{className:o.mobileBadges,children:[!!n.typeBadge&&e("span",{className:o.mobileType,children:n.typeBadge}),n.chapterBadge&&e("span",{className:o.mobileEp,children:n.chapterBadge})]}),j?.title!==!1&&e("div",{className:o.title,title:O,children:e("span",{className:o.titleText,children:O})}),Be&&f&&e("div",{className:o.metaRow,children:f})]}),Ce&&e(We,{isOpen:!0,showResetHint:!0,onClose:()=>X(!1),onGrant:Pe}),he&&e("button",{className:o.removeBtn,onClick:Te,"aria-label":"Remove",children:e(N,{name:"times",size:10})}),v&&!a&&!z&&e("button",{className:o.infoBtn,onMouseEnter:ie,onMouseLeave:ce,"aria-label":"Info",children:e(N,{name:"info",size:11})}),C&&M&&q?C(q,{close:V,onMouseEnter:le,onMouseLeave:de}):null]})});export{wt as M,Bt as P,bt as a,o as m,i as p};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._pagination_zelsc_1{display:flex;align-items:center;gap:var(--space-2)}._pageBtn_zelsc_7{background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;min-width:28px;border-radius:var(--radius-full);transition:all var(--transition-fast);gap:var(--space-2);font-size:var(--font-size-sm)}._pageBtn_zelsc_7:hover:not(:disabled){background:var(--bg-tertiary);color:var(--accent)}._pageBtn_zelsc_7:disabled{opacity:.3;cursor:not-allowed}._pageBtn_zelsc_7 span{font-size:var(--font-size-xs);font-weight:600}._pageInfo_zelsc_38{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap}._pageInfo_zelsc_38 strong{color:var(--text-primary)}._pagePicker_zelsc_48{position:relative}._dropdown_zelsc_52{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:50;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:10px;width:210px;max-width:calc(100vw - 32px);box-shadow:0 12px 32px #00000059;touch-action:manipulation}._dropdown_zelsc_52._flipDown_zelsc_68{bottom:auto;top:calc(100% + 8px)}._jumpRow_zelsc_73{display:flex;gap:8px;margin-bottom:8px}._jumpInput_zelsc_79{flex:1;min-width:0;background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:8px;padding:6px 10px;font-size:.85rem}._jumpGo_zelsc_90{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:8px;padding:6px 12px;font-size:.8rem;font-weight:700;cursor:pointer}._jumpGo_zelsc_90:hover{border-color:var(--accent)}._optionList_zelsc_105{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;max-height:180px;overflow-y:auto}._optionBtn_zelsc_113{background:none;border:none;color:var(--text-primary);border-radius:6px;padding:6px 0;font-size:.8rem;cursor:pointer}._optionBtn_zelsc_113:hover:not(:disabled){background:var(--bg-tertiary);color:var(--accent)}._optionBtn_zelsc_113:disabled{cursor:default}._optionBtn_zelsc_113._current_zelsc_132{font-weight:800;background:var(--bg-tertiary)}@media(pointer:coarse){._dropdown_zelsc_52{width:240px;padding:12px}._jumpInput_zelsc_79{min-height:44px;font-size:1rem}._jumpGo_zelsc_90{min-height:44px;padding:6px 16px}._optionList_zelsc_105{grid-template-columns:repeat(4,1fr);gap:6px;max-height:220px}._optionBtn_zelsc_113{min-height:44px;font-size:.9rem}._pageBtn_zelsc_7{min-width:36px;min-height:36px}}._popupPortal_1d6yy_1{z-index:var(--z-popover);pointer-events:none}._popupContent_1d6yy_6{pointer-events:auto;width:320px;background-color:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:0 10px 30px #00000080;border:1px solid var(--border-secondary);overflow:hidden;display:flex;flex-direction:column;animation:_fadeIn_1d6yy_1 .2s ease-out;color:var(--text-primary)}@keyframes _fadeIn_1d6yy_1{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}._popupBackdrop_1d6yy_31{position:fixed;inset:0;z-index:var(--z-popover);background:#0009}._popupPortal_1d6yy_1._mobile_1d6yy_38{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:calc(var(--z-popover) + 1);pointer-events:auto}._popupPortal_1d6yy_1._mobile_1d6yy_38 ._popupContent_1d6yy_6{width:min(340px,calc(100vw - 32px));max-height:85svh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media(orientation:landscape)and (max-height:500px){._popupPortal_1d6yy_1._mobile_1d6yy_38 ._popupContent_1d6yy_6{width:min(460px,calc(100vw - 24px));max-height:calc(100svh - 16px)}}._header_1d6yy_62{padding:var(--space-4);background:linear-gradient(to bottom,rgba(0,0,0,.3),transparent)}._title_1d6yy_67{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--accent-light)}._altTitle_1d6yy_78{font-size:var(--font-size-xs);color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}._cover_1d6yy_87{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--space-3);background:var(--bg-tertiary)}._body_1d6yy_97{padding:0 var(--space-4) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}._metaRow_1d6yy_104{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-sm)}._metaItem_1d6yy_111{display:flex;align-items:center;gap:var(--space-1)}._scoreIcon_1d6yy_117{color:var(--accent-lighter)}._synopsis_1d6yy_121{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}._details_1d6yy_131{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted)}._detailItem_1d6yy_139 strong{color:var(--text-secondary)}._genres_1d6yy_143{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}._genre_1d6yy_143{background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary)}._footer_1d6yy_158{padding:var(--space-4);border-top:1px solid var(--border-secondary);background-color:var(--bg-tertiary);display:flex;flex-direction:column;gap:var(--space-2)}._primaryAction_1d6yy_167{width:100%}._watchBtn_1d6yy_171{width:100%;height:48px;background-color:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;transition:all .2s;text-decoration:none;font-size:var(--font-size-base)}._watchBtn_1d6yy_171:hover{background-color:var(--accent-dark);transform:translateY(-1px)}._secondaryActions_1d6yy_194{display:flex;gap:var(--space-2)}._watchlistBtn_1d6yy_199,._detailsBtn_1d6yy_200{flex:1;height:36px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:11px;font-weight:var(--font-weight-semibold);transition:all .2s;text-decoration:none;white-space:nowrap}._watchlistBtn_1d6yy_199:hover,._detailsBtn_1d6yy_200:hover{background-color:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}._watchlistBtn_1d6yy_199._active_1d6yy_226{background-color:var(--accent);border-color:var(--accent);color:var(--accent-text)}._watchlistBtn_1d6yy_199._active_1d6yy_226:hover{background-color:var(--accent-dark);border-color:var(--accent-dark)}._loading_1d6yy_237{padding:var(--space-8);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--text-muted)}._spinner_1d6yy_247{width:30px;height:30px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:_spin_1d6yy_247 1s linear infinite}@keyframes _spin_1d6yy_247{to{transform:rotate(360deg)}}._cardWrapper_riden_1{position:relative;width:100%;height:100%;min-width:0;z-index:1;transition:z-index var(--transition-fast);border-radius:var(--radius-md)}._cardWrapper_riden_1:hover{z-index:5}._card_riden_1{display:flex;flex-direction:column;background-color:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden;height:auto;min-width:0;box-shadow:none;border:1px solid var(--border-secondary);transition:border-color var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-base);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}._cardButton_riden_34{width:100%;padding:0;text-align:left;font:inherit;border:1px solid var(--border-secondary);cursor:pointer}._cardButton_riden_34:focus-visible{outline:2px solid var(--accent);outline-offset:2px}._cardWrapper_riden_1:hover ._card_riden_1,._cardWrapper_riden_1:focus-within ._card_riden_1{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background-color:var(--bg-tertiary);box-shadow:0 4px 20px #00000080,0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}._cardWrapper_riden_1:focus-within{z-index:5}._hoverOverlay_riden_61{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#0c0d1285;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .25s ease,transform .25s var(--ease-smooth);pointer-events:none;z-index:8;border-radius:var(--radius-sm)}._hoverOverlay_riden_61 svg{filter:drop-shadow(0 4px 12px rgba(0,0,0,.6));transform:scale(.9);transition:transform .25s cubic-bezier(.175,.885,.32,1.275)}._cardWrapper_riden_1:hover ._hoverOverlay_riden_61 svg,._cardWrapper_riden_1:focus-within ._hoverOverlay_riden_61 svg{transform:scale(1.1)}._cardWrapper_riden_1:hover ._hoverOverlay_riden_61,._cardWrapper_riden_1:focus-within ._hoverOverlay_riden_61{opacity:1}._cardWrapper_riden_1:has(._matureOverlay_riden_96) ._hoverOverlay_riden_61{display:none}@media(hover:none),(pointer:coarse){._hoverOverlay_riden_61{display:none}}._posterContainer_riden_106{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;background:var(--bg-tertiary);border-radius:var(--radius-sm)}._card_riden_1._horizontal_riden_115 ._posterContainer_riden_106{aspect-ratio:16 / 9}._posterImg_riden_119{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease,transform var(--transition-base),filter var(--transition-base);border-radius:var(--radius-sm)}._posterImg_riden_119._blurred_riden_131{filter:blur(15px)}._matureOverlay_riden_96{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#00000073;z-index:10;cursor:pointer;flex-direction:column;gap:var(--space-2);padding:var(--space-2);text-align:center;transition:background-color var(--transition-base)}._matureOverlay_riden_96._flat_riden_154{background-color:#000000f2}._posterImg_riden_119._loaded_riden_158{opacity:1}._cardWrapper_riden_1:hover ._posterImg_riden_119{transform:scale(1.06);filter:brightness(1.05)}._progressSection_riden_167{padding:var(--space-2) var(--space-1) 0;display:flex;flex-direction:column;gap:2px}._titleSection_riden_174{padding:var(--space-2) var(--space-1) 0;display:flex;flex-direction:column;gap:var(--space-1);color:inherit;text-decoration:none;min-width:0}._title_riden_174{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1.3;color:#e2e8f0;height:1.3em;margin-bottom:0;transition:color var(--transition-base);word-break:break-word;min-width:0}._titleText_riden_196{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;max-height:1.3em}._cardWrapper_riden_1:hover ._title_riden_174{color:var(--accent-light)}._badge_riden_208{position:absolute;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);z-index:2;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}._typeBadge_riden_219{top:var(--space-2);left:var(--space-2);background-color:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.1)}._epBadge_riden_228{bottom:var(--space-2);left:var(--space-2);background-color:var(--accent);color:var(--accent-text);border-radius:var(--radius-full)}._airTime_riden_237{margin-left:6px;font-size:12px;opacity:.85;font-weight:500}._adultBadge_riden_244{bottom:var(--space-2);right:var(--space-2);background-color:var(--color-danger);color:#fff;border:none;font-size:14px;padding:5px 10px;z-index:5;box-shadow:0 2px 8px #0006}._posterContainer_riden_106 ._adultBadge_riden_244._gated_riden_257{background-color:#000000bf;border:1px solid rgba(220,53,69,.45);color:#ff4a5a}._notAiredBadge_riden_263{top:var(--space-2);right:var(--space-2);background-color:var(--badge-info-bg);color:var(--badge-info-text);border:none;font-size:11px;font-weight:800;letter-spacing:.06em;padding:4px 8px;z-index:5;box-shadow:0 2px 8px #0006}._metaRow_riden_278{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:#94a3b8;margin-top:auto;min-width:0;height:24px}._metaItem_riden_289{display:flex;align-items:center;gap:var(--space-1);background-color:var(--bg-tertiary);padding:2px var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-base),color var(--transition-base)}._metaItem_riden_289:hover{background-color:var(--bg-elevated);color:var(--text-primary)}._progressContainer_riden_306{width:100%;height:4px;background-color:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}._progressBar_riden_314{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-light) 100%);border-radius:var(--radius-sm);box-shadow:0 0 8px var(--accent-glow);transition:width .3s ease}._timestamp_riden_322{font-size:var(--font-size-xs);color:var(--text-muted)}._removeBtn_riden_327,._infoBtn_riden_328{position:absolute;top:var(--space-2);right:var(--space-2);width:28px;height:28px;border-radius:50%;background-color:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease,transform .15s ease;z-index:20;font-size:14px}._cardWrapper_riden_1:hover ._removeBtn_riden_327,._card_riden_1:hover ._removeBtn_riden_327,._cardWrapper_riden_1:hover ._infoBtn_riden_328,._card_riden_1:hover ._infoBtn_riden_328{opacity:1}@media(hover:none),(pointer:coarse){._removeBtn_riden_327,._infoBtn_riden_328{display:none}}._cardWrapper_riden_1 ._removeBtn_riden_327:hover{background-color:color-mix(in srgb,var(--color-danger) 90%,transparent);border-color:color-mix(in srgb,var(--color-danger) 90%,transparent);color:var(--color-danger-text);transform:scale(1.08)}._infoBtn_riden_328:hover{background-color:var(--accent);border-color:var(--accent);color:var(--accent-text);transform:scale(1.08)}._mobileBadges_riden_379{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-1)}._mobileBadgeBase_riden_386{font-size:10px;font-weight:var(--font-weight-bold);padding:1px var(--space-1);border-radius:4px;text-transform:uppercase}._mobileType_riden_394{background-color:#ffffff1a;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1)}._mobileEp_riden_401{background-color:var(--accent);color:var(--accent-text)}@media(max-width:768px){._cardWrapper_riden_1,._card_riden_1{height:auto}._progressSection_riden_167{padding:4px 8px}._titleSection_riden_174{padding:8px 8px 0}._cardWrapper_riden_1 ._title_riden_174{height:1.25em;max-height:1.25em;overflow:hidden;font-size:.82rem;line-height:1.25;color:#e2e8f0}._titleText_riden_196{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;max-height:1.25em;word-break:break-word;color:#e2e8f0}._removeBtn_riden_327,._infoBtn_riden_328{min-width:36px;min-height:36px;width:36px;height:36px;font-size:14px}._mobileBadges_riden_379{justify-content:center;margin-bottom:4px;gap:4px}._metaRow_riden_278{margin-top:auto;justify-content:center;height:20px}._typeBadge_riden_219{display:none}._cardWrapper_riden_1 ._removeBtn_riden_327{opacity:1;background-color:#00000080}}._cardWrapper_riden_1._lowEnd_riden_471 ._card_riden_1,._cardWrapper_riden_1._lowEnd_riden_471 ._posterImg_riden_119{transition:none}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as U,d as v,h as b,T as w,u as i,S as E}from"./vendor-core-DfaOB3Rn.js";import{M as x}from"./MediaCard-B-TmXdgl.js";import{L as F}from"./LibraryListPage-CNjzasIi.js";import{u as _,M as q}from"./useMangaPopup-2lqmdmS5.js";import{M as D}from"./MangaResetProgressModal-DaZmK9CX.js";import{m as G}from"./index-CPhXtUuw.js";import{n as O,b as Q,h as Y,j,u as z,o as H,q as K,s as V,M as R,m as Z,i as J,a as W}from"./useMangaLibrary-DbvnlYV9.js";import"./vendor-icons-C1Pj_eSX.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";import"./MatureConsentModal-CEoZ_OA0.js";import"./SkeletonGrid-DqN0laN_.js";import"./ErrorMessage-hMt90aG4.js";import"./LibraryListPage.module-r6k9nyT9.js";import"./usePopup-DS9jMzp6.js";import"./ResetProgressModal-BdcBPlC1.js";import"./vendor-query-BBT5_sHx.js";import"./libraryInvalidation-hcASRQHn.js";const X=["All","Continue Reading",...R],h=24,y=e=>({provider:e.provider,mangaId:e.mangaId,title:e.title,altTitle:e.altTitle,cover:e.cover,contentRating:e.contentRating,readTarget:e.detailTarget,progressLabel:e.progressLabel});function Ra(){const{filter:e="All"}=U(),[g,p]=v(1),[d,u]=v(null);b(()=>{document.title="Reading List - dango"},[]),b(()=>{p(1)},[e]);const r=e==="Continue Reading",n=O(r?"All":e,g,h),s=Q(100),I=Y(),T=j(),{toggle:L,bookmarkedIds:C}=z(),{popup:t,openPopup:k,scheduleClose:c,cancelClose:m,closePopup:f}=_(),M=H(),P=K(),B=V(),S=w(()=>r?(s.data?.data??[]).map(a=>{const o=a.page??0,l=a.pageCount??0;return{key:a.id,libId:a.id,provider:a.provider,mangaId:a.mangaId,title:a.title||"",altTitle:a.altTitle,cover:a.cover||"",status:a.watchlistStatus??"",contentRating:a.contentRating||void 0,chapterLabel:a.chapterNumber?`Ch. ${a.chapterNumber}`:void 0,progressPercent:l>0?o/l*100:0,progressLabel:a.chapterNumber&&l>0?`Ch. ${a.chapterNumber} · p. ${o}/${l}`:void 0,detailTarget:a.chapterId&&a.provider&&a.mangaId?`/manga/${a.provider}/${encodeURIComponent(a.mangaId)}/read?chapter=${encodeURIComponent(a.chapterId)}`:`/manga/${a.provider}/${encodeURIComponent(a.mangaId)}`}}):(n.data?.data??[]).map(a=>({key:a.id,libId:a.id,provider:a.provider,mangaId:a.mangaId,title:a.title||"",altTitle:a.altTitle,cover:a.cover||"",status:a.status,contentRating:a.contentRating||void 0,chapterLabel:a.lastChapterNumber?`Ch. ${a.lastChapterNumber}`:void 0,progressPercent:void 0,progressLabel:void 0,detailTarget:`/manga/${a.provider}/${encodeURIComponent(a.mangaId)}`})),[r,s.data,n.data]),$=r?s.data?.total??0:n.data?.total??0,A=r?s.isLoading:n.isLoading,N=r?s.error:n.error;return i(F,{headerTitle:"My Reading List",headerSubtitle:"Track and manage your manga collection",filters:X,filterBy:e,filterBasePath:"/reading-list",continueFilter:"Continue Reading",statusOptions:[...R],entries:S,total:$,isLoading:A,error:N,page:g,pageSize:h,onPageChange:p,emptyTitle:"Your reading list is looking a bit lonely",emptyFilteredText:"No titles match this filter.",emptyAllText:"Let's find something to read!",browseLabel:"Browse Manga",browseTarget:"/manga",removeListLabel:"Remove from Reading List",listNoun:"reading list",skipConfirmKey:"mangaSkipRemoveConfirmation",onBulkStatus:(a,o)=>M.mutate({ids:a,status:o}),onBulkRemove:a=>{r?B.mutate({ids:a}):P.mutate(a)},onStatusChange:(a,o)=>T.mutate({id:a,status:o}),onRemoveItem:a=>I.mutate(a),renderCard:a=>i(x,{item:{id:a.libId,title:a.title,...W({title:a.title,altTitle:a.altTitle}),thumbnail:G(a.provider,a.cover),chapterBadge:a.chapterLabel??null,isAdult:J(a)},linkTo:a.detailTarget,hoverIcon:"book",progress:a.progressPercent!==void 0&&a.progressLabel?{percent:a.progressPercent,label:a.progressLabel}:void 0,showProgress:r,display:{elements:{poster:{typeBadge:!1,chapterBadge:!0,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!0,meta:!1}}},onRemove:r?()=>u(a):void 0,onOpenDetails:o=>k(o,y(a)),onPopupHoverIntent:o=>o?m():c(),rawThumbnail:!0}),modals:i(E,{children:[t&&t.data.provider&&i(q,{data:t.data,anchorRect:t.rect,bookmarked:C.has(Z(t.data.provider,t.data.mangaId)),onToggleBookmark:()=>L({id:t.data.mangaId,provider:t.data.provider,title:t.data.title,cover:t.data.cover,altTitle:t.data.altTitle??void 0,contentRating:t.data.contentRating}),onMouseEnter:m,onMouseLeave:c,onRequestClose:f}),i(D,{mangaId:d?d.libId:null,title:d?.title,onClose:()=>u(null)})]})})}export{Ra as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as G,p as pe,a as fe,d as c,A as ge,g as Le,u as a}from"./vendor-core-DfaOB3Rn.js";import{I as f}from"./vendor-icons-C1Pj_eSX.js";import{P as te}from"./MediaCard-B-TmXdgl.js";import{A as Ae}from"./AnimeCard-B-3qrNhu.js";import{S as Se}from"./SkeletonGrid-DqN0laN_.js";import{t as ye,u as be,H as Ce,a9 as le,B as U,aa as Ne}from"./index-CPhXtUuw.js";import{E as Te}from"./ErrorMessage-hMt90aG4.js";import{A as Ee}from"./ActiveFilterChips-olGfwxle.js";import{s as t}from"./Search.module-C_qwCdHS.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";import"./MatureConsentModal-CEoZ_OA0.js";import"./useAnimeInfoData-BsFz9uiF.js";import"./vendor-query-BBT5_sHx.js";import"./QueueOptionsButton-DqoDQST5.js";import"./playbackCompletion-D1Gm0GbH.js";const Re=[{value:"ALL",label:"All Types"},{value:"TV",label:"TV Series"},{value:"Movie",label:"Movie"},{value:"OVA",label:"OVA"},{value:"ONA",label:"ONA"},{value:"TV_SHORT",label:"TV Short"},{value:"SPECIAL",label:"Special"},{value:"ADULT",label:"Mature"}],Pe=[{value:"ALL",label:"All Seasons"},{value:"Winter",label:"Winter"},{value:"Spring",label:"Spring"},{value:"Summer",label:"Summer"},{value:"Fall",label:"Fall"}],Ie=[{value:"ALL",label:"All Countries"},{value:"JP",label:"Japan"},{value:"CN",label:"China"}],De=[{value:"POPULARITY_DESC",label:"Popularity"},{value:"TRENDING_DESC",label:"Trending"},{value:"SCORE_DESC",label:"Score"},{value:"START_DATE_DESC",label:"Newest"},{value:"START_DATE_ASC",label:"Oldest"},{value:"EPISODES_DESC",label:"Most Episodes"},{value:"FAVOURITES_DESC",label:"Favourites"}],Oe=[{value:"RELEASING",label:"Currently Airing"},{value:"FINISHED",label:"Finished"},{value:"NOT_YET_RELEASED",label:"Not Yet Released"},{value:"CANCELLED",label:"Cancelled"},{value:"HIATUS",label:"Hiatus"}];function We(){G(()=>{document.title="Search - dango"},[]);const[r,se]=pe(),k=fe(),[d,$]=c(r.get("query")||""),[v,F]=c(parseInt(r.get("page")||"1")),[h,g]=c(r.get("type")||"ALL"),[L,A]=c(r.get("season")||"ALL"),[S,y]=c(r.get("year")||"ALL"),[M,D]=c(r.get("country")||"ALL"),[V,re]=c(r.get("provider")||"anilist"),[j,O]=c(r.get("sortBy")||"POPULARITY_DESC"),[q,w]=c(r.get("status")||""),[b,ne]=c(!1),[ie,H]=c(null);G(()=>{let e=!1;return ye.data.anilistStatus.query().then(s=>{e||H(s.available)}).catch(()=>{e||H(!0)}),()=>{e=!0}},[]);const{lowEndMode:oe}=be(),_=ge(null),{data:ce}=Ce(),z=ce?.genres||[],[C,N]=c(()=>{const e={},s=r.get("genres")?.split(",").map(l=>l.trim()).filter(Boolean)||[],i=r.get("excludeGenres")?.split(",").map(l=>l.trim()).filter(Boolean)||[];return s.forEach(l=>l&&(e[l]="include")),i.forEach(l=>l&&(e[l]="exclude")),e}),W=new URLSearchParams(r);W.delete("page");const J=W.toString(),{data:p=[],isLoading:T,isError:ue,error:de}=le(J,v,14),{data:K}=le(J,v+1,14),[x,he]=c(!1),E=Le.useMemo(()=>V==="anilist"&&h==="ADULT"||x?p:p.filter(e=>!(e.isAdult||e.rating==="R+"||e.rating==="Rx"||e.rating?.includes("17+"))),[p,x,V,h]);G(()=>{$(r.get("query")||""),g(r.get("type")||"ALL"),A(r.get("season")||"ALL"),y(r.get("year")||"ALL"),D(r.get("country")||"ALL"),re(r.get("provider")||"anilist"),O(r.get("sortBy")||"POPULARITY_DESC"),w(r.get("status")||""),F(parseInt(r.get("page")||"1"));const e={},s=r.get("genres")?.split(",").map(l=>l.trim()).filter(Boolean)||[],i=r.get("excludeGenres")?.split(",").map(l=>l.trim()).filter(Boolean)||[];s.forEach(l=>l&&(e[l]="include")),i.forEach(l=>l&&(e[l]="exclude")),N(e)},[r]);const u=(e=1,s={})=>{Ne();const i=s.type??h,l=s.status??q,R=s.season??L,P=s.year??S,Z=s.country??M,I=s.sort??j,ee=s.genreState??C,ve=s.showMature??x,o=new URLSearchParams;d.trim()&&o.set("query",d.trim()),i!=="ALL"&&o.set("type",i),l&&o.set("status",l),R!=="ALL"&&o.set("season",R),P!=="ALL"&&o.set("year",P),Z!=="ALL"&&o.set("country",Z),I!=="POPULARITY_DESC"&&o.set("sortBy",I);const Y=Object.entries(ee).filter(([,n])=>n==="include").map(([n])=>n),ae=Object.entries(ee).filter(([,n])=>n==="exclude").map(([n])=>n);if(Y.some(n=>n.toLowerCase()==="hentai")){const n=new URLSearchParams;n.set("provider","anilist"),d.trim()&&n.set("query",d.trim()),l&&n.set("status",l),R!=="ALL"&&n.set("season",R),P!=="ALL"&&n.set("year",P),I!=="POPULARITY_DESC"&&n.set("sortBy",I),k(`/mature?${n.toString()}`);return}Y.length>0&&o.set("genres",Y.join(",")),ae.length>0&&o.set("excludeGenres",ae.join(",")),i!=="ADULT"&&!ve&&o.set("adult","false"),o.set("provider","anilist"),e>1&&o.set("page",e.toString()),se(o),e!==v&&F(e)},Q=e=>{if(u(e),_.current){const s=_.current.getBoundingClientRect().top+window.scrollY-100;window.scrollTo({top:s,behavior:"smooth"})}},B=new Date().getFullYear(),me=[{value:"ALL",label:"All Years"},...Array.from({length:B-1980+1},(e,s)=>({value:String(B-s),label:String(B-s)}))],X=p.length>=14&&K&&K.length>0,m=[];h!=="ALL"&&m.push({key:"type",label:`Type: ${h}`,onRemove:()=>{g("ALL"),u(1,{type:"ALL"})}}),L!=="ALL"&&m.push({key:"season",label:`Season: ${L}`,onRemove:()=>{A("ALL"),u(1,{season:"ALL"})}}),S!=="ALL"&&m.push({key:"year",label:`Year: ${S}`,onRemove:()=>{y("ALL"),u(1,{year:"ALL"})}});for(const[e,s]of Object.entries(C))m.push({key:e,label:s==="include"?`+ ${e}`:`-${e}`,tone:s==="include"?"primary":"danger",onRemove:()=>{const i={...C};delete i[e],N(i),u(1,{genreState:i})}});return a("div",{className:"page-container",children:[a("div",{className:t.header,children:[a("h1",{className:t.pageTitle,children:"Search Anime"}),a("p",{className:t.pageSubtitle,children:"Search through thousands of titles and discover your next favorite"})]}),a("div",{className:t.filterContainer,children:[a("div",{className:t.searchBarWrapper,children:[a("div",{className:t.inputIconWrapper,children:[a(f,{name:"search",className:t.searchIcon}),a("input",{type:"text","data-virtual-keyboard":"true",className:t.searchInput,placeholder:"Search by title, character, or studio...",value:d,onInput:e=>$(e.currentTarget.value),onKeyDown:e=>e.key==="Enter"&&u()})]}),a("div",{className:t.searchActions,children:[a(U,{onClick:()=>u(),className:t.searchBtn,children:"Search"}),a("button",{className:`${t.filterToggleBtn} ${b?t.active:""}`,onClick:()=>ne(!b),children:[a(f,{name:"filter",size:14}),a("span",{children:"Filters"}),b?a(f,{name:"chevron-up",size:12}):a(f,{name:"chevron-down",size:12})]})]})]}),a("div",{className:`${t.advancedFilters} ${b?t.show:""}`,children:[a("div",{className:t.filterDivider}),a("div",{className:t.filterGrid,children:[a("div",{className:t.filterItem,children:[a("label",{children:"Type"}),a("select",{value:h,onChange:e=>{if(e.currentTarget.value==="ADULT"){k("/mature?provider=mal");return}g(e.currentTarget.value)},children:Re.map(e=>a("option",{value:e.value,children:e.label},e.value))})]}),a("div",{className:t.filterItem,children:[a("label",{children:"Status"}),a("select",{value:q,onChange:e=>w(e.currentTarget.value),children:[a("option",{value:"",children:"All Status"}),Oe.map(e=>a("option",{value:e.value,children:e.label},e.value))]})]}),a("div",{className:t.filterItem,children:[a("label",{children:"Season"}),a("select",{value:L,onChange:e=>A(e.currentTarget.value),children:Pe.map(e=>a("option",{value:e.value,children:e.label},e.value))})]}),a("div",{className:t.filterItem,children:[a("label",{children:"Year"}),a("select",{value:S,onChange:e=>y(e.currentTarget.value),children:me.map(e=>a("option",{value:e.value,children:e.label},e.value))})]}),a("div",{className:t.filterItem,children:[a("label",{children:["Country",ie===!1&&a("span",{style:{display:"block",fontSize:"0.75rem",color:"var(--text-muted)",fontWeight:400},children:"AniList only - ignored by fallback providers"})]}),a("select",{value:M,onChange:e=>D(e.currentTarget.value),children:Ie.map(e=>a("option",{value:e.value,children:e.label},e.value))})]}),a("div",{className:t.filterItem,children:[a("label",{children:"Sort By"}),a("select",{value:j,onChange:e=>O(e.currentTarget.value),children:De.map(e=>a("option",{value:e.value,children:e.label},e.value))})]})]}),z.length>0&&a("div",{className:t.genreSection,children:[a("label",{className:t.genreLabel,children:"Genres"}),a("div",{className:t.genreContainer,children:z.map(e=>a("button",{className:`${t.genreButton} ${t[C[e]||""]}`,onClick:()=>{N(s=>{const i=s[e],l={...s};return i==="include"?l[e]="exclude":i==="exclude"?delete l[e]:l[e]="include",l})},children:e},e))})]}),a("div",{className:t.filterActions,children:[a(U,{variant:"secondary",onClick:()=>{N({}),g("ALL"),A("ALL"),y("ALL"),D("ALL"),O("POPULARITY_DESC"),w(""),he(!1),u(1,{type:"ALL",status:"",season:"ALL",year:"ALL",country:"ALL",sort:"POPULARITY_DESC",genreState:{},showMature:!1})},children:"Reset All"}),a(U,{onClick:()=>u(),className:t.applyBtn,children:"Apply Filters"})]})]})]}),ue&&a(Te,{message:de?.message||"Error"}),m.length>0&&a(Ee,{chips:m}),a("div",{className:t.resultsHeader,ref:_,children:[a("h2",{className:t.resultsTitle,children:d?`Search Results for "${d}"`:"Discover Anime"}),E.length>0&&a(te,{page:v,canGoNext:X,onChange:Q,isLoading:T})]}),a("div",{className:`${t.resultsGrid} ${oe?t.lowEnd:""}`,children:T?a(Se,{}):E.map(e=>a(Ae,{anime:e},e._id))}),!T&&E.length===0&&a("div",{className:t.noResults,children:[a(f,{name:"search",size:48,className:t.noResultsIcon}),a("h3",{children:"No results found"}),a("p",{children:"Try adjusting your search or filters to find what you're looking for."})]}),E.length>0&&a("div",{className:t.bottomPagination,children:a(te,{page:v,canGoNext:X,onChange:Q,isLoading:T,variant:"labeled"})})]})}export{We as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as I,p as ae,A as re,d as o,T as Y,q as M,u as t}from"./vendor-core-DfaOB3Rn.js";import{I as h}from"./vendor-icons-C1Pj_eSX.js";import{P as D}from"./MediaCard-B-TmXdgl.js";import{a as ne,T as se}from"./useTv-OX_q_uaI.js";import{S as le}from"./SkeletonGrid-DqN0laN_.js";import{u as ie,T as W,M as Q,aa as oe,B as x}from"./index-CPhXtUuw.js";import{E as ce}from"./ErrorMessage-hMt90aG4.js";import{s as r}from"./Search.module-C_qwCdHS.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";import"./MatureConsentModal-CEoZ_OA0.js";import"./TvPopup-CCTQiS84.js";import"./useTvLibrary-DaLHYFID.js";import"./vendor-query-BBT5_sHx.js";import"./libraryInvalidation-hcASRQHn.js";const de=[{value:"multi",label:"All"},{value:"tv",label:"TV Shows"},{value:"movie",label:"Movies"}],ue=[{value:"popularity.desc",label:"Popularity"},{value:"vote_average.desc",label:"Top Rated"},{value:"primary_release_date.desc",label:"Newest"},{value:"primary_release_date.asc",label:"Oldest"},{value:"vote_count.desc",label:"Most Voted"}],O=new Date().getFullYear(),me=[{value:"ALL",label:"All Years"},...Array.from({length:O-1980+1},(l,m)=>({value:String(O-m),label:String(O-m)}))];function _e(){I(()=>{document.title="Search TV & Movies - dango"},[]);const[l,m]=ae(),{lowEndMode:K}=ie(),C=re(null),[g,H]=o(l.get("q")||""),[p,U]=o(l.get("q")||""),[u,v]=o(parseInt(l.get("page")||"1",10)||1),[i,J]=o(l.get("type")||"multi"),[$,k]=o(l.get("genre")||""),[y,B]=o(l.get("year")||"ALL"),[f,E]=o(l.get("sort_by")||"popularity.desc"),[b,X]=o(!1),[c,N]=o(()=>{const e={},a=l.get("genre")||"";return a&&(e[a]="include"),e}),P=Y(()=>{if(i==="tv")return Object.entries(W).map(([a,n])=>({id:a,name:n}));if(i==="movie")return Object.entries(Q).map(([a,n])=>({id:a,name:n}));const e=new Map;for(const[a,n]of Object.entries(W))e.set(a,n);for(const[a,n]of Object.entries(Q))e.set(a,n);return Array.from(e.entries()).map(([a,n])=>({id:a,name:n}))},[i]),S=Y(()=>Object.entries(c).filter(([,a])=>a==="include").map(([a])=>a).join(","),[c]),{data:L,isLoading:w,isError:Z,error:ee}=ne({query:p,type:i,genre:S,year:y,sort_by:f,page:u}),T=L?.results||[],_=L?.total_pages||0,j=L?.total_results||0,R=u<Math.min(_,500),d=M((e={})=>{const a=new URLSearchParams,n=e.q!==void 0?e.q:p,s=e.type!==void 0?e.type:i,G=e.year!==void 0?e.year:y,V=e.sort!==void 0?e.sort:f,F=e.page!==void 0?e.page:String(u),z=e.genre!==void 0?e.genre:S;n.trim()&&a.set("q",n.trim()),s!=="multi"&&a.set("type",s),z&&a.set("genre",z),G!=="ALL"&&a.set("year",G),V!=="popularity.desc"&&a.set("sort_by",V),F!=="1"&&a.set("page",F),m(a,{replace:!0})},[p,i,y,f,u,S,m]),A=M(()=>{oe(),v(1),U(g),d({q:g,page:"1"}),window.scrollTo({top:0,behavior:"smooth"})},[g,d]),q=M(e=>{if(v(e),d({page:String(e)}),C.current){const a=C.current.getBoundingClientRect().top+window.scrollY-100;window.scrollTo({top:a,behavior:"smooth"})}},[d]),te=M(e=>{N(a=>{const n=a[e],s={...a};return n==="include"?s[e]="exclude":n==="exclude"?delete s[e]:s[e]="include",s}),v(1)},[]);return I(()=>{const a=Object.entries(c).filter(([,n])=>n==="include").map(([n])=>n).join(",");a!==$&&(k(a),d({genre:a,page:"1"}))},[c,$,k,d]),t("div",{className:"page-container",children:[t("div",{className:r.header,children:[t("h1",{className:r.pageTitle,children:"Search TV & Movies"}),t("p",{className:r.pageSubtitle,children:"Discover trending shows, movies, and more powered by TMDB"})]}),t("div",{className:r.filterContainer,children:[t("div",{className:r.searchBarWrapper,children:[t("div",{className:r.inputIconWrapper,children:[t(h,{name:"search",className:r.searchIcon}),t("input",{type:"text","data-virtual-keyboard":"true",className:r.searchInput,placeholder:"Search titles...",value:g,onInput:e=>H(e.currentTarget.value),onKeyDown:e=>e.key==="Enter"&&A()})]}),t("div",{className:r.searchActions,children:[t("select",{value:i,onChange:e=>{J(e.currentTarget.value),N({})},className:r.providerSelect,"aria-label":"Media type",children:de.map(e=>t("option",{value:e.value,children:e.label},e.value))}),t(x,{onClick:A,className:r.searchBtn,children:"Search"}),t("button",{className:`${r.filterToggleBtn} ${b?r.active:""}`,onClick:()=>X(!b),children:[t(h,{name:"filter",size:14}),t("span",{children:"Filters"}),b?t(h,{name:"chevron-up",size:12}):t(h,{name:"chevron-down",size:12})]})]})]}),t("div",{className:`${r.advancedFilters} ${b?r.show:""}`,children:[t("div",{className:r.filterDivider}),t("div",{className:r.filterGrid,children:[t("div",{className:r.filterItem,children:[t("label",{children:"Sort By"}),t("select",{value:f,onChange:e=>E(e.currentTarget.value),children:ue.map(e=>t("option",{value:e.value,children:e.label},e.value))})]}),t("div",{className:r.filterItem,children:[t("label",{children:"Year"}),t("select",{value:y,onChange:e=>B(e.currentTarget.value),children:me.map(e=>t("option",{value:e.value,children:e.label},e.value))})]})]}),P.length>0&&t("div",{className:r.genreSection,children:[t("label",{className:r.genreLabel,children:"Genres"}),t("div",{className:r.genreContainer,children:P.map(e=>t("button",{className:`${r.genreButton} ${r[c[e.id]||""]}`,onClick:()=>te(e.id),children:e.name},e.id))})]}),t("div",{className:r.filterActions,children:[t(x,{variant:"secondary",onClick:()=>{N({}),B("ALL"),E("popularity.desc"),v(1),d({genre:"",year:"ALL",sort:"popularity.desc",page:"1"})},children:"Reset All"}),t(x,{onClick:A,className:r.searchBtn,children:"Apply Filters"})]})]})]}),Z&&t(ce,{message:ee?.message||"Search failed"}),Object.keys(c).length>0&&t("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px",marginBottom:"1.5rem"},children:[t("span",{style:{fontSize:"0.8rem",color:"var(--text-muted)",fontWeight:600},children:"Active Filters:"}),Object.entries(c).map(([e,a])=>{const n=P.find(s=>s.id===e)?.name||e;return t("span",{className:`badge ${a==="include"?"badge-primary":"badge-danger"}`,style:{display:"inline-flex",alignItems:"center",gap:"6px"},children:[a==="include"?`+ ${n}`:`- ${n}`,t("button",{onClick:()=>{const s={...c};delete s[e],N(s)},style:{background:"none",border:"none",color:"inherit",cursor:"pointer"},children:"✕"})]},e)})]}),t("div",{className:r.resultsHeader,ref:C,children:[t("h2",{className:r.resultsTitle,children:[p?`Results for "${p}"`:S?"Browsing genres":i==="tv"?"Popular TV Shows":i==="movie"?"Popular Movies":"Trending",j>0&&t("span",{style:{fontWeight:400,color:"var(--text-tertiary)",fontSize:"0.85em",marginLeft:"0.5em"},children:["(",j.toLocaleString(),")"]})]}),T.length>0&&t(D,{page:u,totalPages:Math.max(1,Math.min(_,500)),canGoNext:R,onChange:q,isLoading:w})]}),t("div",{className:`${r.resultsGrid} ${K?r.lowEnd:""}`,children:w?t(le,{}):T.map(e=>t(se,{item:{id:e.id,title:e.title,year:e.year,type:e.type,image:e.image,vote_average:e.vote_average,adult:e.adult}},`${e.type}-${e.id}`))}),!w&&T.length===0&&t("div",{className:r.noResults,children:[t(h,{name:"search",size:48,className:r.noResultsIcon}),t("h3",{children:"No results found"}),t("p",{children:"Try adjusting your search or filters to find what you're looking for."})]}),T.length>0&&t("div",{className:r.bottomPagination,children:t(D,{page:u,totalPages:Math.max(1,Math.min(_,500)),canGoNext:R,onChange:q,isLoading:w,variant:"labeled"})})]})}export{_e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as $,d as f,h as L,T as U,u as d}from"./vendor-core-DfaOB3Rn.js";import{M as x}from"./MediaCard-B-TmXdgl.js";import{L as F}from"./LibraryListPage-CNjzasIi.js";import{R as N}from"./ResetProgressModal-BdcBPlC1.js";import{T as _}from"./TvPopup-CCTQiS84.js";import{i as y,h as u,j as R}from"./index-CPhXtUuw.js";import{j,u as K,a as O,b as Q,f as Y,k as q,l as z,m as G,T as I}from"./useTvLibrary-DaLHYFID.js";import"./vendor-icons-C1Pj_eSX.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";import"./MatureConsentModal-CEoZ_OA0.js";import"./SkeletonGrid-DqN0laN_.js";import"./ErrorMessage-hMt90aG4.js";import"./LibraryListPage.module-r6k9nyT9.js";import"./vendor-query-BBT5_sHx.js";import"./libraryInvalidation-hcASRQHn.js";const Z=["All","Continue Watching",...I],S=24;function ct(){const{filter:l="All"}=$(),[c,m]=f(1),[s,v]=f(null);L(()=>{document.title="TV Watchlist - dango"},[]),L(()=>{m(1)},[l]);const o=l==="Continue Watching",r=j(o?"All":l,c,S),i=K(100),T=O(),P=Q(),k=Y(),w=q(),C=z(),B=G(),M=U(()=>o?(i.data?.data??[]).map(t=>{const a=t.currentTime??0,e=t.duration??0,g=t.season??1,h=t.episode??1,n=t.mediaType==="movie",p=n?"Movie":`S${g} E${h}`,b=t.completed===1||e>0&&a>=e*.8;return{key:t.id,libId:t.id,tmdbId:t.tmdbId??0,mediaType:t.mediaType,title:t.title||"",poster:t.poster||"",year:t.year,adult:R({adult:t.adult===1}),status:t.watchlistStatus??"",badge:p,progressPercent:b?100:e>0?a/e*100:0,progressLabel:e>0?b?"Watched":n?`${u(a)} / ${u(e)}`:`${p} · ${u(a)} / ${u(e)}`:p,watchTarget:y(t.mediaType,t.tmdbId??0,n?void 0:g,n?void 0:h)}}):(r.data?.data??[]).map(t=>({key:t.id,libId:t.id,tmdbId:t.tmdbId,mediaType:t.mediaType,title:t.title,poster:t.poster||"",year:t.year,adult:R({adult:t.adult===1}),status:t.status,badge:t.lastSeason&&t.lastEpisode?`S${t.lastSeason} E${t.lastEpisode}`:void 0,progressPercent:void 0,progressLabel:void 0,watchTarget:y(t.mediaType,t.tmdbId,t.lastSeason??void 0,t.lastEpisode??void 0)})),[o,i.data,r.data]),W=o?i.data?.total??0:r.data?.total??0,E=o?i.isLoading:r.isLoading,A=o?i.error:r.error,V=t=>{s&&(P.mutate({mediaId:s.libId}),t&&T.mutate(s.libId))};return d(F,{headerTitle:"My TV Watchlist",headerSubtitle:"Track and manage your movies and shows",filters:Z,filterBy:l,filterBasePath:"/tv-watchlist",continueFilter:"Continue Watching",statusOptions:[...I],entries:M,total:W,isLoading:E,error:A,page:c,pageSize:S,onPageChange:m,emptyTitle:"Your TV watchlist is looking a bit empty",emptyFilteredText:"No titles match this filter.",emptyAllText:"Let's find something to watch!",browseLabel:"Browse TV & Movies",browseTarget:"/tv",removeListLabel:"Remove from TV Watchlist",listNoun:"TV watchlist",skipConfirmKey:"tvSkipRemoveConfirmation",onBulkStatus:(t,a)=>w.mutate({ids:t,status:a}),onBulkRemove:t=>{o?B.mutate(t):C.mutate(t)},onStatusChange:(t,a)=>k.mutate({id:t,status:a}),onRemoveItem:t=>T.mutate(t),renderCard:t=>d(x,{item:{id:t.libId,title:t.title,thumbnail:t.poster,typeBadge:t.mediaType==="movie"?"Movie":"TV",chapterBadge:t.badge??null,isAdult:t.adult},linkTo:t.watchTarget,hoverIcon:"play",progress:t.progressPercent!==void 0&&t.progressLabel?{percent:t.progressPercent,label:t.progressLabel}:void 0,showProgress:o,metaRow:t.year?d("span",{style:{opacity:.75},children:t.year}):void 0,onRemove:o?()=>v(t):void 0,renderPopup:(a,e)=>d(_,{item:{id:t.tmdbId??0,title:t.title||"",year:t.year||"",type:t.mediaType||"tv",image:t.poster||""},anchorRect:a,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onRequestClose:e.close})}),modals:d(N,{isOpen:!!s,itemName:s?.title,progressKind:"watch",listLabel:"my TV watchlist",onClose:()=>{v(null)},onConfirm:V})})}export{ct as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as fe,o as He,a as Ze,p as Je,d as h,A as ye,T,u as t,S as Xe}from"./vendor-core-DfaOB3Rn.js";import{u as et,a as Se}from"./vendor-query-BBT5_sHx.js";import{o as tt,u as at,d as nt,H as st,I as _e,J as we,q as Ae,K as lt,t as rt,w as ct,L as it,N as ot,O as dt,P as ht,Q as ut,B as W,R as se}from"./index-CPhXtUuw.js";import{I as g}from"./vendor-icons-C1Pj_eSX.js";import{A as mt}from"./AnimeCard-B-3qrNhu.js";import{S as pt}from"./SkeletonGrid-DqN0laN_.js";import{E as gt}from"./ErrorMessage-hMt90aG4.js";import{P as Le}from"./MediaCard-B-TmXdgl.js";import{s as n}from"./LibraryListPage.module-r6k9nyT9.js";import{A as vt}from"./ActiveFilterChips-olGfwxle.js";import"./useAnimeInfoData-BsFz9uiF.js";import"./QueueOptionsButton-DqoDQST5.js";import"./vendor-ui-3qrARCPr.js";import"./playbackCompletion-D1Gm0GbH.js";import"./useIsMobile-Dvx1uJ82.js";import"./MatureConsentModal-CEoZ_OA0.js";const ft=(d,v)=>{const l=new URLSearchParams(v);return l.delete("page"),l.sort(),`${d}|${l.toString()}`},yt=(d,v)=>{const l=new Set(d);return v.forEach(w=>l.add(w)),l},St=(d,v)=>{const l=new Set(d);return v.forEach(w=>l.delete(w)),l},_t="_sortSelect_cahhw_1",wt="_filterContainer_cahhw_30",At="_slideUpIn_cahhw_1",Lt="_searchBarWrapper_cahhw_44",Ct="_inputIconWrapper_cahhw_50",Nt="_searchIcon_cahhw_55",bt="_searchInput_cahhw_64",Bt="_searchActions_cahhw_84",Rt="_searchBtn_cahhw_89",kt="_filterToggleBtn_cahhw_94",Tt="_advancedFilters_cahhw_115",Wt="_show_cahhw_122",It="_filterDivider_cahhw_128",xt="_filterGrid_cahhw_134",Pt="_filterItem_cahhw_141",$t="_genreSection_cahhw_183",Ft="_genreLabel_cahhw_189",Ot="_genreContainer_cahhw_199",Gt="_genreButton_cahhw_205",Mt="_include_cahhw_222",Et="_exclude_cahhw_228",Dt="_filterActions_cahhw_235",zt="_applyBtn_cahhw_246",c={sortSelect:_t,filterContainer:wt,slideUpIn:At,searchBarWrapper:Lt,inputIconWrapper:Ct,searchIcon:Nt,searchInput:bt,searchActions:Bt,searchBtn:Rt,filterToggleBtn:kt,advancedFilters:Tt,show:Wt,filterDivider:It,filterGrid:xt,filterItem:Pt,genreSection:$t,genreLabel:Ft,genreContainer:Ot,genreButton:Gt,include:Mt,exclude:Et,filterActions:Dt,applyBtn:zt},Ne=["All","Continue Watching","Watching","Completed","On-Hold","Dropped","Planned"],Ce=Ne.slice(2),Ut=[{value:"ALL",label:"All Types"},{value:"TV",label:"TV Series"},{value:"Movie",label:"Movie"},{value:"OVA",label:"OVA"},{value:"ONA",label:"ONA"},{value:"TV_SHORT",label:"TV Short"},{value:"SPECIAL",label:"Special"},{value:"ADULT",label:"Adult (18+)"}],qt=[{value:"ALL",label:"All Seasons"},{value:"WINTER",label:"Winter"},{value:"SPRING",label:"Spring"},{value:"SUMMER",label:"Summer"},{value:"FALL",label:"Fall"}],ca=()=>{fe(()=>{document.title="Watchlist - dango"},[]);const{filter:d="All"}=He(),v=Ze(),[l,w]=Je(),Q=et(),le=tt(),[f,I]=h(parseInt(l.get("page")||"1")),[A,x]=h(l.get("query")||""),[L,V]=h(l.get("sortBy")||"last_added"),[C,P]=h(l.get("type")||"ALL"),[N,$]=h(l.get("season")||"ALL"),[b,F]=h(l.get("year")||"ALL"),[R,O]=h(()=>{const e={},a=l.get("genres")?.split(",").map(r=>r.trim()).filter(Boolean)||[],s=l.get("excludeGenres")?.split(",").map(r=>r.trim()).filter(Boolean)||[];return a.forEach(r=>r&&(e[r]="include")),s.forEach(r=>r&&(e[r]="exclude")),e}),[G,be]=h(()=>["type","season","year","genres","excludeGenres"].some(e=>l.has(e))),{lowEndMode:Be}=at(),{titlePreference:M}=nt(),{data:Re}=st(),re=Re?.genres||[],H=ye(null),[o,B]=h(null),[Z,E]=h(!1),[ce,D]=h(!1),[z,ke]=h(!1),[p,y]=h(new Set),J=ye(null),i=d==="Continue Watching",U=T(()=>{const e=new URLSearchParams(l);return e.delete("page"),e.set("titlePreference",M),e.toString()},[l,M]),{data:q,isLoading:Te,error:We}=_e(U,f,14),{data:Y,isLoading:Ie,error:xe}=we(d,U,f,14),{data:Pe}=_e(U,f+1,14),{data:$e}=we(d,U,f+1,14),X=T(()=>(i?q?.data:Y?.data)||[],[i,q,Y]),k=T(()=>(i?q?.total:Y?.total)||0,[i,q,Y]),j=i?Te:Ie,ie=i?We:xe,oe=i?Pe:$e;fe(()=>{x(l.get("query")||""),V(l.get("sortBy")||"last_added"),P(l.get("type")||"ALL"),$(l.get("season")||"ALL"),F(l.get("year")||"ALL");const e={},a=l.get("genres")?.split(",").map(u=>u.trim()).filter(Boolean)||[],s=l.get("excludeGenres")?.split(",").map(u=>u.trim()).filter(Boolean)||[];a.forEach(u=>u&&(e[u]="include")),s.forEach(u=>u&&(e[u]="exclude")),O(e),I(parseInt(l.get("page")||"1"));const r=ft(d,l);J.current!==null&&J.current!==r&&y(new Set),J.current=r},[l,d]);const Fe=Se({mutationFn:async({id:e,status:a})=>{await rt.watchlist.setStatus.mutate({id:e,status:a})},onSuccess:()=>{Q.invalidateQueries({queryKey:[Ae.watchlist]}),lt.success("Status updated")}}),Oe=Se(le.continueWatching.remove.mutationOptions({onSuccess:()=>{Q.invalidateQueries(le.continueWatching.pathFilter()),Q.invalidateQueries({queryKey:[Ae.continueWatching]})}})),ee=ct(),{data:de}=it("skipRemoveConfirmation"),Ge=ot(),te=T(()=>{const e=a=>a[M]||a.name||"";return[...X].sort((a,s)=>L==="name_asc"?e(a).localeCompare(e(s)):L==="name_desc"?e(s).localeCompare(e(a)):0)},[X,L,M]),ae=new Date().getFullYear(),Me=[{value:"ALL",label:"All Years"},...Array.from({length:ae-1980+1},(e,a)=>({value:String(ae-a),label:String(ae-a)}))],m=(e=L,a=1)=>{const s=new URLSearchParams;A.trim()&&s.set("query",A.trim()),e!=="last_added"&&s.set("sortBy",e),C!=="ALL"&&s.set("type",C),N!=="ALL"&&s.set("season",N),b!=="ALL"&&s.set("year",b);const r=Object.entries(R).filter(([,_])=>_==="include").map(([_])=>_),u=Object.entries(R).filter(([,_])=>_==="exclude").map(([_])=>_);r.length>0&&s.set("genres",r.join(",")),u.length>0&&s.set("excludeGenres",u.join(",")),a>1&&s.set("page",a.toString()),w(s),a!==f&&I(a)},he=e=>{if(m(L,e),H.current){const a=H.current.getBoundingClientRect().top+window.scrollY-100;window.scrollTo({top:a,behavior:"smooth"})}},Ee=()=>{x(""),V("last_added"),P("ALL"),$("ALL"),F("ALL"),O({}),w(new URLSearchParams),I(1)},De=e=>{O(a=>{const s=a[e],r={...a};return s==="include"?r[e]="exclude":s==="exclude"?delete r[e]:r[e]="include",r})},ue=(e,a)=>{if(i){B({id:e,name:a});return}String(de)==="true"||String(de)==="1"?ee.mutate({id:e}):B({id:e,name:a})},ze=()=>{if(o){if(o.ids){i?(Ue.mutate({ids:o.ids}),Z&&pe.mutate({ids:o.ids})):pe.mutate({ids:o.ids}),y(new Set),B(null),E(!1),D(!1);return}i?(Oe.mutate({showId:o.id}),Z&&ee.mutate({id:o.id})):ee.mutate({id:o.id}),ce&&Ge.mutate({key:"skipRemoveConfirmation",value:!0}),B(null),E(!1),D(!1)}},me=()=>{B(null),E(!1),D(!1)},pe=dt(),Ue=ht(),qe=ut(),Ye=()=>{ke(e=>{const a=!e;return a||y(new Set),a})},je=e=>{y(a=>{const s=new Set(a);return s.has(e)?s.delete(e):s.add(e),s})},K=te.map(e=>e.id),ne=K.length>0&&K.every(e=>p.has(e)),Ke=()=>{y(ne?e=>St(e,K):e=>yt(e,K))},Qe=e=>{p.size!==0&&(qe.mutate({ids:[...p],status:e}),y(new Set))},Ve=()=>{p.size!==0&&B({ids:[...p]})},ge=X.length>=14&&oe&&oe.data.length>0,ve=T(()=>Math.max(1,Math.ceil(k/14)),[k]),S=[];A.trim()&&S.push({key:"query",label:`Search: ${A}`,onRemove:()=>{x(""),m()}}),C!=="ALL"&&S.push({key:"type",label:`Type: ${C}`,onRemove:()=>{P("ALL"),m()}}),N!=="ALL"&&S.push({key:"season",label:`Season: ${N}`,onRemove:()=>{$("ALL"),m()}}),b!=="ALL"&&S.push({key:"year",label:`Year: ${b}`,onRemove:()=>{F("ALL"),m()}});for(const[e,a]of Object.entries(R))S.push({key:e,label:a==="include"?`+ ${e}`:`-${e}`,tone:a==="include"?"primary":"danger",onRemove:()=>{O(s=>{const r={...s};return delete r[e],r}),m()}});return t("div",{className:"page-container",children:[t("header",{className:n.header,children:[t("h2",{className:n.title,children:"My Watchlist"}),t("p",{className:n.subtitle,children:"Track and manage your anime collection"})]}),t("div",{className:n.controls,children:[t("div",{className:n.filters,children:Ne.map(e=>t("button",{className:`${n.filterBtn} ${d===e?n.active:""}`,onClick:()=>{const a=new URLSearchParams(l);a.delete("page"),v({pathname:`/watchlist/${e}`,search:a.toString()}),I(1)},children:e},e))}),t("div",{children:t("select",{className:c.sortSelect,value:L,onChange:e=>{const a=e.currentTarget.value;V(a),m(a,f)},children:[t("option",{value:"last_added",children:"Recently Added"}),t("option",{value:"name_asc",children:"Name (A-Z)"}),t("option",{value:"name_desc",children:"Name (Z-A)"})]})})]}),t("div",{className:c.filterContainer,children:[t("div",{className:c.searchBarWrapper,children:[t("div",{className:c.inputIconWrapper,children:[t(g,{name:"search",className:c.searchIcon}),t("input",{className:c.searchInput,placeholder:"Search your watchlist by title...",value:A,onInput:e=>x(e.currentTarget.value),onKeyDown:e=>e.key==="Enter"&&m()})]}),t("div",{className:c.searchActions,children:[t(W,{onClick:()=>m(),className:c.searchBtn,children:"Search"}),t("button",{className:`${c.filterToggleBtn} ${G?n.active:""}`,onClick:()=>be(!G),children:[t(g,{name:"filter",size:14}),t("span",{children:"Filters"}),G?t(g,{name:"chevron-up",size:12}):t(g,{name:"chevron-down",size:12})]})]})]}),t("div",{className:`${c.advancedFilters} ${G?c.show:""}`,children:[t("div",{className:c.filterDivider}),t("div",{className:c.filterGrid,children:[t("div",{className:c.filterItem,children:[t("label",{children:"Type"}),t("select",{value:C,onChange:e=>P(e.currentTarget.value),children:Ut.map(e=>t("option",{value:e.value,children:e.label},e.value))})]}),t("div",{className:c.filterItem,children:[t("label",{children:"Season"}),t("select",{value:N,onChange:e=>$(e.currentTarget.value),children:qt.map(e=>t("option",{value:e.value,children:e.label},e.value))})]}),t("div",{className:c.filterItem,children:[t("label",{children:"Year"}),t("select",{value:b,onChange:e=>F(e.currentTarget.value),children:Me.map(e=>t("option",{value:e.value,children:e.label},e.value))})]})]}),re.length>0&&t("div",{className:c.genreSection,children:[t("label",{className:c.genreLabel,children:"Genres"}),t("div",{className:c.genreContainer,children:re.map(e=>t("button",{className:`${c.genreButton} ${c[R[e]||""]}`,onClick:()=>De(e),children:e},e))})]}),t("div",{className:c.filterActions,children:[t(W,{variant:"secondary",onClick:Ee,children:"Reset All"}),t(W,{onClick:()=>m(),className:c.applyBtn,children:"Apply Filters"})]})]})]}),t("div",{className:n.resultsHeader,ref:H,children:[t("h3",{className:n.resultsTitle,children:[i?"Continue Watching":d,t("span",{className:n.itemCount,children:["(",k," items)"]})]}),t("div",{className:n.headerActions,children:[t("button",{className:`${n.manageBtn} ${z?n.active:""}`,onClick:Ye,children:[t(g,{name:"pencil-alt",size:13}),t("span",{children:"Bulk Manage"})]}),k>0&&t(Le,{page:f,totalPages:ve,canGoNext:ge,onChange:he,isLoading:j})]})]}),z&&t("div",{className:n.manageBar,children:[t("button",{className:n.selectAllBtn,onClick:Ke,children:[t("span",{className:`${n.selectAllBox} ${ne?n.selectAllBoxChecked:""}`,"aria-hidden":"true"}),t("span",{children:ne?"Clear Page":"Select All"})]}),t("span",{className:n.manageCount,children:[p.size," selected"]}),t("div",{className:n.manageSpacer}),!i&&t("select",{className:n.manageStatusSelect,value:"",onChange:e=>{e.currentTarget.value&&Qe(e.currentTarget.value)},disabled:p.size===0,title:"Set status for selected items",children:[t("option",{value:"",children:"Set status…"}),Ce.map(e=>t("option",{value:e,children:e},e))]}),t("button",{className:n.manageRemoveBtn,onClick:Ve,disabled:p.size===0,children:[t(g,{name:"trash",size:13}),t("span",{children:"Remove Selected"})]})]}),j?t(pt,{}):ie?t(gt,{message:ie.message}):t(Xe,{children:[S.length>0&&t(vt,{chips:S}),t("div",{className:`${n.grid} ${Be?n.lowEnd:""}`,children:te.map(e=>{const a=p.has(e.id);return t("div",{className:`${n.itemWrapper} ${a?n.selected:""}`,children:[z&&t("div",{className:n.selectOverlay,onClick:()=>je(e.id),title:a?"Deselect":"Select",children:t("span",{className:n.selectBadge,children:a?t(g,{name:"check",size:12}):null})}),t(mt,{anime:e,continueWatching:i,onRemove:()=>ue(e.id,e.name),layout:"vertical"}),!i&&!z&&t("div",{className:n.cardActions,children:[t("select",{className:n.statusSelect,value:e.status,onChange:s=>Fe.mutate({id:e.id,status:s.currentTarget.value}),children:Ce.map(s=>t("option",{value:s,children:s},s))}),t("button",{className:n.removeBtn,onClick:()=>ue(e.id,e.name),title:"Remove from Watchlist","aria-label":"Remove from Watchlist",children:t(g,{name:"trash",size:12})})]})]},e._id)})})]}),!j&&te.length===0&&t("div",{className:n.emptyState,children:[t("h3",{className:n.emptyTitle,children:"Your watchlist is looking a bit lonely"}),t("p",{className:n.emptyText,children:d!=="All"||A||C!=="ALL"||N!=="ALL"||b!=="ALL"||Object.keys(R).length>0?"No anime match these filters. Try adjusting them to see more titles.":"Let's find something to watch!"}),t("button",{className:n.emptyBtn,onClick:()=>v("/search"),children:[t(g,{name:"search",size:14}),t("span",{children:"Browse Anime"})]})]}),k>0&&t("div",{className:n.bottomPagination,children:t(Le,{page:f,totalPages:ve,canGoNext:ge,onChange:he,isLoading:j,variant:"labeled"})}),t(se,{isOpen:!!o,onClose:me,title:i?"Reset Progress":"Remove from Watchlist",children:[t(se.Body,{children:[t("p",{children:o?.ids&&o.ids.length>1?i?`Are you sure you want to remove watch progress for ${o.ids.length} items?`:`Are you sure you want to remove ${o.ids.length} items from your watchlist?`:i?`Are you sure you want to remove your watch progress for "${o?.name}"?`:`Are you sure you want to remove "${o?.name}" from your watchlist?`}),i&&t("label",{children:[t("input",{type:"checkbox",checked:Z,onChange:e=>E(e.currentTarget.checked)}),"Also remove from my watchlist"]}),!i&&!(o?.ids&&o.ids.length>1)&&t("label",{children:[t("input",{type:"checkbox",checked:ce,onChange:e=>D(e.currentTarget.checked)}),"Remember my choice"]})]}),t(se.Actions,{children:[t(W,{variant:"secondary",onClick:me,children:"No"}),t(W,{variant:"danger",onClick:ze,children:"Yes"})]})]})]})};export{ca as default};
|