1import{B as $}from"./BreadcrumbNav-D2xmjXgi.js";import{D as N}from"./DataTable-BRRhfjU1.js";import{P as V}from"./PaginatorComponent-DMdTQT_3.js";import{v as k,_ as T}from"./index-orCI0Tc4.js";import{l as U}from"./toastify-DicH2gF0.js";import{u as D}from"./vue-i18n-BOOGZq6G.js";import{d as S,f as z,A as c,k as d,J as p,C as s,G as t,K as _,Z as v,I,r as m,V as E,E as n}from"./vue-core-BXHG9AyX.js";import"./axios-CEqhl9QM.js";import"./fontawesome-JxT9JWb2.js";const K={class:"container-fluid users"},A={key:0,class:"badge-blocked"},G={key:1,"aria-hidden":"true"},J={class:"mcard-head"},L={class:"mcard-name"},M={class:"mcard-meta"},R={key:0,class:"badge-blocked"},Z={key:0,class:"mcard-meta"},j={key:1,class:"mcard-meta"},q={class:"mcard-meta"},F={class:"dt-actions"},H=["aria-label","title","onClick"],O=["aria-label","title","onClick"],Q=S({__name:"UsersView",setup(W){const{t:o}=D(),r=m(null),b=m(0),u=m(50),h=m(0),y=m(0);async function f(){r.value=await k.getList(null,b.value,u.value),y.value=r.value?.totalCount??0,h.value++}async function g(e){u.value=e.count,b.value=(e.page-1)*u.value,await f()}async function C(e){const l=prompt(o("admin.enterNewPasswordPrompt"));l&&(await k.resetPassword(e,l),U.success(o("admin.passwordReset")))}async function w(e){if(!r.value)return;const l=r.value.items.find(i=>i.id===e);l&&(await k.switchBlock(e,!l.isBlocked),await f())}z(()=>{f()});const P=[{key:"name",label:o("admin.nameColumnUsers")},{key:"login",label:o("admin.loginColumn")},{key:"email",label:o("admin.emailColumn")},{key:"phone",label:o("admin.phoneColumn")},{key:"role",label:o("admin.roleColumn")},{key:"blocked",label:o("admin.blockColumn")}];return(e,l)=>{const i=E("font-awesome-icon");return n(),c("div",K,[d($,{items:[{label:e.$t("admin.controlPanel"),to:"/admin"},{label:e.$t("admin.sectionUsers")}]},null,8,["items"]),d(N,{columns:P,rows:r.value?.items??[],"row-key":"id",class:"mb-[30px]"},{"cell-role":p(({row:a})=>[v(t(a.roleName),1)]),"cell-blocked":p(({row:a})=>[a.isBlocked?(n(),c("span",A,t(e.$t("common.yes")),1)):(n(),c("span",G,"â"))]),"mobile-card":p(({row:a})=>[s("div",J,[s("div",null,[s("div",L,t(a.name),1),s("div",M,"@"+t(a.login),1)]),a.isBlocked?(n(),c("span",R,t(e.$t("common.yes")),1)):_("",!0)]),a.email?(n(),c("div",Z,[d(i,{icon:"fa-solid fa-envelope"}),v(" "+t(a.email),1)])):_("",!0),a.phone?(n(),c("div",j,[d(i,{icon:"fa-solid fa-phone"}),v(" "+t(a.phone),1)])):_("",!0),s("div",q,t(a.roleName),1)]),actions:p(({row:a})=>[s("div",F,[s("button",{type:"button",class:"btn btn-tiny btn-icon btn-simple","aria-label":e.$t("admin.resetPasswordTooltip"),title:e.$t("admin.resetPasswordTooltip"),onClick:B=>C(a.id)},[d(i,{icon:"fa-solid fa-key"})],8,H),s("button",{type:"button",class:"btn btn-tiny btn-icon btn-danger","aria-label":e.$t("admin.blockUnblockTooltip"),title:e.$t("admin.blockUnblockTooltip"),onClick:B=>w(a.id)},[d(i,{icon:"fa-solid fa-ban"})],8,O)])]),_:1},8,["rows"]),(n(),I(V,{key:h.value,offset:b.value,totals:y.value,"page-size":u.value,"max-pages":5,onChangePage:g},null,8,["offset","totals","page-size"]))])}}}),le=T(Q,[["__scopeId","data-v-136e5060"]]);export{le 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.