1import{_ as de}from"./BXCSZbS7.js";import{u as Y,_ as ue}from"./CujgmvmU.js";import{I as J,_ as me}from"./BuGt6mir.js";import{i as j,S as z,F as R,N as K,A as W,u as B,w as S,e as g,f as D,j8 as $,j9 as N,ja as O,h as P,a0 as Q,y as Z,X as x,c as l,o as r,C as E,n as T,l as F,m as C,p as V,q as a,a as f,E as ee,t as b,G as _e,U as pe,jb as ge,r as te,B as fe,aH as he,k as ye,a5 as we,s as X,a7 as ve,a4 as xe,jc as be,M as ke,aS as Ae}from"./BTeorgPV.js";import{u as Ee}from"./DrksKktE.js";import{T as L}from"./5EVhCyqb.js";import"./D_IoIPPc.js";let G=null;const se=()=>(G||(G=new Re),G);class Re{constructor(){}async getUserFollowedTags(){const e="/api/strapi/user-followed-tags";try{return await $fetch(e,{headers:void 0,method:"GET"})}catch(s){const o=j(s)?s.statusCode:500;switch(o){case 401:throw new W(R.AUTH_TOKEN_EXPIRED,{statusCode:o});case 404:throw new K(R.USER_FOLLOWED_TAGS_FAILED,{statusCode:o});default:throw new z(R.USER_FOLLOWED_TAGS_FAILED,{statusCode:o})}}}async getTagRanking(e){const t="/api/strapi/tag-ranking";try{return await $fetch(t,{method:"GET",query:e,headers:void 0})}catch(o){const c=j(o)?o.statusCode:500;switch(c){case 401:throw new W(R.AUTH_TOKEN_EXPIRED,{statusCode:c});case 404:throw new K(R.TAG_RANKING_FAILED,{statusCode:c});default:throw new z(R.TAG_RANKING_FAILED,{statusCode:c})}}}}const ae=async({page:h})=>{const e=Ee(),{handleAsyncDataError:t}=D(),{data:s,error:o,refresh:c}=await B(()=>`favorite-news-${h.value}`,async()=>{const _={page:h.value,limit:J.FAVORITE_NEWS,favorite:!0};return await e.getNewsMany(_)},{server:!0,lazy:!1,watch:[h]});S(o,_=>{_&&t(o)},{immediate:!0});const d=g(()=>s.value?.data||[]),n=g(()=>s.value?.meta.pagination.total||0);return{articleItems:d,total:n,refresh:c,error:o}},q=async()=>{const h=se(),{handleAsyncDataError:e}=D(),{data:t,error:s,status:o,pending:c,refresh:d}=await B("tag-ranking",async()=>{const m={limit:10};return await h.getTagRanking(m)},{server:!0,lazy:!1});S(s,m=>{m&&e(s)},{immediate:!0});const n=g(()=>t.value?.data?.[$]??[]),_=g(()=>t.value?.data?.[N]??[]),u=g(()=>t.value?.data?.[O]??[]);return{data:t,status:o,pending:c,getCategoryData:m=>m===$?n:m===N?_:u,refresh:d,error:s}},U=async()=>{const h=se(),{handleAsyncDataError:e}=D(),{data:t,error:s,refresh:o}=await B("favoriteTags",async()=>await h.getUserFollowedTags(),{server:!0,lazy:!1});return S(s,d=>{d&&e(s)},{immediate:!0}),{tagItems:g(()=>t.value?.data||[]),refresh:o,error:s}},Te={class:"favorite-news"},Fe={key:0,class:"flex-center min-h-[200px] text-gray-500"},Ce=P({__name:"News",props:{isAuthenticated:{type:Boolean}},async setup(h){let e,t;const s=Q(),o=Z(),{fallbackArticleSize:c}=Y(),d=g(()=>Number(s.query.page)||1),{articleItems:n,total:_}=([e,t]=x(()=>ae({page:d})),e=await e,t(),e),u=y=>{o.push({query:{...s.query,page:y}})};return(y,m)=>{const i=ue,k=me;return r(),l("div",Te,[(r(!0),l(F,null,C(a(n),(p,v)=>(r(),T(i,{key:p.R_guid,isAuthenticated:y.isAuthenticated,article:p,size:a(c)(p),class:V({"mt-8":v>0})},null,8,["isAuthenticated","article","size","class"]))),128)),a(n).length===0?(r(),l("div",Fe," è¨äºãããã¾ãã ")):E("",!0),a(n).length>0?(r(),T(k,{key:1,page:a(d),itemsPerPage:a(J).FAVORITE_NEWS,total:a(_),"onUpdate:page":u},null,8,["page","itemsPerPage","total"])):E("",!0)])}}}),Ie={class:"flex flex-auto flex-col items-center"},$e={key:0,class:"flex-center min-h-[200px] text-gray-500"},Ne={key:1,class:"grid w-full grid-cols-1 gap-4 md:grid-cols-2"},Se={class:"border-gray-180 w-max-[50%] flex items-center rounded-[44px] border border-solid bg-white py-1 pr-0.5 pl-2.5"},De={class:"mr-2 ml-1.5 truncate pr-2 text-[13px] leading-none font-semibold"},Pe={class:"ml-2 w-[50%] text-[13px] leading-none whitespace-nowrap"},Le=P({__name:"Tags",async setup(h){let e,t;const{updateUserTagFollows:s}=Y(),{tagItems:o,refresh:c}=([e,t]=x(()=>U()),e=await e,t(),e),{handleError:d}=D(),n=async _=>{try{const u=await s({R_tag:_});if(pe(u))return;const{action:y}=u.meta;y===ge&&await c()}catch(u){d(u)}};return(_,u)=>{const y=_e;return r(),l("div",Ie,[!a(o)||!a(o).length?(r(),l("div",$e,u[0]||(u[0]=[f("p",null,"ã¿ã°ããã©ãã¼ããã¦ãã¾ãã",-1)]))):(r(),l("div",Ne,[(r(!0),l(F,null,C(a(o),m=>(r(),l("div",{key:m.R_tag,class:"flex items-center justify-start"},[f("div",Se,[u[1]||(u[1]=f("div",{class:"h-3 w-3 rounded-full bg-green-500"},null,-1)),f("span",De,b(m.R_tag),1),ee(y,{name:"i-ph:x-circle-fill",class:"h-6 w-6 flex-none cursor-pointer text-gray-300",mode:"svg",onClick:i=>n(m.R_tag)},null,8,["onClick"])]),f("span",Pe,b(m.articleCount)+"ä»¶ã®è¨äº",1)]))),128))]))])}}}),Ge={class:"favorite-ranking"},Oe={class:"text-[15px] leading-none font-semibold md:text-lg md:font-medium"},qe={key:0,class:"relative mt-5"},Ue={class:"overflow-hidden"},Be={class:"border-gray-190 flex h-[34px] w-fit items-center rounded-[30px] border border-solid py-[7px] pr-4 pl-2.5 md:bg-white"},Ve={class:"text-gray-680 text-xs font-semibold"},He={class:"text-black-1f ml-2 font-[Hiragino_Sans] text-[13px] leading-[135%] whitespace-nowrap"},Me={key:0,class:"md:from-gray-60 pointer-events-none absolute right-0 bottom-0 left-0 h-[50px] bg-gradient-to-t from-white to-transparent"},je={key:1,class:"relative mt-5"},ze={key:2,class:"mt-2.5 text-center"},Ke=["onClick"],We=P({__name:"Ranking",async setup(h){let e,t;const{getCategoryData:s,status:o}=([e,t]=x(()=>
1q()),e=await e,t(),e),c=g(()=>s($).value),d=g(()=>s(N).value),n=g(()=>s(O).value),_=te({}),u=g(()=>[{key:$,label:"ãã©ãã¼ç·æ°",items:c.value},{key:N,label:"æ¥ä¸æã©ã³ãã³ã°",items:d.value},{key:O,label:"è¡ãã¨ã®ãã©ãã¼ç·æ°",items:n.value}].map(i=>{const k=_.value[i.key]??!1;return{...i,visibleItems:k?i.items.slice(0,10):i.items.slice(0,6),hasMore:i.items.length>5,isExpanded:k}})),y=i=>i===0?"bg-gold-500 text-white border-gold-500":i===1?"bg-gray-400 text-white border-gray-400":i===2?"bg-brown-500 text-white border-brown-500":"bg-white border-gray-180",m=i=>{_.value[i]=!(_.value[i]??!1)};return(i,k)=>(r(),l("div",Ge,[(r(!0),l(F,null,C(a(u),p=>(r(),l("div",{key:p.key,class:"md:bg-gray-60 not-first:mt-10 md:rounded-[10px] md:border md:border-solid md:border-gray-100 md:px-10 md:py-13 md:pl-[65px]"},[f("p",Oe,b(p.label),1),p.items.length>0?(r(),l("div",qe,[f("div",Ue,[(r(!0),l(F,null,C(p.visibleItems,(v,I)=>(r(),l("div",{key:v.R_tag,class:"flex items-center justify-start not-first:mt-2.5"},[f("div",Be,[f("div",{class:V(["flex-center mr-[9px] h-6 w-6 rounded-full border border-solid font-[Hiragino_Sans] text-sm font-bold",y(I)])},b(I+1),3),f("p",Ve,"#"+b(v.R_tag),1)]),f("span",He,b(v.followCount)+"人ããã©ãã¼",1)]))),128))]),p.hasMore&&!p.isExpanded?(r(),l("div",Me)):E("",!0)])):a(o)==="success"?(r(),l("div",je,b(p.label)+"ã®ã©ã³ãã³ã°ãã¼ã¿ãããã¾ãã ",1)):E("",!0),p.hasMore&&!p.isExpanded?(r(),l("div",ze,[f("button",{onClick:v=>m(p.key),class:"mt-5 text-sm font-semibold"}," ãã£ã¨è¦ã> ",8,Ke)])):E("",!0)]))),128))]))}}),Xe={class:"flex w-full flex-col px-5"},Ye={class:"relative flex flex-col items-start md:flex-row md:pl-2"},Je={key:0,class:"flex max-w-full gap-2 overflow-x-auto py-1 md:absolute md:top-[50%] md:right-0 md:translate-y-[-50%] md:py-2"},Qe=["onClick"],it=P({__name:"index",async setup(h){let e,t;const s=Q(),{isActiveArea:o}=fe(),c=g(()=>o(be)),d=L.FAVORITE.map(w=>w.key),n=g(()=>{const w=Array.isArray(s.query.tab)?s.query.tab[0]:s.query.tab;return d.includes(String(w))?String(w):d[0]}),_=g(()=>d.indexOf(n.value)),u=g(()=>Number(s.query.page)||1),y=he();if(n.value==="ranking")[e,t]=x(()=>q()),await e,t();else if(n.value==="tags"){const{refresh:w}=([e,t]=x(()=>U()),e=await e,t(),e);y.isHydrating||([e,t]=x(()=>w()),await e,t())}else[e,t]=x(()=>ae({page:u})),await e,t();S(n,async w=>{if(w==="ranking")await q();else if(w==="tags"){const{refresh:A}=await U();await A()}});const m=te(!1);ye(()=>{m.value=!0});const i=g(()=>m.value),k=Z(),{isAuthenticated:p}=([e,t]=x(()=>xe()),e=await e,t(),e),{sendFavoriteTab:v}=we(),I=w=>{const A=L.FAVORITE[w].key;v(A),k.push({query:{tab:A}})},{generateBreadcrumbPaths:re}=Ae();return(w,A)=>{const oe=de,ne=Ce,ie=Le,le=We,ce=ve;return r(),T(ce,{breadcrumbPaths:a(re)({route:a(s)}),"bg-color":a(n)===a(d)[1]?"bg-gray-50 md:bg-transparent":""},{default:X(()=>[f("div",Xe,[f("div",Ye,[ee(oe,null,{default:X(()=>A[0]||(A[0]=[ke("ã¿ã°",-1)])),_:1,__:[0]}),a(c)?(r(),l("div",Je,[(r(!0),l(F,null,C(a(L).FAVORITE,(H,M)=>(r(),l("button",{key:H.label,class:V(["px-3 py-2.5 text-[14px] leading-none font-medium whitespace-nowrap md:py-3 md:text-base md:text-[17px]",M===a(_)?"text-red-600":"text-black-1f font-semibold","first:pl-0 md:first:pl-3"]),onClick:Ze=>I(M)},b(H.label),11,Qe))),128))])):E("",!0)]),a(i)&&a(n)==="news"?(r(),T(ne,{key:0,isAuthenticated:a(p),class:"mt-12.5"},null,8,["isAuthenticated"])):a(i)&&a(n)==="tags"?(r(),T(ie,{key:1,class:"mt-12"})):a(i)&&a(n)==="ranking"?(r(),T(le,{key:2,class:"mt-6 md:mt-8"})):E("",!0)])]),_:1},8,["breadcrumbPaths","bg-color"])}}});export{it 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.