|
|
|
|
import{j as e,a as C}from"./vendor-react-Dkpvlwai.js";import{u as L,L as N}from"./vendor-router-4bycex72.js";import{a as w,_ as p,u as k,E as T,C as d,b as u,c as q,d as x,e as m,f as g,B as F}from"./index-jE2AGx2y.js";import{u as A,a as Q}from"./vendor-tanstack-BoI3DtL9.js";import"./chatStore-Dpim9vVR.js";import{x as D,y as b}from"./vendor-CAoAb3tF.js";import{A as E}from"./AnimatedNumber-Dt_wg-GW.js";import{a8 as v,D as y,F as I,x as j,a9 as K,aa as P,K as R,S as G}from"./vendor-icons-CbmLcMl-.js";import"./vendor-utils-CDFfoeXY.js";const l={all:["library"],items:r=>[...l.all,"items",r],favorites:()=>[...l.all,"favorites"]};async function M(r={}){const{page:a=1,limit:t=20,type:o,search:n}=r,i=(await w.get("/tracks",{params:{page:a,limit:t,type:o,search:n}})).data,s=Array.isArray(i.items)?i.items:Array.isArray(i)?i:[];return{...i,items:s,page:i.page||a,limit:i.limit||t,total:i.total||0,has_next:i.has_next??!1,has_prev:i.has_prev??!1}}async function S(){const a=(await w.get("/tracks",{params:{page:1,limit:100,type:"favorites"}})).data;return Array.isArray(a.items)?a.items:Array.isArray(a)?a:[]}function _(r={}){return A({queryKey:l.items(r),queryFn:()=>M(r),staleTime:300*1e3,gcTime:600*1e3})}function H(){return A({queryKey:l.favorites(),queryFn:S,staleTime:300*1e3,gcTime:600*1e3})}function O(r={}){const{data:a}=_(r);return a?.items??[]}function U(){const r=_({}),a=H();return{isLoading:r.isLoading||a.isLoading,error:r.error||a.error}}function V(){const r=Q();return{fetchItems:async a=>{await r.refetchQueries({queryKey:l.items(a)})},fetchFavorites:async()=>{await r.refetchQueries({queryKey:l.favorites()})},uploadFile:async(a,t)=>{const{apiClient:o}=await p(async()=>{const{apiClient:c}=await import("./index-jE2AGx2y.js").then(i=>i.G);return{apiClient:c}},__vite__mapDeps([0,1,2,3,4,5,6,7,8])),n=new FormData;n.append("file",a),n.append("title",t.title),t.description&&n.append("description",t.description),await o.post("/tracks",n,{headers:{"Content-Type":"multipart/form-data"}}),await r.invalidateQueries({queryKey:l.all})},toggleFavorite:async a=>{const{apiClient:t}=await p(async()=>{const{apiClient:o}=await import("./index-jE2AGx2y.js").then(n=>n.G);return{apiClient:o}},__vite__mapDeps([0,1,2,3,4,5,6,7,8]));await t.post(`/tracks/${a}/favorite`),await r.invalidateQueries({queryKey:l.all})},deleteItem:async a=>{const{apiClient:t}=await p(async()=>{const{apiClient:o}=await import("./index-jE2AGx2y.js").then(n=>n.G);return{apiClient:o}},__vite__mapDeps([0,1,2,3,4,5,6,7,8]));await t.delete(`/tracks/${a}`),await r.invalidateQueries({queryKey:l.all})},clearItems:()=>{r.invalidateQueries({queryKey:l.all})}}}function $({isLoading:r,skeleton:a,children:t,className:o}){return e.jsx("div",{className:o,children:e.jsx(D,{mode:"wait",children:r?e.jsx(b.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},children:a},"skeleton"):e.jsx(b.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.2,delay:.05},children:t},"content")})})}function B({username:r}){const a=new Date().getHours(),t=a<12?"Good morning":a<18?"Good afternoon":"Good evening";return e.jsxs("div",{className:"relative overflow-hidden rounded-xl bg-gradient-to-r from-primary/20 via-primary/10 to-transparent p-6 mb-6",children:[e.jsx("div",{className:"absolute top-0 right-0 w-64 h-64 bg-primary/10 rounded-full blur-3xl -translate-y-1/2 translate-x-1/2"}),e.jsxs("div",{className:"relative z-10",children:[e.jsxs("h1",{className:"text-heading-1",children:[t,","," ",e.jsx("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-primary to-secondary",children:r})]}),e.jsx("p",{className:"text-muted-foreground mt-1",children:"Here's what's happening with your music today."})]})]})}const z=[{icon:P,label:"Upload Track",path:"/library?action=upload",color:"bg-primary/10 text-primary"},{icon:R,label:"Create Playlist",path:"/library",color:"bg-success/10 text-success"},{icon:G,label:"Discover Music",path:"/search",color:"bg-warning/10 text-warning"},{icon:y,label:"Open Chat",path:"/chat",color:"bg-info/10 text-info"}];function W(){
|