1import{_ as ae}from"./CJN4O7LF.js";import{_ as oe}from"./DidpQ4Xv.js";import{_ as re}from"./BvCI0MSN.js";import{e as le,I as se,j as ie,g as U,i as ne,c as P,l as t,n as v,y as f,v as S,b as l,w as r,K as ue,a as D,z as T,p,q as R,F as de,D as n,E as F,k as me,o as u,V as ce,B as $,d as y,t as N,L as B,$ as pe}from"./CL0DlyPM.js";import{A as ve}from"./xvbGtRYE.js";import{U as fe}from"./DLE1nvQ7.js";import{u as ye}from"./BwT4l2Ja.js";import{u as ge}from"./DM5sF0YU.js";import{V as we}from"./BqKgAo7E.js";import{V as he}from"./D69mF329.js";import{V as ke}from"./D0LWYtWz.js";import{V as _e}from"./B9A_BcS_.js";import{T as A}from"./BEpLbtXv.js";import"./B8O1B3jN.js";import"./DPYu6oFy.js";import"./DlAUqK2U.js";import"./Cugd4UpW.js";import"./Ch4ClKgZ.js";import"./DxMfMahn.js";import"./BXXf5EIe.js";import"./sTsRuhBR.js";import"./BF5k2yXb.js";import"./D346FstT.js";import"./mvzxq6df.js";import"./e_q3H3yh.js";import"./rNbDPzNm.js";import"./CkHHyg-j.js";import"./CYIhaS-h.js";import"./BQOFJoKh.js";import"./MjnYWEIE.js";import"./D0bbLw1Y.js";const xe={class:"d-flex justify-space-between align-center"},be={class:"d-flex flex-row gap-1 w-full"},Ve={class:"d-flex flex-row gap-2 mt-2 align-center"},Ce={key:1},Te=500,lt=le({__name:"index",async setup($e){let k,I;const M=[{title:"",align:"center",sortable:!1,key:"imagePath",width:32},{title:"Nom",align:"start",sortable:!0,key:"name",width:200},{title:"Type",align:"start",sortable:!1,key:"primaryType",width:140},{title:"Date de création",align:"center",sortable:!0,key:"createdAt",width:200},{title:"Followers",align:"center",sortable:!0,key:"followersCount",width:50},{title:"Vues",align:"center",sortable:!0,key:"viewsCount",width:50},{title:"",align:"end",sortable:!1,key:"actions",width:136}],i=n(1),s=n(10),d=n([{key:"createdAt",order:"desc"}]),E=n(null),m=n(!1),g=n(""),w=n(null),_=n(!1),x=n(null),z=se().user,L=F(()=>z.value?.role===fe.ADMIN),{selectOptions:j,labelForSlug:O}=ye(),q=ge(),{data:b,pending:G,refresh:c}=([k,I]=ie(()=>me(`artists?limit=${s.value}&skip=${(i.value-1)*s.value}&sortBy=${d.value[0].key}&orderBy=${d.value[0].order}&byUser`,()=>q("/api/v1/artists",{query:{limit:s.value,skip:(i.value-1)*s.value,sortBy:d.value[0].key,orderBy:d.value[0].order,byUser:!0,filter:g.value,primaryType:w.value||void 0}}))),k=await k,I(),k),H=(o,e)=>{E.value=e.item.id??null},K=()=>{E.value=null},J=async()=>{try{m.value=!0;const o=await $fetch("/api/v1/artists",{method:"POST",body:{name:"Nouvel artiste",slug:`nouvel-artiste-${Date.now()}`}});R(o.url)}catch(o){console.error(o),alert("Erreur lors de la création de l'artiste: "+o)}finally{m.value=!1}},Q=async o=>{if(confirm("Es-tu sûr de vouloir supprimer cet artiste ?"))try{m.value=!0,await pe(`/api/v1/artists/${o}`,{method:"DELETE"}),c()}catch(V){console.error(V),alert("Erreur lors de la suppression de l'artiste: "+V)}finally{m.value=!1}},W=async()=>{console.log("handleInstagram")},X=async o=>{try{m.value=!0;const e=await $fetch(`/api/v1/artists/${o}?full=true`);if(!e)throw new Error("Artiste non trouvé");await $fetch("/api/v1/artists",{method:"POST",body:{...e,name:e.name+" (Copie)"}}),c()}catch(e){console.error(e),alert("Erreur lors de la copie de l'artiste: "+e)}finally{m.value=!1}},Y=async o=>{x.value=o,_.value=!0};let h=null;const Z=F(()=>b.value?.results.find(o=>o.id===x.value));return U(g,()=>{i.value=1,h&&clearTimeout(h),h=setTimeout(()=>{c()},Te)}),U(w,()=>{i.value=1,c()}),ne(()=>{h&&clearTimeout(h)}),(o,e)=>{const V=ae,ee=oe,te=re;return u(),P(de,null,[t(x)&&t(Z)?.permissions?.includes(t(ve).EDIT_GENERAL)?(u(),v(V,{key:0,modelValue:t(_),"onUpdate:modelValue":e[0]||(e[0]=a=>f(_)?_.value=a:null),artistId:t(x),onSaved:e[1]||(e[1]=a=>t(c)())},null,8,["modelValue","artistId"])):S("",!0),l(ue,{class:"d-flex justify-center align-center","model-value":t(m)},{default:r(()=>[l(ce,{indeterminate:"",color:"white"})]),_:1},8,["model-value"]),D("div",xe,[D("div",be,[l(we,{class:"flex-grow-1",modelValue:t(g),"onUpdate:modelValue":e[2]||(e[2]=a=>f(g)?g.value=a:null),label:"Rechercher",variant:"outlined",color:"accent","hide-details":"",density:"compact"},null,8,["modelValue"]),T((u(),v(p,{icon:"mdi-plus",variant:"text",color:"accent",onClick:J},{default:r(()=>[l($,null,{default:r(()=>[...e[8]||(e[8]=[y("mdi-plus",-1)])]),_:1})]),_:1})),[[A,"Ajouter un artiste"]]),T((u(),v(p,{icon:"mdi-instagram",variant:"text",color:"accent",onClick:W},{default:r(()=>[l($,null,{default:r(()=>[...e[9]||(e[9]=[y("mdi-instagram",-1)])]),_:1})]),_:1}
1)),[[A,"Ajouter un artiste depuis Instagram"]]),t(L)?T((u(),v(p,{key:0,icon:"mdi-shape",variant:"text",color:"accent",to:"/dashboard/artists/categories"},{default:r(()=>[l($,null,{default:r(()=>[...e[10]||(e[10]=[y("mdi-shape",-1)])]),_:1})]),_:1})),[[A,"Gérer les types"]]):S("",!0),T((u(),v(p,{icon:"mdi-refresh",variant:"text",color:"accent",onClick:t(c)},{default:r(()=>[l($,null,{default:r(()=>[...e[11]||(e[11]=[y("mdi-refresh",-1)])]),_:1})]),_:1},8,["onClick"])),[[A,"Actualiser la liste"]])])]),D("div",Ve,[l(he,{class:"flex-grow-1",modelValue:t(w),"onUpdate:modelValue":e[3]||(e[3]=a=>f(w)?w.value=a:null),items:t(j),"item-title":"title","item-value":"value",label:"Type",variant:"outlined",color:"accent","hide-details":"",density:"compact",clearable:""},null,8,["modelValue","items"])]),l(ke,{class:"mt-4",style:{"background-color":"#212121 !important"},hover:"","items-per-page":t(s),"onUpdate:itemsPerPage":e[4]||(e[4]=a=>f(s)?s.value=a:null),page:t(i),"onUpdate:page":e[5]||(e[5]=a=>f(i)?i.value=a:null),"sort-by":t(d),"onUpdate:sortBy":e[6]||(e[6]=a=>f(d)?d.value=a:null),items:t(b)?.results??[],"items-length":t(b)?.total_results??0,headers:M,loading:t(G),"page-text":`${(t(i)-1)*t(s)+1}-${(t(i)-1)*t(s)+t(s)} de ${t(b)?.total_results??0}`,"item-value":"_id",dense:"","items-per-page-text":"Ãléments par page","no-data-text":"Aucun élément trouvé","loading-text":"Chargement...","onUpdate:options":t(c),"onClick:row":e[7]||(e[7]=(a,C)=>("navigateTo"in o?o.navigateTo:t(R))(C.item.url)),"onMouseenter:row":H,"onMouseleave:row":K},{"item.actions":r(({item:a})=>[l(ee,{visible:t(E)===a.id,"min-width":136},{default:r(()=>[l(p,{icon:"mdi-pencil",variant:"text",color:"accent",size:"small",onClick:B(C=>Y(a.id),["stop"])},null,8,["onClick"]),l(p,{icon:"mdi-content-copy",variant:"text",color:"accent",size:"small",onClick:B(C=>X(a.id),["stop"])},null,8,["onClick"]),l(p,{icon:"mdi-delete",variant:"text",color:"red",size:"small",onClick:B(C=>Q(a.id),["stop"])},null,8,["onClick"])]),_:2},1032,["visible"])]),"item.imagePath":r(({item:a})=>[l(te,{src:a.imagePath?`${a.imagePath}`:null,"nexus-frame":"",size:32},null,8,["src"])]),"item.primaryType":r(({item:a})=>[a.primaryType?(u(),v(_e,{key:0,size:"small",variant:"tonal"},{default:r(()=>[y(N(t(O)(a.primaryType)),1)]),_:2},1024)):(u(),P("span",Ce,"â"))]),"item.createdAt":r(({item:a})=>[y(N(new Date(a.createdAt).toLocaleString("fr-FR")),1)]),_:1},8,["items-per-page","page","sort-by","items","items-length","loading","page-text","onUpdate:options"])],64)}}});export{lt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.