1import{S as U}from"./SongList-B-AEo96Y.js";import{_ as V}from"./PageSkeleton.vue_vue_type_script_setup_true_lang-DFC9brsy.js";import{m as R,Y as B,a4 as L,I as n,h as r,e as s,_ as o,f as F,F as g,N as v,k as c,V as l,g as h,a6 as b,j as m,z as w,a7 as y,a3 as x,c as k,L as I,A as K}from"./@vue-B0GE5aIU.js";import{d as q,f as E,c as Y}from"./index-CpjNUM-t.js";import{u as G}from"./usePlayActions-BaGz-P0h.js";import{f as H}from"./time-0mw6GSkJ.js";import{_ as J}from"./TabGroup.vue_vue_type_script_setup_true_lang-HSYKeQoP.js";import{_ as u}from"./Button.vue_vue_type_style_index_0_lang-m_iMuojf.js";import{b as M,m as O,a as Q}from"./transformers-Kd2rCWx0.js";import{u as W,d as X}from"./vue-router-CSEfk--a.js";import{a as Z}from"./index-CWA6YKuY.js";import"./useAudio-DeQY8RbK.js";import"./pinia-C9Fzugdq.js";import"./settings-CQHUtTjw.js";import"./gsap-a3sj5zmn.js";import"./LazyImage.vue_vue_type_script_setup_true_lang-Dy3SUmG_.js";import"./@vueuse-CfJMloJw.js";import"./vue-i18n-CZ_3txD8.js";import"./@intlify-axonKP8r.js";import"./axios-DcNlVx-A.js";import"./nprogress-C7TNpM9m.js";import"./pinia-plugin-persistedstate-fFNy23FG.js";const ss={class:"text-primary flex-1 overflow-hidden px-4"},ts={class:"h-full overflow-auto"},os={class:"relative mb-8 flex shrink-0"},es={class:"absolute inset-0 overflow-hidden"},is=["src"],as={key:1,class:"h-full w-full bg-linear-to-br from-pink-500/30 to-purple-600/30"},ls={class:"absolute inset-0"},ns={class:"floating-notes"},rs={class:"relative z-10 w-full p-8"},cs={class:"flex flex-col items-start gap-8 lg:flex-row lg:items-center"},ds={class:"shrink-0"},ms={class:"group relative"},us={class:"h-48 w-48 overflow-hidden rounded-full ring-4 ring-white/20 transition-all group-hover:ring-pink-500/40"}
1,fs=["src","alt"],ps={key:1,class:"flex h-full w-full items-center justify-center bg-linear-to-br from-pink-400 to-purple-500"},gs={class:"absolute inset-0 flex items-center justify-center rounded-full bg-black/0 opacity-0 transition-all group-hover:bg-black/30 group-hover:opacity-100"},hs={class:"min-w-0 flex-1"},bs={class:"animate-fade-in-up mb-2 text-4xl font-bold lg:text-5xl"},_s={key:0,class:"animate-fade-in-up text-primary/60 mb-4 text-lg",style:{"animation-delay":"0.1s"}},vs={class:"animate-fade-in-up mb-6 flex flex-wrap items-center gap-4",style:{"animation-delay":"0.2s"}},ws={class:"flex items-center gap-2 rounded-full bg-white/10 px-4 py-2 backdrop-blur-sm"},ys={class:"text-sm"},xs={class:"flex items-center gap-2 rounded-full bg-white/10 px-4 py-2 backdrop-blur-sm"},ks={class:"text-sm"},Ss={class:"flex items-center gap-2 rounded-full bg-white/10 px-4 py-2 backdrop-blur-sm"},zs={class:"text-sm"},Cs={key:0,class:"flex items-center gap-2 rounded-full bg-white/10 px-4 py-2 backdrop-blur-sm"},$s={class:"text-sm"},Ps={class:"animate-fade-in-up flex flex-wrap items-center gap-3",style:{"animation-delay":"0.3s"}},Ts={class:"pb-8"},As={key:0,class:"glass-card mb-6 p-5"},js={class:"mb-2 flex items-center gap-2 text-sm font-semibold"},Ds={class:"text-primary/70 line-clamp-3 text-sm leading-relaxed"},Ns={class:"mb-6"},Us={class:"animate-fade-in"},Vs={class:"animate-fade-in"},Rs={class:"grid grid-cols-2 gap-5 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6"},Bs=["onClick"],Ls={class:"relative mb-3 aspect-square w-full overflow-hidden rounded-xl"},Fs=["src"],Is={class:"truncate text-sm font-medium"},Ks={class:"text-primary/50 mt-1 truncate text-xs"},qs=R({__name:"artist",setup(Es){const S=W(),z=X(),C=k(()=>Number(S.params.id)),t=I({info:{},songs:[],albums:[],loading:!0,followed:!1,activeTab:"songs"}),{activeTab:$}=B(t),{playAll:P,shufflePlay:T}=G(),A=async a=>{t.loading=!0;try{const[e,f,p]=await Promise.all([q({id:a}),E({id:a}),Y({id:a,limit:12})]),i=M(e);if(i){const d=e?.data?.artist||e?.artist||{};t.info={id:i.id,name:i.name,alias:i.alias||[],picUrl:i.picUrl,briefDesc:d?.briefDesc||"",albumSize:i.albumSize||0,musicSize:i.musicSize||0,mvSize:i.mvSize||0,followed:d?.followed||!1,fansCount:d?.fansCnt||0},t.followed=t.info.followed}t.songs=O(f,50),t.albums=Q(p,12)}finally{t.loading=!1}};L(C,a=>{!Number.isNaN(a)&&a>0&&A(a)},{immediate:!0});const _=()=>P(t.songs),j=()=>T(t.songs),D=()=>{t.followed=!t.followed},N=k(()=>[{key:"songs",labelKey:"artistPage.tabs.hotSongs",icon:"icon-[mdi--music-note]",count:t.songs.length},{key:"albums",labelKey:"artistPage.tabs.albums",icon:"icon-[mdi--album]",count:t.albums.length}]);return(a,e)=>{const f=V,p=U;return n(),r("div",ss,[s("div",ts,[o(t).loading?(n(),F(f,{key:0,sections:["hero","list"],"list-count":12})):(n(),r(g,{key:1},[s("section",os,[s("div",es,[o(t).info.picUrl?(n(),r("img",{key:0,src:o(t).info.picUrl+"?param=800y800",class:"h-full w-full scale-110 object-cover opacity-20 blur-2xl"},null,8,is)):(n(),r("div",as))]),s("div",ls,[s("div",ns,[(n(),r(g,null,v(6,i=>s("div",{key:i,class:"note",style:K({animationDelay:i*1.2+"s"})},l(["ðµ","ð¶","âª","â«","ð¼","ð¤"][i-1]),5)),64))])]),s("div",rs,[s("div",cs,[s("div",ds,[s("div",ms,[s("div",us,[o(t).info.picUrl?(n(),r("img",{key:0,src:o(t).info.picUrl+"?param=400y400",class:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-110",alt:a.$t("layout.aside.menu.artists")},null,8,fs)):(n(),r("div",ps,[...e[2]||(e[2]=[s("span",{class:"icon-[mdi--account-music] h-20 w-20"},null,-1)])]))]),s("div",gs,[c(u,{variant:"ghost",size:"icon-md",rounded:"full",icon:"icon-[mdi--play]","icon-class":"h-8 w-8 text-white",onClick:_,class:"flex h-16 w-16 items-center justify-center rounded-full bg-white/20 backdrop-blur-sm transition-transform hover:scale-110"})])])]),s("div",hs,[s("h1",bs,l(o(t).info.name),1),o(t).info.alias?.length?(n(),r("p",_s,l(o(t).info.alias.join(" / ")),1)):h("",!0),s("div",vs,[s("div",ws,[e[3]||(e[3]=s("span",{class:"icon-[mdi--music-note] h-5 w-5 text-pink-400"},null,-1)),s("span",ys,l(o(t).info.musicSize)+" "+l(a.$t("artistPage.stats.songs")),1)]),s("div",xs,[e[4]||(e[4]=s("span",{class:"icon-[mdi--album] h-5 w-5 text-purple-400"},null,-1)),s("span",ks,l(o(t).info.albumSize)+" "+l(a.$t("artistPage.stats.albums")),1)]),s("div",Ss,[e[5]||(e[5]=s("span",{class:"icon-[mdi--video] h-5 w-5 text-blue-400"},null,-1)),s("span",zs,l(o(t).info.mvSize)+" "+l(a.$t("artistPage.stats.mvs")),1)]),o(t).info.fansCount?(n(),r("div",Cs,[e[6]||(e[6]=s("span",{class:"icon-[mdi--account-group] h-5 w-5 text-rose-400"},null,-1)),s("span",$s,l(o(H)(o(t).info.fansCount))+" "+l(a.$t("artistPage.stats.fans")),1
1)])):h("",!0)]),s("div",Ps,[c(u,{variant:"solid",size:"md",rounded:"full",class:"gap-2 px-6 shadow-lg shadow-pink-500/25 hover:shadow-xl hover:shadow-pink-500/30",onClick:_},{default:b(()=>[e[7]||(e[7]=s("span",{class:"icon-[mdi--play] h-5 w-5"},null,-1)),m(" "+l(a.$t("artistPage.playTop")),1)]),_:1}),c(u,{variant:"soft",size:"md",rounded:"full",class:"gap-2",onClick:j},{default:b(()=>[e[8]||(e[8]=s("span",{class:"icon-[mdi--shuffle] h-4 w-4"},null,-1)),m(" "+l(a.$t("actions.shufflePlay")),1)]),_:1}),c(u,{variant:"soft",size:"md",rounded:"full",class:w(["gap-2",o(t).followed?"bg-pink-500/20! text-pink-400!":""]),onClick:D},{default:b(()=>[s("span",{class:w([o(t).followed?"icon-[mdi--heart]":"icon-[mdi--heart-outline]","h-4 w-4"])},null,2),m(" "+l(o(t).followed?a.$t("common.followed"):a.$t("common.follow")),1)]),_:1},8,["class"])])])])])]),s("div",Ts,[o(t).info.briefDesc?(n(),r("div",As,[s("h3",js,[e[9]||(e[9]=s("span",{class:"icon-[mdi--information-outline] h-4 w-4 text-pink-400"},null,-1)),m(" "+l(a.$t("artistPage.bioTitle")),1)]),s("p",Ds,l(o(t).info.briefDesc),1)])):h("",!0),s("div",Ns,[c(J,{modelValue:o(t).activeTab,"onUpdate:modelValue":e[0]||(e[0]=i=>o(t).activeTab=i),tabs:o(N),size:"md",onClick:e[1]||(e[1]=i=>$.value=i)},null,8,["modelValue","tabs"])]),y(s("div",Us,[c(p,{songs:o(t).songs,"current-playing-index":-1,"show-header":!0},null,8,["songs"])],512),[[x,o(t).activeTab==="songs"]]),y(s("div",Vs,[s("div",Rs,[(n(!0),r(g,null,v(o(t).albums,i=>(n(),r("div",{key:i.id,class:"glass-card group cursor-pointer overflow-hidden p-3 transition-all hover:bg-white/10",onClick:d=>o(z).push(`/album/${i.id}`)},[s("div",Ls,[s("img",{src:i.picUrl+"?param=400y400",class:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"},null,8,Fs),e[10]||(e[10]=s("div",{class:"absolute inset-0 flex items-center justify-center bg-black/0 opacity-0 transition-all group-hover:bg-black/40 group-hover:opacity-100"},[s("span",{class:"icon-[mdi--play-circle] h-12 w-12 text-white"})],-1))]),s("p",Is,l(i.name),1),s("p",Ks,l(i.publishTime)+" · "+l(a.$t("commonUnits.songsShort",i.size)),1)],8,Bs))),128))])],512),[[x,o(t).activeTab==="albums"]])])],64))])])}}}),ut=Z(qs,[["__scopeId","data-v-8dedfc56"]]);export{ut 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.