veza/apps/web/dist_verification/assets/UserProfilePage-CQ7fZ2k2.js

2 lines
17 KiB
JavaScript
Raw Normal View History

import{j as e,a as b}from"./vendor-react-yWUy5XPk.js";import{a as f,u as D}from"./vendor-tanstack-kPY9uK0s.js";import{u as F,f as z,a as M,g as K}from"./users-CZ92MzeH.js";import{t as B}from"./tracks-3QM2Gqjj.js";import{p as $,P as Q}from"./PlaylistCard-C4g5-M9j.js";import{s as V}from"./socialService-BgeMqoR7.js";import{b as H,L as P,a as R}from"./vendor-router-BNNHboN9.js";import{f as W}from"./vendor-utils-DtoSyhX2.js";import{B as U,v as J,n as Y,p as G,C as v,f as T,E as N,S as n}from"./index-CYK_b1Uz.js";import{A as L}from"./avatar-iUZRi_fz.js";import{g as O,ab as X,a0 as Z,ac as I,y as ee,ad as ae,s as C,L as _,U as se,r as te,Y as re,o as ie,ae as ne}from"./vendor-icons-DJFb1Tiw.js";import{A as le}from"./AnimatedNumber-e5YD_LEJ.js";import{T as oe,a as de,b as y,c as w}from"./Tabs-jry2MOtG.js";import"./vendor-CveO81sn.js";import"./vendor-security-DsrNJhpn.js";import"./vendor-http-Cz8wfb0q.js";import"./trackService-B9PLsYbw.js";import"./playlistService-Ibr1CVA5.js";import"./features-DItyhINc.js";import"./vendor-motion-B3XPS3Jc.js";import"./vendor-i18n-CMcqpBLz.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 F.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:l,isLoading:i}=f({queryKey:["userPosts",s?.id],queryFn:()=>V.getPostsByUser(s.id,1,s??void 0),enabled:!!s?.id}),{data:t,isLoading:o}=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:l,isPostsLoading:i,playlistsData:t,isPlaylistsLoading:o,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:l}=J(),{success:i,error:t}=Y(),o=D(),[u,x]=b.useStat