2026-02-12 01:15:11 +00:00
|
|
|
import{j as e,a as b}from"./vendor-react-Dkpvlwai.js";import{u as f,a as D}from"./vendor-tanstack-BoI3DtL9.js";import{u as E,f as z,a as M,g as K}from"./users-_nyTUiUz.js";import{t as B}from"./tracks-DFRy168u.js";import{p as $,P as Q}from"./PlaylistCard-DbxTYpbq.js";import{s as V}from"./socialService-DIjj2A6_.js";import{d as H,L as P,u as R}from"./vendor-router-4bycex72.js";import{g as W}from"./vendor-utils-CDFfoeXY.js";import{B as U,u as J,g as Z,p as G,C as j,e as T,k as N,S as i}from"./index-jE2AGx2y.js";import{A as L}from"./avatar-DSgu46M3.js";import{L as O,ap as X,aq as Y,ar as I,as as ee,U as ae,a8 as C,a9 as _,x as se,Z as te,D as re,F as ie,at as ne}from"./vendor-icons-CbmLcMl-.js";import{A as le}from"./AnimatedNumber-Dt_wg-GW.js";import{T as oe,a as de,b as y,c as w}from"./Tabs-DcqFJUlH.js";import"./vendor-CAoAb3tF.js";import"./trackService-BilERhFT.js";import"./features-DIZYat5y.js";function ce(){const{username:a}=H(),{data:s,isLoading:d,error:r}=f({queryKey:["userProfile",a],queryFn:async()=>{if(!a)throw new Error("Username is required");return E.getProfileByUsername(a)},enabled:!!a,retry:!1}),{data:m,isLoading:c}=f({queryKey:["userTracks",s?.id],queryFn:()=>B.list(1,12,{userId:s?.id}),enabled:!!s?.id}),{data:n,isLoading:o}=f({queryKey:["userPosts",s?.id],queryFn:()=>V.getPostsByUser(s.id,1,s),enabled:!!s?.id}),{data:t,isLoading:l}=f({queryKey:["userPlaylists",s?.id],queryFn:()=>$.list(1,12,s?.id),enabled:!!s?.id}),u=s?.first_name||s?.last_name?`${s.first_name||""} ${s.last_name||""}`.trim():s?.username??"",x=u.split(" ").map(p=>p[0]).join("").toUpperCase().slice(0,2),h=s?.created_at!=null?W(new Date(s.created_at),"MMM yyyy"):null,g=r!=null&&typeof r?.response?.status=="number"&&r.response.status===404;return{username:a??null,profile:s,isLoading:d,error:r,isNotFound:g,tracksData:m,isTracksLoading:c,postsData:n,isPostsLoading:o,playlistsData:t,isPlaylistsLoading:l,displayName:u,initials:x,memberSince:h}}function me(){return e.jsxs("div",{className:"h-64 md:h-80 w-full relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-primary/30 via-primary/20 to-secondary/30"}),e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-primary/20 via-transparent to-transparent"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-transparent via-white/5 to-transparent",style:{backgroundSize:"200% 100%",animation:"shimmer 8s ease-in-out infinite"},"aria-hidden":!0}),e.jsx("div",{className:"absolute bottom-0 left-6 md:left-10 w-48 h-48 rounded-full bg-primary/15 blur-3xl animate-pulse","aria-hidden":!0}),e.jsx("div",{className:"absolute inset-0 noise opacity-20","aria-hidden":!0}),e.jsx("div",{className:"absolute inset-x-0 bottom-0 h-32 bg-gradient-to-t from-background to-transparent","aria-hidden":!0})]})}function ue({isNotFound:a=!0,onRetry:s}){return e.jsxs("div",{className:"container mx-auto px-4 py-8 flex flex-col items-center justify-center min-h-layout-page text-center",children:[e.jsx("div",{className:"text-9xl mb-4","aria-hidden":!0,children:"👾"}),e.jsx("h2",{className:"text-3xl font-heading font-bold text-destructive mb-2",children:a?"User Not Found":"Something went wrong"}),e.jsx("p",{className:"text-muted-foreground text-lg max-w-md",children:a?"The signal was lost in the void. We couldn't find the profile you were looking for.":"We couldn't load this profile. Check your connection and try again."}),e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-3 mt-8",children:[s&&!a&&e.jsx(U,{variant:"default",onClick:s,children:"Try again"}),e.jsx(U,{variant:"outline",asChild:!0,children:e.jsx(P,{to:"/dashboard",children:"Return to Base"})})]})]})}function xe({userId:a,initialFollowing:s=!1,onFollowChange:d,className:r,size:m="default",variant:c}){const{data:n}=J(),{success:o,error:t}=Z(),l=D(),[u,x]=b.useState(s),[h,g]=b.useState(!1),{data:p}=f({queryKey:["userProfile",a],queryFn:()=>K(a),enabled:!!a&&a!==n?.id,staleTime:3e4});if(b.useEffect(()=>{p&&p.is_following!==void 0?x(p.is_following):
|