1import{_ as P}from"./CKczc90G.js";import{e as B,f as U,g as D,D as n,c as r,o as a,a as i,F as N,h as s,t as _,q as x,r as C,l as E,m as q,U as H,i as V,G as L,I as W,B as M,u as O,j,L as R}from"./DzstUiHR.js";import{_ as Y}from"./DlAUqK2U.js";import{u as z,I as G}from"./CXyBFcad.js";import{u as J}from"./B2aUzEZh.js";import{a as K}from"./BjHWrR7M.js";import"./ByJYuwXo.js";const Q={class:"seriesViewItem__link"},X={class:"seriesViewItem__textBox"},Z={class:"seriesInfo__box"},ee={class:"seriesInfo__titleBox"},te={class:"seriesTitle"},se={key:0,class:"seriesSubTitle"},oe={key:1,class:"workName"},ae={class:"seriesAuthor"},ie={class:"seriesViewItem__thumbnail"},re={class:"thumbnail__box"},ne=["src","alt"],ce={key:0,class:"new"},le={key:1,class:"completed"},de=B({__name:"SeriesItem",props:{data:{}},setup(k){const t=k,T=U(),{t:I}=D(),y=n(()=>t.data.seriesId||t.data.series?.seriesId),v=n(()=>t.data.seriesName||t.data.series?.seriesName),g=n(()=>t.data.seriesSubtitle||""),c=n(()=>t.data.seriesThumbnailPath||t.data.series?.seriesThumbnailPath),b=n(()=>t.data.seriesType||t.data.series?.seriesType),$=n(()=>t.data.author||t.data.series?.author),m=n(()=>t.data.authorTitle||""),l=n(()=>t.data.completedYn==="Y"),d=n(()=>{const e=t.data.firstPublishedWorkAt;if(e===void 0)return!1;if(e===null)return!0;const o=new Date(e).getTime();return Number.isFinite(o)&&Date.now()>=o&&Date.now()-o<10080*60*1e3}),u=n(()=>{switch(b.value){case"A":return"Article";case"P":return"Poem";case"V":return"Video";
1case"W":return"Webtoon";case"AV":return"Article/Video";case"MA":return"Music/Article";default:return""}}),h=n(()=>`T${b.value||"A"}`),p=()=>{T.push(`/series/${y.value}`)};return(e,o)=>(a(),r("li",{class:"seriesViewItem",onClick:p},[i("div",Q,[i("div",X,[i("div",{class:N(["seriesType",s(h)])},_(s(u)),3),i("div",Z,[i("div",ee,[i("h3",te,_(s(v)),1),s(g)?(a(),r("div",se,_(s(g)),1)):x("",!0),k.data.workName?(a(),r("div",oe,_(k.data.workName),1)):x("",!0)]),i("div",ae,_(s($))+" "+_(s(m)),1)])]),i("div",ie,[i("div",re,[s(c)?(a(),r("img",{key:0,src:s(c),alt:s(v)},null,8,ne)):x("",!0)]),s(d)?(a(),r("span",ce,"NEW")):x("",!0),s(l)?(a(),r("span",le,_(s(I)("series.completed")),1)):x("",!0)])])]))}}),ue=Object.assign(Y(de,[["__scopeId","data-v-70cf2e34"]]),{__name:"SeriesItem"}),_e={class:"seriesViewHeader"},me={class:"sectionTitle"},he={key:1,class:"seriesView__list"},pe=B({__name:"SeriesCategory",props:{data:{},category:{},initialSeries:{},active:{type:Boolean}},setup(k){const t=k,T=M(),{locale:I}=D(),y=C(t.initialSeries||[]),v=C(!t.initialSeries),g=C(null);let c,b=!!t.initialSeries;const $=n(()=>I.value==="ko"?t.data.categoryName:t.data.categorySubtitle||t.data.categoryName),m=async()=>{const d=t.category;try{const u=await $fetch(`/api/series/category/${d}/0`,{baseURL:T.public.apiBaseUrl});y.value=u.series||[],y.value.sort((h,p)=>h.completedYn==="Y"&&p.completedYn==="N"?1:h.completedYn==="N"&&p.completedYn==="Y"?-1:0)}catch(u){console.error("Failed to fetch series:",u),y.value=[]}finally{v.value=!1}},l=()=>{b||(b=!0,c?.disconnect(),m())};return E(()=>{if(!b){if(t.active){l();return}if(!g.value||!("IntersectionObserver"in window)){l();return}c=new IntersectionObserver(d=>{d.some(u=>u.isIntersecting)&&l()},{rootMargin:"500px 0px"}),c.observe(g.value)}}),q(()=>t.active,d=>{d&&l()}),H(()=>c?.disconnect()),(d,u)=>{const h=P,p=ue;return a(),r("section",{ref_key:"section",ref:g,class:"seriesCategory"},[i("div",_e,[i("h2",me,_(s($)),1)]),s(v)?(a(),V(h,{key:0,kind:"series"})):(a(),r("ul",he,[(a(!0),r(L,null,W(s(y),e=>(a(),V(p,{key:e.seriesId,data:e},null,8,["data"]))),128))]))],512)}}}),fe=Object.assign(Y(pe,[["__scopeId","data-v-e85509d8"]]),{__name:"SeriesCategory"}),ye={class:"seriesView"},ve={class:"seriesView__inner"},ge={class:"section"},be={class:"sectionTitle"},we={class:"tabList"},Ie=["id","onClick"],Se=B({__name:"index",async setup(k){let t,T;const{t:I,locale:y}=D(),{fetchSeoData:v}=J(),{triggerHapticFeedback:g}=z();O({title:`${I("menu.series")} | ${I("title")}`});const{data:c,status:b}=([t,T]=j(async()=>K("series-first-category",async()=>{const e=await v("/api/series/category"),o=e[0]?(await v(`/api/series/category/${e[0].categoryId}/0`)).series||[]:[];return{categories:e,firstSeries:o}})),t=await t,T(),t),$=n(()=>c.value?.categories||[]),m=C(0),l=C(!1),d=e=>y.value==="ko"?e.categoryName:e.categorySubtitle||e.categoryName,u=e=>{g(G.Light),m.value=e;{localStorage.setItem("curSeriesTabIndex",String(e));const o=document.querySelector(`.seriesCategory.sc_${e}`);if(o){const S=window.innerWidth>1024?o.offsetTop-200:o.offsetTop-130;window.scrollTo({top:S,behavior:"smooth"})}h(e)}},h=e=>{const o=document.querySelector(`#sct_${e}.tabItem`);if(!o)return;const S=document.querySelector(".tabList");if(!S)return;const A=o.offsetLeft,w=S.offsetWidth,f=o.offsetWidth,F=A-w/2+f/2;S.scrollTo({left:F,behavior:"smooth"})},p=()=>{const e=window.scrollY,o=window.innerWidth;e>=180&&o>1024||e>=60&&o<=1024||e>=20&&o<=567?l.value=!0:l.value=!1};return E(()=>{const e=localStorage.getItem("curSeriesTabIndex");e&&(m.value=parseInt(e,10),setTimeout(()=>{h(m.value)},100)),window.addEventListener("scroll",p)}),R(()=>{window.removeEventListener("scroll",p)}),(e,o)=>{const S=P,A=fe;return a(),r("div",ye,[i("div",ve,[s(b)==="pending"?(a(),V(S,{key:0,kind:"series",intro:""})):(a(),r(L,{key:1},[i("div",ge,[i("h2",be,_(s(I)("book.byCategory")),1),i("div",{class:N(["tabs",{tabsFixed:s(l)}])},[i("ul",we,[(a(!0),r(L,null,W(s($),(w,f)=>(a(),r("li",{id:`sct_${f}`,key:w.categoryId,class:N(["tabItem",{"is-active":s(m)===f}]),onClick:F=>u(f)},[i("a",null,_(d(w)),1)],10,Ie))),128))])],2)]),(a(!0),r(L,null,W(s($),(w,f)=>
1(a(),V(A,{key:w.categoryId,data:w,category:w.categoryId,"initial-series":f===0?s(c)?.firstSeries:void 0,active:s(m)===f,class:N(`sc_${f}`)},null,8,["data","category","initial-series","active","class"]))),128))],64))])])}}}),Ve=Y(Se,[["__scopeId","data-v-75e72e81"]]);export{Ve as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.