1import{_ as oe}from"./WXDkzc_W.js";import{_ as le}from"./Dhj4G6rL.js";import{_ as re}from"./KneKv0SY.js";import{e as ne,I as ie,j as se,g as U,i as ue,c as P,l as t,n as g,y as v,v as S,b as r,w as l,K as de,a as E,z as T,p,q as F,F as me,D as s,E as R,k as ce,o as u,V as pe,B as $,d as f,t as N,L as A,$ as ge}from"./BN-If_5M.js";import{O as ve}from"./CXKEC5J4.js";import{U as fe}from"./DLE1nvQ7.js";import{a as ye}from"./B4ooSj-c.js";import{u as we}from"./B5v415GZ.js";import{V as he}from"./C2d0Pm69.js";import{V as ke}from"./DEj_AQs8.js";import{V as _e}from"./DLYBrnIV.js";import{V as xe}from"./-bO-Uwj9.js";import{T as z}from"./CUckTKUz.js";import"./DUT4vvih.js";import"./BN_cXqPp.js";import"./DlAUqK2U.js";import"./Cugd4UpW.js";import"./D_xpDJYO.js";import"./Cub0xYmI.js";import"./CvnFjmpW.js";import"./BQHY3P7f.js";import"./CyT4ZGEo.js";import"./Bly4YHg5.js";import"./DZx8eEfp.js";import"./CeCU-4gg.js";import"./7Ifew-Mh.js";import"./Drn2zS2x.js";import"./B7u5_A9M.js";import"./DOBTM-Kh.js";import"./DLyjuo5E.js";import"./BlzX9Fb9.js";import"./CEiwre9y.js";const be={class:"d-flex justify-space-between align-center"},Ce={class:"d-flex flex-row gap-1 w-full"},Ve={class:"d-flex flex-row gap-2 mt-2 align-center"},Te={key:1},$e=500,it=ne({__name:"index",async setup(ze){let k,B;const O=[{title:"",align:"center",sortable:!1,key:"imagePath",width:32},{title:"Nom",align:"start",sortable:!0,key:"name",width:300},{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}],M=o=>o.trim().toLowerCase().normalize("NFD").replace(new RegExp("\\p{M}","gu"),"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60),i=s(1),n=s(10),d=s([{key:"createdAt",order:"desc"}]),D=s(null),m=s(!1),y=s(""),w=s(null),_=s(!1),x=s(null),L=ie().user,j=R(()=>L.value?.role===fe.ADMIN),{selectOptions:q,labelForSlug:G}=ye(),I=we(),{data:b,pending:H,refresh:c}=([k,B]=se(()=>ce(`organizations?limit=${n.value}&skip=${(i.value-1)*n.value}&sortBy=${d.value[0].key}&orderBy=${d.value[0].order}&byUser`,()=>I("/api/v1/organizations",{query:{limit:n.value,skip:(i.value-1)*n.value,sortBy:d.value[0].key,orderBy:d.value[0].order,byUser:!0,filter:y.value,primaryType:w.value||void 0}}))),k=await k,B(),k),K=(o,e)=>{D.value=e.item.id??null},J=()=>{D.value=null},Q=async()=>{try{m.value=!0;const o=await $fetch("/api/v1/organizations",{method:"POST",body:{name:"Nouvelle organisation",slug:`nouvelle-organisation-${Date.now()}`}});F(o.url)}catch(o){console.error(o),alert("Erreur lors de la création de l'organisation: "+o)}finally{m.value=!1}},W=async o=>{if(confirm("Es-tu sûr de vouloir supprimer cette organisation ?"))try{m.value=!0,await ge(`/api/v1/organizations/${o}`,{method:"DELETE"}),c()}catch(C){console.error(C),alert("Erreur lors de la suppression de l'organisation: "+C)}finally{m.value=!1}},X=async()=>{console.log("handleInstagram")},Y=async o=>{try{m.value=!0;const e=await I(`/api/v1/organizations/${o}`,{query:{full:!0}});if(!e)throw new Error("Organisation non trouvée");await $fetch("/api/v1/organizations",{method:"POST",body:{name:e.name+" (Copie)",slug:`${M(e.name)}-copie-${Date.now()}`.slice(0,60),description:e.description??null,links:e.links}}),c()}catch(e){console.error(e),alert("Erreur lors de la copie de l'organisation: "+e)}finally{m.value=!1}},Z=async o=>{x.value=o,_.value=!0},ee=R(()=>b.value?.results.find(o=>o.id===x.value));let h=null;return U(y,()=>{i.value=1,h&&clearTimeout(h),h=setTimeout(()=>{c()},$e)}),U(w,()=>{i.value=1,c()}),ue(()=>{h&&clearTimeout(h)}),(o,e)=>{const C=oe,te=le,ae=re;return u(),P(me,null,[t(x)&&t(ee)?.permissions?.includes(t(ve).EDIT_GENERAL)?(u(),g(C,{key:0,modelValue:t(_),"onUpdate:modelValue":e[0]||(e[0]=a=>v(_)?_.value=a:null),organizationId:t(x),onSaved:e[1]||(e[1]=a=>t(c)())},null,8,["modelValue","organizationId"])):S("",!0),r(de,{class:"d-flex justify-center align-center","model-value":t(m)},{default:l(()=>[r(pe,{indeterminate:"",color:"white"})]),_:1},8,["model-value"]),E("div",be,[E("div",Ce,[r(he,{class:"flex-grow-1",modelValue:t(y),"onUpdate:modelValue":e[2]||(e[2]=a=>v(y)?y.value=a:null),label:"Rechercher",variant:"outlined",color:"accent","hide-details":"",density:"compact"},null,8,["modelValue"]),T((u(),g(p,{icon:"mdi-plus",variant:"text",color:"accent",onClick:Q},{default:l(()=>[r($,null,{default:l(()=>[...e[8]||(e[8]=[f("mdi-plus",-1)])]),_:1})]),_:1})),[[z,"Ajouter une organisation"]]),T((u(),g(p,{icon:"mdi-instagram",variant:"text",color:"accent",onClick:X},{default:l(()=>[r($,null,{default:l(()=>[...e[9]||(e[9]=[f("mdi-instagram",-1)])]),_:1})]),_:1}
1)),[[z,"Ajouter une organisation depuis Instagram"]]),t(j)?T((u(),g(p,{key:0,icon:"mdi-shape",variant:"text",color:"accent",to:"/dashboard/organizations/categories"},{default:l(()=>[r($,null,{default:l(()=>[...e[10]||(e[10]=[f("mdi-shape",-1)])]),_:1})]),_:1})),[[z,"Gérer les types"]]):S("",!0),T((u(),g(p,{icon:"mdi-refresh",variant:"text",color:"accent",onClick:t(c)},{default:l(()=>[r($,null,{default:l(()=>[...e[11]||(e[11]=[f("mdi-refresh",-1)])]),_:1})]),_:1},8,["onClick"])),[[z,"Actualiser la liste"]])])]),E("div",Ve,[r(ke,{class:"flex-grow-1",modelValue:t(w),"onUpdate:modelValue":e[3]||(e[3]=a=>v(w)?w.value=a:null),items:t(q),"item-title":"title","item-value":"value",label:"Type",variant:"outlined",color:"accent","hide-details":"",density:"compact",clearable:""},null,8,["modelValue","items"])]),r(_e,{class:"mt-4",style:{"background-color":"#212121 !important"},hover:"","items-per-page":t(n),"onUpdate:itemsPerPage":e[4]||(e[4]=a=>v(n)?n.value=a:null),page:t(i),"onUpdate:page":e[5]||(e[5]=a=>v(i)?i.value=a:null),"sort-by":t(d),"onUpdate:sortBy":e[6]||(e[6]=a=>v(d)?d.value=a:null),items:t(b)?.results??[],"items-length":t(b)?.total_results??0,headers:O,loading:t(H),"page-text":`${(t(i)-1)*t(n)+1}-${(t(i)-1)*t(n)+t(n)} 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,V)=>("navigateTo"in o?o.navigateTo:t(F))(V.item.url)),"onMouseenter:row":K,"onMouseleave:row":J},{"item.actions":l(({item:a})=>[r(te,{visible:t(D)===a.id,"min-width":136},{default:l(()=>[r(p,{icon:"mdi-pencil",variant:"text",color:"accent",size:"small",onClick:A(V=>Z(a.id),["stop"])},null,8,["onClick"]),r(p,{icon:"mdi-content-copy",variant:"text",color:"accent",size:"small",onClick:A(V=>Y(a.id),["stop"])},null,8,["onClick"]),r(p,{icon:"mdi-delete",variant:"text",color:"red",size:"small",onClick:A(V=>W(a.id),["stop"])},null,8,["onClick"])]),_:2},1032,["visible"])]),"item.imagePath":l(({item:a})=>[r(ae,{src:a.imagePath?`${a.imagePath}`:null,"nexus-frame":"",tile:"",size:32},null,8,["src"])]),"item.primaryType":l(({item:a})=>[a.primaryType?(u(),g(xe,{key:0,size:"small",variant:"tonal"},{default:l(()=>[f(N(t(G)(a.primaryType)),1)]),_:2},1024)):(u(),P("span",Te,"â"))]),"item.createdAt":l(({item:a})=>[f(N(a.createdAt?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{it 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.