PageSourceSearch

https://equipagesolidaire.fr/_nuxt/CG4RPaEa2.js

js equipagesolidaire.fr collected 2026-10-04 12:32:28 UTC 12,760 bytes, 1 lines download raw bytes

1import{D as a,E as p,Ht as Q,On as C,_ as e,b as v,bt as R,g as y,k as J,mt as d,nr as r,o as O,qt as l,v as N,vn as h,y as g}from"./DJsGfdon.js";import{t as W}from"./Bh5REn69.js";import{m as X}from"./IPLGV7Jy.js";import{t as Y}from"./C9WxONJa.js";import{t as Z}from"./C1oNUYW2.js";import{_ as ee,t as te}from"./BGe74o_12.js";import{t as se}from"./CyC-EBJK.js";import{t as ae}from"./nQSCCRBD.js";import{t as re}from"./Cr327Bcp.js";import{t as le}from"./Df6PFzGg.js";import{t as oe}from"./C_hbRtw3.js";import{t as ie}from"./Bstvga7R.js";import{t as ne}from"./Dtf9LSga.js";import{t as de}from"./Y7Qq3Qq-.js";import{t as ue}from"./DVZxb_hv2.js";import{t as me}from"./C-tZILqt2.js";(function(){try{var c=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},o=new c.Error().stack;o&&(c._sentryDebugIds=c._sentryDebugIds||{},c._sentryDebugIds[o]="98f9b2db-2fae-447b-8bb3-a58f3d4df335",c._sentryDebugIdIdentifier="sentry-dbid-98f9b2db-2fae-447b-8bb3-a58f3d4df335")}catch{}})();var ve={class:"h-full overflow-hidden"},pe={class:"flex-1 overflow-y-auto p-4"},xe={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 mb-8"},fe={class:"flex items-center justify-between"},ce={class:"text-2xl sm:text-3xl font-bold text-blue-700 dark:text-blue-300"},_e={class:"flex items-center justify-between"},ge={class:"text-2xl sm:text-3xl font-bold text-green-700 dark:text-green-300"},be={class:"flex items-center justify-between"},ye={class:"text-2xl sm:text-3xl font-bold text-purple-700 dark:text-purple-300"},he={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4"},ke={class:"flex items-center justify-between"},we={class:"flex items-center space-x-2"},Ce={class:"text-sm text-gray-500"},De={key:0,class:"flex justify-center py-8"},Ue={key:1,class:"text-center py-8"},je={key:2,class:"space-y-4"},Ne={class:"block sm:hidden"},Ve={class:"flex items-start justify-between mb-3"},Ae={class:"flex-1"},Ge={class:"flex items-center space-x-2 mb-2"},Ie={class:"text-base font-semibold text-gray-900 dark:text-white"},$e={key:0,class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},Be={class:"grid grid-cols-2 gap-3 mb-4"},Oe={class:"text-center"},Le={class:"text-xl font-bold text-blue-600 dark:text-blue-400"},ze={class:"text-center"},Fe={class:"text-xl font-bold text-green-600 dark:text-green-400"},Pe={class:"space-y-1 mb-4"},Te={class:"text-xs text-gray-500"},Me={class:"font-medium text-gray-700 dark:text-gray-300"},Se={class:"text-xs text-gray-500"},qe={class:"font-mono text-gray-700 dark:text-gray-300"},Ee={class:"flex justify-end"},He={class:"hidden sm:flex items-start justify-between"},Ke={class:"flex-1"},Qe={class:"flex items-center space-x-3 mb-2"},Re={class:"text-lg font-semibold text-gray-900 dark:text-white"},Je={key:0,class:"text-gray-600 dark:text-gray-400 mb-4"},We={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},Xe={class:"text-center"},Ye={class:"text-2xl font-bold text-blue-600 dark:text-blue-400"},Ze={class:"text-center"},et={class:"text-2xl font-bold text-green-600 dark:text-green-400"},tt={class:"text-center"},st={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},at={class:"text-center"},rt={class:"text-sm font-mono text-gray-700 dark:text-gray-300"},lt={class:"flex items-center space-x-2 ml-4"},ot={key:0,class:"flex justify-center mt-6"},it={class:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-2"},nt={class:"text-base sm:text-lg font-semibold text-gray-900"},dt={class:"space-y-6"},ut={class:"grid grid-cols-1 sm:grid-cols-2 gap-4 sm:gap-6"},mt={class:"space-y-2"},vt={class:"flex justify-between"},pt={class:"font-medium"},xt={class:"flex justify-between"},ft={class:"font-medium"},ct={class:"flex justify-between"},_t={class:"font-mono"},gt={class:"flex justify-between"},bt={class:"font-medium"},yt={class:"space-y-2"},ht={class:"flex justify-between"},kt={class:"font-medium text-blue-600"},wt={class:"flex justify-between"},Ct={class:"font-medium text-green-600"},Dt={class:"flex justify-between"},Ut=J({__name:"groups",setup(c){de({layout:"back-office",middleware:[Y(["ADMIN"])]});const o=h({search:"",sortBy:"name",sortOrder:"asc"}),x=h(1),k=h(10),w=h(!1),u=h(null),L=[{label:"Nom",value:"name"},{label:"Nombre de cadenas",value:"deviceCount"},{label:"Nombre d'utilisateurs",value:"userCount"},{label:"ID",value:"id"}],z=[{label:"Croissant",value:"asc"},{label:"Décroissant",value:"desc"}],b=y(()=>{let i=[...G.value];if(o.value.search){const t=o.value.search.toLowerCase();i=i.filter(n=>n.name.toLowerCase().includes(t)||n.description&&n.description.toLowerCase().includes(t))}return i.sort((t,n)=>{let f=t[o.value.sortBy],m=n[o.value.sortBy];return typeof f=="string"&&(f=f.toLowerCase(),m=m.toLowerCase()),o.value.sortOrder==="asc"?f>m?1:-1:f<m?1:-1}),i}),F=y(()=>{const i=(x.value-1)*k.value,t=i+k.value;return b.value.slice(i,t)}),P=y(()=>Math.ceil(b.value.length/k.value)),{data:V,isLoading:A,refetch:T}=Z({queryKey:["admin-groups"],queryFn:async()=>(await W("/api/admin/automate-locks/groups")).data}),G=y(()=>V.value?.success?V.value.groups||[]:[]),D=y(()=>{const i=G.value;return{totalGroups:i.length,totalUsers:i.reduce((t,n)=>t+n.userCount,0),totalDevices:i.reduce((t,n)=>t+n.deviceCount,0)}}),M=X(()=>{x.value=1},300),I=()=>{x.value=1},$=i=>{u.value=i,w.value=!0};return Q(x,()=>{window.scrollTo({top:0,behavior:"smooth"})}),(i,t)=>{const n=te,f=me,m=ee,_=ie,S=ne,U=ue,B=ae,j=le,q=se,E=oe,H=re;return d(),v(O,null,[e("div",ve,[a(E,{grow:""},{default:l(()=>[a(f,{title:"Gestion des groupes Master Lock",description:"Gérer les groupes d'accès aux cadenas automatiques"},{right:l(()=>[a(n,{icon:"i-heroicons-arrow-path",variant:"outline",size:"sm",onClick:t[0]||(t[0]=()=>{C(T)()}),loading:C(A)},{default:l(()=>[...t[7]||(t[7]=[p(" Actualiser ",-1)])]),_:1},8,["loading"])]),_:1}),e("div",pe,[e("div",xe,[a(_,{class:"bg-gradient-to-br from-blue-50 to-blue-100 dar
1k:from-blue-950/30 dark:to-blue-900/30"},{default:l(()=>[e("div",fe,[e("div",null,[t[8]||(t[8]=e("p",{class:"text-xs sm:text-sm text-blue-600 dark:text-blue-400 font-medium"},"Total groupes",-1)),e("p",ce,r(D.value?.totalGroups||0),1),t[9]||(t[9]=e("p",{class:"text-xs text-blue-500 dark:text-blue-400 mt-1"}," Groupes actifs ",-1))]),a(m,{name:"i-heroicons-user-group",class:"w-8 h-8 sm:w-10 sm:h-10 text-blue-500"})])]),_:1}),a(_,{class:"bg-gradient-to-br from-green-50 to-green-100 dark:from-green-950/30 dark:to-green-900/30"},{default:l(()=>[e("div",_e,[e("div",null,[t[10]||(t[10]=e("p",{class:"text-xs sm:text-sm text-green-600 dark:text-green-400 font-medium"},"Total utilisateurs",-1)),e("p",ge,r(D.value?.totalUsers||0),1),t[11]||(t[11]=e("p",{class:"text-xs text-green-500 dark:text-green-400 mt-1"}," Utilisateurs dans les groupes ",-1))]),a(m,{name:"i-heroicons-users",class:"w-8 h-8 sm:w-10 sm:h-10 text-green-500"})])]),_:1}),a(_,{class:"bg-gradient-to-br from-purple-50 to-purple-100 dark:from-purple-950/30 dark:to-purple-900/30"},{default:l(()=>[e("div",be,[e("div",null,[t[12]||(t[12]=e("p",{class:"text-xs sm:text-sm text-purple-600 dark:text-purple-400 font-medium"},"Total cadenas",-1)),e("p",ye,r(D.value?.totalDevices||0),1),t[13]||(t[13]=e("p",{class:"text-xs text-purple-500 dark:text-purple-400 mt-1"}," Cadenas associés ",-1))]),a(m,{name:"i-heroicons-key",class:"w-8 h-8 sm:w-10 sm:h-10 text-purple-500"})])]),_:1})]),a(_,{class:"mb-6"},{header:l(()=>[...t[14]||(t[14]=[e("h3",{class:"text-lg font-semibold"},"Filtres de recherche",-1)])]),default:l(()=>[e("div",he,[a(U,{label:"Recherche"},{default:l(()=>[a(S,{modelValue:o.value.search,"onUpdate:modelValue":t[1]||(t[1]=s=>o.value.search=s),placeholder:"Nom du groupe, description...",icon:"i-heroicons-magnifying-glass",onInput:C(M)},null,8,["modelValue","onInput"])]),_:1}),a(U,{label:"Tri"},{default:l(()=>[a(B,{modelValue:o.value.sortBy,"onUpdate:modelValue":t[2]||(t[2]=s=>o.value.sortBy=s),items:L,"label-key":"label","value-key":"value",onChange:I},null,8,["modelValue"])]),_:1}),a(U,{label:"Ordre"},{default:l(()=>[a(B,{modelValue:o.value.sortOrder,"onUpdate:modelValue":t[3]||(t[3]=s=>o.value.sortOrder=s),items:z,"label-key":"label","value-key":"value",onChange:I},null,8,["modelValue"])]),_:1})])]),_:1}),a(_,null,{header:l(()=>[e("div",ke,[t[15]||(t[15]=e("h3",{class:"text-lg font-semibold"},"Groupes de sites",-1)),e("div",we,[e("span",Ce,r(b.value.length)+" groupe(s) trouvé(s) ",1)])])]),default:l(()=>[C(A)?(d(),v("div",De,[a(m,{name:"i-heroicons-arrow-path",class:"w-8 h-8 animate-spin text-blue-500"})])):b.value.length===0?(d(),v("div",Ue,[a(m,{name:"i-heroicons-user-group",class:"w-16 h-16 text-gray-300 mx-auto mb-4"}),t[16]||(t[16]=e("p",{class:"text-gray-500 text-lg"},"Aucun groupe trouvé",-1)),t[17]||(t[17]=e("p",{class:"text-gray-400 text-sm"},"Aucun groupe ne correspond à vos critères de recherche",-1))])):(d(),v("div",je,[(d(!0),v(O,null,R(F.value,s=>(d(),v("div",{key:s.id,class:"border border-gray-200 dark:border-gray-700 rounded-lg p-4 sm:p-6 hover:shadow-md transition-shadow"},[e("div",Ne,[e("div",Ve,[e("div",Ae,[e("div",Ge,[e("h4",Ie,r(s.name),1),s.isGroupAdmin?(d(),N(j,{key:0,color:"info",variant:"soft",size:"xs"},{default:l(()=>[...t[18]||(t[18]=[p(" Admin ",-1)])]),_:1})):g("",!0)]),s.description?(d(),v("p",$e,r(s.description),1)):g("",!0),e("div",Be,[e("div",Oe,[e("p",Le,r(s.deviceCount),1),t[19]||(t[19]=e("p",{class:"text-xs text-gray-500"},"Cadenas",-1))]),e("div",ze,[e("p",Fe,r(s.userCount),1),t[20]||(t[20]=e("p",{class:"text-xs text-gray-500"},"Utilisateurs",-1))])]),e("div",Pe,[e("div",Te,[t[21]||(t[21]=p(" Parent: ",-1)),e("span",Me,r(s.parentName||"Aucun"),1)]),e("div",Se,[t[22]||(t[22]=p(" ID: ",-1)),e("span",qe,r(s.id),1)])])])]),e("div",Ee,[a(n,{icon:"i-heroicons-eye",size:"sm",variant:"outline",onClick:K=>$(s),class:"w-full"},{default:l(()=>[...t[23]||(t[23]=[p(" Voir les détails ",-1)])]),_:1},8,["onClick"])])]),e("div",He,[e("div",Ke,[e("div",Qe,[e("h4",Re,r(s.name),1),s.isGroupAdmin?(d(),N(j,{key:0,color:"info",variant:"soft",size:"sm"},{default:l(()=>[...t[24]||(t[24]=[p(" Admin ",-1)])]),_:1})):g("",!0)]),s.description?(d(),v("p",Je,r(s.description),1)):g("",!0),e("div",We,[e("div",Xe,[e("p",Ye,r(s.deviceCount),1),t[25]||(t[25]=e("p",{class:"text-sm text-gray-500"},"Cadenas",-1))]),e("div",Ze,[e("p",et,r(s.userCount),1),t[26]||(t[26]=e("p",{class:"text-sm text-gray-500"},"Utilisateurs",-1))]),e("div",tt,[t[27]||(t[27]=e("p",{class:"text-sm text-gray-500"},"Parent",-1)),e("p",st,r(s.parentName||"Aucun"),1)]),e("div",at,[t[28]||(t[28]=e("p",{class:"text-sm text-gray-500"},"ID",-1)),e("p",rt,r(s.id),1)])])]),e("div",lt,[a(n,{icon:"i-heroicons-eye",size:"sm",variant:"outline",onClick:K=>$(s)},{default:l(()=>[...t[29]||(t[29]=[p(" Détails ",-1)])]),_:1},8,["onClick"])])])]))),128)),P.value>1?(d(),v("div",ot,[a(q,{page:x.value,"onUpdate:page":t[4]||(t[4]=s=>x.value=s),"items-per-page":k.value,total:b.value.length,ui:{wrapper:"flex items-center gap-1",rounded:"!rou
1nded-full min-w-[32px] justify-center",default:{size:"sm"}}},null,8,["page","items-per-page","total"])])):g("",!0)]))]),_:1})])]),_:1})]),a(H,{open:w.value,"onUpdate:open":t[6]||(t[6]=s=>w.value=s),ui:{content:"w-full sm:max-w-4xl"}},{content:l(()=>[u.value?(d(),N(_,{key:0},{header:l(()=>[e("div",it,[e("h3",nt," Détails du groupe : "+r(u.value.name),1),a(n,{color:"neutral",variant:"ghost",icon:"i-heroicons-x-mark",onClick:t[5]||(t[5]=s=>w.value=!1)})])]),default:l(()=>[e("div",dt,[e("div",ut,[e("div",null,[t[34]||(t[34]=e("h4",{class:"text-md font-semibold text-gray-900 mb-3"},"Informations générales",-1)),e("div",mt,[e("div",vt,[t[30]||(t[30]=e("span",{class:"text-gray-600"},"Nom :",-1)),e("span",pt,r(u.value.name),1)]),e("div",xt,[t[31]||(t[31]=e("span",{class:"text-gray-600"},"Description :",-1)),e("span",ft,r(u.value.description||"Aucune"),1)]),e("div",ct,[t[32]||(t[32]=e("span",{class:"text-gray-600"},"ID :",-1)),e("span",_t,r(u.value.id),1)]),e("div",gt,[t[33]||(t[33]=e("span",{class:"text-gray-600"},"Parent :",-1)),e("span",bt,r(u.value.parentName||"Aucun"),1)])])]),e("div",null,[t[38]||(t[38]=e("h4",{class:"text-md font-semibold text-gray-900 mb-3"},"Statistiques",-1)),e("div",yt,[e("div",ht,[t[35]||(t[35]=e("span",{class:"text-gray-600"},"Nombre de cadenas :",-1)),e("span",kt,r(u.value.deviceCount),1)]),e("div",wt,[t[36]||(t[36]=e("span",{class:"text-gray-600"},"Nombre d'utilisateurs :",-1)),e("span",Ct,r(u.value.userCount),1)]),e("div",Dt,[t[37]||(t[37]=e("span",{class:"text-gray-600"},"Statut admin :",-1)),a(j,{color:u.value.isGroupAdmin?"success":"neutral",variant:"soft",size:"sm"},{default:l(()=>[p(r(u.value.isGroupAdmin?"Oui":"Non"),1)]),_:1},8,["color"])])])])])])]),_:1})):g("",!0)]),_:1},8,["open"])],64)}}}),qt=Ut;export{qt 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.