veza/apps/web/dist_verification/assets/TrackDetailPage-CoaPghB_.js

2 lines
47 KiB
JavaScript
Raw Normal View History

2026-02-07 19:36:48 +00:00
import{j as e,a as m}from"./vendor-react-YMhRUmcb.js";import{C as T,B as k,a as A,b as ye,d as b,c as Ne,u as H,g as F,E as q,e as be,p as je,D as we,v as Ce,t as ke}from"./index-D2uzyr9g.js";import{a6 as Ee,V as Se,Y as X,aa as ne,a1 as De,E as ie,e as oe,aG as W,a9 as Te,aH as Re,T as le,ah as B,X as ce,aI as Oe,i as Ae,C as Y,aJ as G,aK as _e,aL as Ie,aM as de,aF as Me,aq as Pe,q as Le,r as Ve,g as Qe,al as qe,aN as Ke,as as ze}from"./vendor-icons-DINCNwpk.js";import{T as Ue,a as $e,b as z,c as U}from"./Tabs-C8UCeQNW.js";import{u as ue,a as me,b as Q}from"./vendor-tanstack-CoFNL2zy.js";import{q as _,G as L,H as He}from"./vendor-fFnFILYR.js";import{D as Fe,a as We,b as Be,c as Z,u as Ge}from"./useIsRateLimited-C43yhDlJ.js";import{A as Je}from"./avatar-DwZKme3D.js";import{I as K,L as Xe}from"./input-DL1WY4HG.js";import{S as J}from"./Spinner-DMondT4l.js";import{C as Ye}from"./confirmation-dialog-O1mUMh9e.js";import{f as Ze,d as es}from"./vendor-utils-4BWoYre8.js";import{t as ss,T as O,a as rs}from"./tracks-C_h6xkxF.js";import{A as ts,a as as}from"./alert-COAUu9KR.js";import{u as pe,d as ns}from"./vendor-router-DX94Iu-2.js";import"./dropdown-DLDDI8f2.js";function is({track:s}){const r=s.cover_art_path;return e.jsxs("div",{className:"absolute inset-0 h-[60vh] overflow-hidden pointer-events-none",children:[e.jsx("div",{className:"absolute inset-x-0 -top-40 h-[150%] opacity-20 blur-[120px] scale-110",style:{background:r?`url(${r}) center/cover`:"var(--primary)"}}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-background/40 via-background/80 to-background"})]})}function os({track:s,isCurrentlyPlaying:r,onPlay:a,onPause:t,onAddToQueue:i,onShare:o}){const n=s.cover_art_path,f=s.like_count??0,h=s.play_count??0;return e.jsxs("div",{className:"lg:col-span-4 sticky top-24 space-y-8",children:[e.jsxs("div",{className:"relative aspect-square rounded-3xl overflow-hidden shadow-[0_20px_50px_rgba(0,0,0,0.5)] border border-white/10 group",children:[n?e.jsx("img",{src:n,alt:s.title,className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"}):e.jsx("div",{className:"w-full h-full bg-gradient-to-br from-gray-800 to-black flex items-center justify-center",children:e.jsx(Ee,{className:"h-24 w-24 text-white/20"})}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-tr from-white/5 to-transparent opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none"})]}),e.jsx(T,{variant:"glass",className:"p-4 border-white/5 bg-black/30 backdrop-blur-xl",children:e.jsxs("div",{className:"flex gap-3",children:[r?e.jsxs(k,{onClick:t,className:"flex-1 h-12 bg-primary text-primary-foreground font-bold shadow-glow-cyan hover:scale-[1.02] transition-transform",children:[e.jsx(Se,{className:"h-5 w-5 mr-2 fill-current"})," Pause"]}):e.jsxs(k,{onClick:a,className:"flex-1 h-12 bg-primary text-primary-foreground font-bold shadow-glow-cyan hover:scale-[1.02] transition-transform",children:[e.jsx(X,{className:"h-5 w-5 mr-2 fill-current"})," Play"]}),e.jsx(k,{onClick:i,variant:"secondary",className:"h-12 w-12 p-0 rounded-xl",title:"Add to Queue",children:e.jsx(ne,{className:"h-5 w-5"})}),e.jsx(k,{onClick:o,variant:"secondary",className:"h-12 w-12 p-0 rounded-xl",title:"Share",children:e.jsx(De,{className:"h-5 w-5"})})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs(T,{variant:"glass",className:"p-4 flex flex-col items-center justify-center bg-black/20 text-center hover:bg-white/5 transition-colors",children:[e.jsx(ie,{className:"w-5 h-5 text-magenta-500 mb-1"}),e.jsx("span",{className:"text-xl font-bold text-white",children:f}),e.jsx("span",{className:"text-xs text-muted-foreground uppercase tracking-wider",children:"Likes"})]}),e.jsxs(T,{variant:"glass",className:"p-4 flex flex-col items-center justify-center bg-black/20 text-center hover:bg-white/5 transition-colors",children:[e.jsx(X,{className:"w-5 h-5 text-cyan-500 mb-1"}),e.jsx("span",{className:"text-xl font-bold text-white",children:h}),e.jsx("span",{className:"text-xs text-muted-foreground uppercase tracking-wider",