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

2 lines
54 KiB
JavaScript
Raw Normal View History

import{j as e,a as m}from"./vendor-react-yWUy5XPk.js";import{g as I,v as F,n as W,B as S,c as w,C as A,b as De,d as Re,L as re,i as H,f as Oe,p as Ae,D as Me,S as k,G as Ie,w as _e}from"./index-CYK_b1Uz.js";import{u as te,a as ae,b as U}from"./vendor-tanstack-kPY9uK0s.js";import{A as _}from"./vendor-http-Cz8wfb0q.js";import{T as C,g as Le}from"./trackService-B9PLsYbw.js";import{u as Ne,D as Pe,a as Ve,b as Ke,c as oe}from"./useIsRateLimited-BzrZ3iht.js";import{g as je,o as ye,s as ze,q as le,r as J,aU as Ue,af as qe,c as ee,aV as Qe,aQ as $e,ai as Fe,aW as We,y as we,ae as B,aJ as He,aX as Be,i as be,al as ne,X as ke,aY as Ge,C as Je,a3 as ce,ar as ie,aZ as Xe,E as Ye,a as Ce,$ as Ze,P as es,l as ss,n as rs,aa as ts,ao as ue,a_ as de,A as as}from"./vendor-icons-DJFb1Tiw.js";import{T as ns,a as is,b as X,c as Y}from"./Tabs-jry2MOtG.js";import{A as os}from"./avatar-iUZRi_fz.js";import{I as G,L as ls}from"./input-CGdBHtsQ.js";import{C as cs}from"./confirmation-dialog-DS4X89Bi.js";import{a as us,c as ds}from"./vendor-utils-DtoSyhX2.js";import{m as $,A as ms}from"./vendor-motion-B3XPS3Jc.js";import{t as hs}from"./tracks-3QM2Gqjj.js";import{u as ps}from"./useCopyToClipboard-B0J_nZ9-.js";import{A as xs,a as fs}from"./alert-FT0GWKW4.js";import{a as Ee,b as gs}from"./vendor-router-BNNHboN9.js";import"./vendor-CveO81sn.js";import"./vendor-security-DsrNJhpn.js";import"./vendor-i18n-CMcqpBLz.js";import"./dropdown-CA3EXRNb.js";function vs({track:r}){const s=r.cover_art_path;return e.jsxs("div",{className:"absolute inset-0 h-layout-lyrics overflow-hidden pointer-events-none select-none",children:[s&&e.jsx("img",{src:s,alt:"","aria-hidden":"true",className:"absolute inset-0 w-full h-full object-cover scale-110 opacity-25 blur-3xl"}),e.jsx("div",{className:"absolute inset-x-0 -top-40 h-full opacity-15",style:{background:s?`url(${s}) center/cover no-repeat`:"linear-gradient(135deg, var(--primary), transparent)"}}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-transparent via-background/60 to-background"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-background/30 via-background/70 to-background"})]})}async function Ns(r){try{await I.post(`/tracks/${r}/like`)}catch(s){if(s instanceof _){if(s.response?.status===401)throw new C("Non autorisé: Veuillez vous connecter pour liker ce track","VALIDATION",!1,s);if(s.response?.status===404)throw new C("Track introuvable","VALIDATION",!1,s);if(s.response?.status===500)throw new C("Erreur serveur: Impossible de liker le track. Veuillez réessayer plus tard.","SERVER",!0,s);if(s.code==="ECONNABORTED"||s.code==="ETIMEDOUT"||!s.response)throw new C("Erreur réseau: Impossible de se connecter au serveur.","NETWORK",!0,s);const a=s.response?.data?.error||s.message||"Échec du like du track";throw new C(a,"UNKNOWN",!1,s)}throw s instanceof C?s:new C("Erreur inconnue lors du like du track","UNKNOWN",!1,s)}}async function js(r){try{await I.delete(`/tracks/${r}/like`)}catch(s){if(s instanceof _){if(s.response?.status===401)throw new C("Non autorisé: Veuillez vous connecter pour unliker ce track","VALIDATION",!1,s);if(s.response?.status===404)throw new C("Track introuvable","VALIDATION",!1,s);if(s.response?.status===500)throw new C("Erreur serveur: Impossible de unliker le track. Veuillez réessayer plus tard.","SERVER",!0,s);if(s.code==="ECONNABORTED"||s.code==="ETIMEDOUT"||!s.response)throw new C("Erreur réseau: Impossible de se connecter au serveur.","NETWORK",!0,s);const a=s.response?.data?.error||s.message||"Échec de l'unlike du track";throw new C(a,"UNKNOWN",!1,s)}throw s instanceof C?s:new C("Erreur inconnue lors de l'unlike du track","UNKNOWN",!1,s)}}async function ys(r){try{const s=await I.get(`/tracks/${r}/likes`);return{count:s.data.count,isLiked:s.data.is_liked}}catch(s){if(s instanceof _){if(s.response?.status===404)throw new C("Track introuvable","VALIDATION",!1,s);if(s.response?.status===500)throw new C("Erreur serveur: Impossible de récupérer les likes. Veuillez réessayer plus tard.","SERVER",!0,s);if(s.code==="ECONNABORTED"||s.code==="ETIMEDOUT"||!s.