Files
intotheeast-com-content/plugins/admin2/app/_app/immutable/nodes/32.COhnwRWK.js
T

6 lines
15 KiB
JavaScript

import"../chunks/DsnmJJEf.js";import{o as me}from"../chunks/DukJHxi2.js";import{p as Qt,d as r,s as o,g as t,r as e,t as S,a as c,b as Zt,i as V,j as N,h as j,e as Ct,f as lt,c as f,u as _e,k as fe,$ as pe}from"../chunks/krC2xWPP.js";import{d as te,s as v,a as G}from"../chunks/CddAxf8c.js";import{i as h}from"../chunks/DjsWWzyL.js";import{e as Vt,s as Et,t as zt,B as xe,r as ge,i as be}from"../chunks/Lvd_r9sp.js";import{h as Ee,s as ot}from"../chunks/j_DJpx8B.js";import{b as he}from"../chunks/ciapVzar.js";import{i as d,a as Wt,c as Ne}from"../chunks/Cu5ilWky.js";import{g as Kt}from"../chunks/BVTiZ3e2.js";import{b as Yt}from"../chunks/BSopV7IU.js";import{a as Se,d as Ae}from"../chunks/DRw0n_lJ.js";import{p as bt}from"../chunks/BzvfRedh.js";import{c as Te}from"../chunks/CuDfWLaU.js";import{S as De}from"../chunks/K87jKp17.js";import{C as Re}from"../chunks/CqW2kplp.js";import{D as Oe}from"../chunks/nlum2O0L.js";import{U as Ue}from"../chunks/Bf-u42YS.js";import{P as Ie}from"../chunks/mXADw150.js";import{T as Pe}from"../chunks/CSNyvbvN.js";import{A as Bt,a as jt}from"../chunks/CZyBFLho.js";import{P as we}from"../chunks/C1jLV8_5.js";import{L as Me}from"../chunks/C_E2vM9U.js";import{S as ye}from"../chunks/agE6NDSA.js";import{L as Ge}from"../chunks/tFcFjFQJ.js";import{T as Le}from"../chunks/CH2SFP9U.js";import{U as Jt}from"../chunks/DwS2ehmU.js";import{S as Xe}from"../chunks/BeCwQYrA.js";import{S as ke}from"../chunks/DyBzXF10.js";var Ce=f('<button class="rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground"><!></button>'),ze=f('<button class="rounded p-1 text-muted-foreground hover:bg-destructive/10 hover:text-destructive"><!></button>'),Be=f('<tr class="border-b border-border transition-colors hover:bg-muted/30"><td class="px-4 py-2"><button class="font-medium text-primary hover:underline"> </button></td><td class="px-4 py-2"> </td><td class="px-4 py-2 text-muted-foreground"> </td><td class="px-4 py-2 text-end"><div class="inline-flex items-center gap-1"><!> <!></div></td></tr>'),je=f('<tr><td colspan="4" class="px-4 py-8 text-center text-sm text-muted-foreground"> </td></tr>'),Ve=f('<div class="overflow-x-auto"><table class="w-full text-sm"><thead class="border-b border-border bg-muted/30 text-xs uppercase tracking-wide text-muted-foreground"><tr><th class="px-4 py-2 text-start font-medium"><button class="inline-flex items-center gap-1 hover:text-foreground"> <!></button></th><th class="px-4 py-2 text-start font-medium"><button class="inline-flex items-center gap-1 hover:text-foreground"> <!></button></th><th class="px-4 py-2 text-start font-medium"><button class="inline-flex items-center gap-1 hover:text-foreground"> <!></button></th><th class="w-20 px-4 py-2 text-end font-medium"> </th></tr></thead><tbody><!><!></tbody></table></div>');function He(Tt,L){Qt(L,!0);let P=V("groupname"),p=V("asc");function Y(a){t(P)===a?N(p,t(p)==="asc"?"desc":"asc",!0):(N(P,a,!0),N(p,"asc"))}const H=j(()=>{const a=[...L.groups];return a.sort((n,l)=>{const _=String(n[t(P)]??"").toLowerCase(),u=String(l[t(P)]??"").toLowerCase(),i=_.localeCompare(u);return t(p)==="asc"?i:-i}),a});var $=Ve(),w=r($),X=r(w),J=r(X),vt=r(J),Q=r(vt),T=r(Q),st=o(T);{var Dt=a=>{var n=Ct(),l=lt(n);{var _=i=>{Bt(i,{size:11})},u=i=>{jt(i,{size:11})};h(l,i=>{t(p)==="asc"?i(_):i(u,-1)})}c(a,n)};h(st,a=>{t(P)==="groupname"&&a(Dt)})}e(Q),e(vt);var ut=o(vt),F=r(ut),ht=r(F),Rt=o(ht);{var ct=a=>{var n=Ct(),l=lt(n);{var _=i=>{Bt(i,{size:11})},u=i=>{jt(i,{size:11})};h(l,i=>{t(p)==="asc"?i(_):i(u,-1)})}c(a,n)};h(Rt,a=>{t(P)==="readableName"&&a(ct)})}e(F),e(ut);var nt=o(ut),Z=r(nt),mt=r(Z),Nt=o(mt);{var Ot=a=>{var n=Ct(),l=lt(n);{var _=i=>{Bt(i,{size:11})},u=i=>{jt(i,{size:11})};h(l,i=>{t(p)==="asc"?i(_):i(u,-1)})}c(a,n)};h(Nt,a=>{t(P)==="description"&&a(Ot)})}e(Z),e(nt);var St=o(nt),Ut=r(St,!0);e(St),e(J),e(X);var At=o(X),s=r(At);Vt(s,17,()=>t(H),a=>a.groupname,(a,n)=>{var l=Be(),_=r(l),u=r(_),i=r(u,!0);e(u),e(_);var q=o(_),_t=r(q,!0);e(q);var M=o(q),dt=r(M,!0);e(M);var A=o(M),k=r(A),tt=r(k);{var W=g=>{var b=Ce(),C=r(b);Ie(C,{size:14}),e(b),S(K=>Et(b,"aria-label",K),[()=>d.t("ADMIN_NEXT.USERS_TABLE.EDIT")]),G("click",b,()=>L.onEdit(t(n).groupname)),c(g,b)};h(tt,g=>{L.canEdit&&g(W)})}var it=o(tt,2);{var D=g=>{var b=ze(),C=r(b);Pe(C,{size:14}),e(b),S(K=>Et(b,"aria-label",K),[()=>d.t("ADMIN_NEXT.USERS_TABLE.DELETE")]),G("click",b,()=>L.onDelete?.(t(n).groupname)),c(g,b)};h(it,g=>{L.canEdit&&L.onDelete&&g(D)})}e(k),e(A),e(l),S(()=>{v(i,t(n).groupname),v(_t,t(n).readableName||"—"),v(dt,t(n).description||"—")}),G("click",u,()=>L.onEdit(t(n).groupname)),c(a,l)});var m=o(s);{var x=a=>{var n=je(),l=r(n),_=r(l,!0);e(l),e(n),S(u=>v(_,u),[()=>d.t("ADMIN_NEXT.GROUPS.NO_GROUPS")]),c(a,n)};h(m,a=>{t(H).length===0&&a(x)})}e(At),e(w),e($),S((a,n,l,_)=>{v(T,`${a??""} `),v(ht,`${n??""} `),v(mt,`${l??""} `),v(Ut,_)},[()=>d.t("ADMIN_NEXT.GROUPS.GROUP_NAME"),()=>d.t("ADMIN_NEXT.GROUPS.DISPLAY_NAME"),()=>d.t("ADMIN_NEXT.GROUPS.DESCRIPTION"),()=>d.t("ADMIN_NEXT.USERS_TABLE.ACTIONS")]),G("click",Q,()=>Y("groupname")),G("click",F,()=>Y("readableName")),G("click",Z,()=>Y("description")),c(Tt,$),Zt()}te(["click"]);var $e=f('<p class="mt-0.5 text-xs text-muted-foreground"> </p>'),Fe=f("<!> ",1),qe=f("<div><div><div><h1> </h1> <!></div> <!></div></div>"),We=f('<div class="flex flex-1 items-center justify-center"><!></div>'),Ke=f('<div class="flex-1 overflow-y-auto"><!></div>'),Ye=f('<div><div class="flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-muted"><!></div> <div class="min-w-0 flex-1"><div class="truncate text-sm font-medium text-foreground"> </div> <p class="truncate text-xs text-muted-foreground"> </p></div> <!></div>'),Je=f('<div class="px-4 py-8 text-center text-sm text-muted-foreground"> </div>'),Qe=f('<button type="button" class="inline-flex h-9 items-center gap-2 rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground shadow-sm transition-colors hover:bg-primary/90"> <!></button>'),Ze=f('<div class="col-span-2"><dt class="text-xs font-medium text-muted-foreground"> </dt> <dd class="mt-0.5 text-sm text-foreground"> </dd></div>'),tr=f('<span class="inline-flex items-center gap-1 rounded-md bg-muted px-2 py-0.5 text-xs"><span class="text-foreground"> </span></span>'),er=f('<div class="mt-5"><dt class="text-xs font-medium text-muted-foreground"> </dt> <dd class="mt-1.5 flex flex-wrap gap-1.5"></dd></div>'),rr=f('<div class="p-6"><div class="flex items-start gap-4"><div class="flex h-16 w-16 shrink-0 items-center justify-center rounded-full bg-muted shadow-md"><!></div> <div class="min-w-0 flex-1"><h2 class="text-lg font-semibold text-foreground"> </h2> <p class="mt-0.5 text-sm text-muted-foreground"> </p></div> <!></div> <div class="mt-6 grid grid-cols-2 gap-4"><!> <div><dt class="text-xs font-medium text-muted-foreground"> </dt> <dd class="mt-0.5 text-sm"><span> </span></dd></div></div> <!></div>'),ar=f('<div class="flex h-full items-center justify-center text-sm text-muted-foreground"> </div>'),or=f('<div class="flex flex-1 overflow-hidden"><div class="flex w-full flex-col border-e border-border lg:w-[400px] xl:w-[440px]"><div class="flex-1 overflow-y-auto"><!> <!></div></div> <div class="hidden flex-1 overflow-y-auto lg:block"><!></div></div>'),sr=f('<div class="flex items-center gap-3 border-b border-border px-4 py-2"><div class="relative flex-1"><!> <input type="text" class="h-8 w-full rounded-md border border-input bg-muted/50 ps-9 pe-3 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring"/></div> <div class="inline-flex rounded-md border border-border shadow-sm"><button><!> <span class="hidden sm:inline"> </span></button> <button><!> <span class="hidden sm:inline"> </span></button></div></div> <!>',1),nr=f('<div class="flex h-full flex-col"><!> <!> <!></div> <!>',1);function Lr(Tt,L){Qt(L,!0);const P=j(()=>Ne.isSuperAdmin||Te("users"));let p=V(null),Y=V(!0),H=V(""),$=V(1),w=V(null),X=V(null),J=V(!1);const vt=20,Q=j(()=>{if(!t(p))return[];let s=t(p).groups;if(t(H)){const m=t(H).toLowerCase();s=s.filter(x=>x.groupname.toLowerCase().includes(m)||(x.readableName??"").toLowerCase().includes(m)||(x.description??"").toLowerCase().includes(m))}return s}),T=j(()=>t(w)?t(p)?.groups.find(s=>s.groupname===t(w))??null:null);async function st(s=1){N(Y,!0);try{N(p,await Se(s,vt),!0),N($,t(p).page,!0),!t(w)&&t(p).groups.length>0&&N(w,t(p).groups[0].groupname,!0)}catch{zt.error(d.t("ADMIN_NEXT.GROUPS.FAILED_TO_LOAD_GROUPS"))}finally{N(Y,!1)}}const Dt=()=>typeof window<"u"&&window.matchMedia("(min-width: 1024px)").matches;function ut(s){if(!Dt()){F(s);return}N(w,s,!0)}function F(s){Kt(`${Yt}/users/groups/${s}`)}function ht(s){N(X,s,!0),N(J,!0)}async function Rt(){const s=t(X);if(N(J,!1),N(X,null),!!s)try{await Ae(s),zt.success(d.t("ADMIN_NEXT.GROUPS.GROUP_DELETED",{name:s})),t(w)===s&&N(w,null),st(t($))}catch{zt.error(d.t("ADMIN_NEXT.GROUPS.GROUP_DELETE_FAILED",{name:s}))}}function ct(s,m=""){const x=[];for(const[a,n]of Object.entries(s)){const l=m?`${m}.${a}`:a;n===!0?x.push(l):n&&typeof n=="object"&&x.push(...ct(n,l))}return x}_e(()=>{st()}),me(()=>{const s=Wt.subscribe("groups:*",()=>st(t($))),m=Wt.subscribe("*:focus",()=>st(t($)));return()=>{s(),m()}});var nt=nr();Ee("1wdttiu",s=>{fe(m=>{pe.title=m??""},[()=>d.t("ADMIN_NEXT.GROUPS.GROUPS_GRAV_ADMIN")])});var Z=lt(nt),mt=r(Z);De(mt,{noBorder:!0,children:(m,x)=>{let a=()=>x?.().scrolled;var n=qe(),l=r(n),_=r(l),u=r(_),i=r(u,!0);e(u);var q=o(u,2);{var _t=A=>{var k=$e(),tt=r(k,!0);e(k),S(W=>v(tt,W),[()=>d.t(t(p).total===1?"ADMIN_NEXT.GROUPS.GROUP_COUNT_ONE":"ADMIN_NEXT.GROUPS.GROUP_COUNT_OTHER",{n:t(p).total})]),c(A,k)};h(q,A=>{!a()&&t(p)&&A(_t)})}e(_);var M=o(_,2);{var dt=A=>{xe(A,{size:"sm",onclick:()=>Kt(`${Yt}/users/groups/new`),children:(k,tt)=>{var W=Fe(),it=lt(W);we(it,{size:14});var D=o(it);S(g=>v(D,` ${g??""}`),[()=>d.t("ADMIN_NEXT.GROUPS.ADD_GROUP")]),c(k,W)},$$slots:{default:!0}})};h(M,A=>{t(P)&&A(dt)})}e(l),e(n),S(A=>{ot(n,1,`px-6 transition-[padding] duration-200 ${a()?"py-2":"pt-6 pb-3"}`),ot(l,1,`flex items-center justify-between ${a()?"min-h-6":"min-h-8"}`),ot(u,1,`font-semibold tracking-tight text-foreground transition-[font-size] duration-200 ${a()?"text-sm":"text-xl"}`),v(i,A)},[()=>d.t("ADMIN_NEXT.GROUPS.GROUPS")]),c(m,n)},$$slots:{default:!0}});var Nt=o(mt,2);Ue(Nt,{});var Ot=o(Nt,2);{var St=s=>{var m=We(),x=r(m);Me(x,{size:24,class:"animate-spin text-muted-foreground"}),e(m),c(s,m)},Ut=s=>{var m=sr(),x=lt(m),a=r(x),n=r(a);ye(n,{size:14,class:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"});var l=o(n,2);ge(l),e(a);var _=o(a,2),u=r(_),i=r(u);Ge(i,{size:14});var q=o(i,2),_t=r(q,!0);e(q),e(u);var M=o(u,2),dt=r(M);Le(dt,{size:14});var A=o(dt,2),k=r(A,!0);e(A),e(M),e(_),e(x);var tt=o(x,2);{var W=D=>{var g=Ke(),b=r(g);{let C=j(()=>t(P)?ht:void 0);He(b,{get groups(){return t(Q)},get canEdit(){return t(P)},onEdit:F,get onDelete(){return t(C)}})}e(g),c(D,g)},it=D=>{var g=or(),b=r(g),C=r(b),K=r(C);Vt(K,17,()=>t(Q),R=>R.groupname,(R,E)=>{var O=Ye(),y=r(O),It=r(y);Jt(It,{size:16,class:"text-muted-foreground"}),e(y);var et=o(y,2),rt=r(et),Pt=r(rt,!0);e(rt);var ft=o(rt,2),wt=r(ft,!0);e(ft),e(et);var Mt=o(et,2);{var yt=B=>{Xe(B,{size:14,class:"shrink-0 text-green-500/80"})},pt=B=>{ke(B,{size:14,class:"shrink-0 text-muted-foreground/60"})};h(Mt,B=>{t(E).enabled?B(yt):B(pt,-1)})}e(O),S(()=>{ot(O,1,`flex w-full items-center gap-3 border-b border-border px-4 py-3 text-start transition-colors
${t(w)===t(E).groupname?"bg-accent":"hover:bg-muted/50"}`),v(Pt,t(E).readableName||t(E).groupname),v(wt,t(E).groupname)}),G("click",O,()=>ut(t(E).groupname)),G("dblclick",O,()=>F(t(E).groupname)),c(R,O)});var ee=o(K,2);{var re=R=>{var E=Je(),O=r(E,!0);e(E),S(y=>v(O,y),[()=>t(H)?d.t("ADMIN_NEXT.GROUPS.NO_GROUPS_MATCH_SEARCH"):d.t("ADMIN_NEXT.GROUPS.NO_GROUPS")]),c(R,E)};h(ee,R=>{t(Q).length===0&&R(re)})}e(C),e(b);var Ht=o(b,2),ae=r(Ht);{var oe=R=>{var E=rr(),O=r(E),y=r(O),It=r(y);Jt(It,{size:24,class:"text-muted-foreground"}),e(y);var et=o(y,2),rt=r(et),Pt=r(rt,!0);e(rt);var ft=o(rt,2),wt=r(ft,!0);e(ft),e(et);var Mt=o(et,2);{var yt=I=>{var U=Qe(),z=r(U),xt=o(z);Oe(xt,{name:"chevron-forward",size:14}),e(U),S(at=>v(z,`${at??""} `),[()=>d.t("ADMIN_NEXT.EDIT")]),G("click",U,()=>F(t(T).groupname)),c(I,U)};h(Mt,I=>{t(P)&&I(yt)})}e(O);var pt=o(O,2),B=r(pt);{var ne=I=>{var U=Ze(),z=r(U),xt=r(z,!0);e(z);var at=o(z,2),gt=r(at,!0);e(at),e(U),S(Xt=>{v(xt,Xt),v(gt,t(T).description)},[()=>d.t("ADMIN_NEXT.GROUPS.DESCRIPTION")]),c(I,U)};h(B,I=>{t(T).description&&I(ne)})}var $t=o(B,2),Gt=r($t),de=r(Gt,!0);e(Gt);var Ft=o(Gt,2),Lt=r(Ft),ie=r(Lt,!0);e(Lt),e(Ft),e($t),e(pt);var le=o(pt,2);{var ve=I=>{var U=er(),z=r(U),xt=r(z,!0);e(z);var at=o(z,2);Vt(at,21,()=>ct(t(T).access??{}),be,(gt,Xt)=>{var kt=tr(),qt=r(kt),ce=r(qt,!0);e(qt),e(kt),S(()=>v(ce,t(Xt))),c(gt,kt)}),e(at),e(U),S(gt=>v(xt,gt),[()=>d.t("ADMIN_NEXT.USERS.PERMISSIONS")]),c(I,U)},ue=j(()=>ct(t(T).access??{}).length);h(le,I=>{t(ue)&&I(ve)})}e(E),S((I,U)=>{v(Pt,t(T).readableName||t(T).groupname),v(wt,t(T).groupname),v(de,I),ot(Lt,1,`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium
${t(T).enabled?"bg-green-500/15 text-green-600 dark:text-green-400":"bg-red-500/15 text-red-600 dark:text-red-400"}`),v(ie,U)},[()=>d.t("ADMIN_NEXT.PAGES.HEADER_STATUS"),()=>t(T).enabled?d.t("ADMIN_NEXT.USERS_TABLE.ENABLED"):d.t("ADMIN_NEXT.USERS_TABLE.DISABLED")]),c(R,E)},se=R=>{var E=ar(),O=r(E,!0);e(E),S(y=>v(O,y),[()=>d.t("ADMIN_NEXT.GROUPS.SELECT_A_GROUP_TO_VIEW_DETAILS")]),c(R,E)};h(ae,R=>{t(T)?R(oe):R(se,-1)})}e(Ht),e(g),c(D,g)};h(tt,D=>{bt.groupsViewMode==="table"?D(W):D(it,-1)})}S((D,g,b,C,K)=>{Et(l,"placeholder",D),ot(u,1,`inline-flex h-8 items-center gap-1.5 px-3 text-[0.75rem] font-medium transition-colors first:rounded-l-md last:rounded-r-md
${bt.groupsViewMode==="cards"?"bg-accent text-accent-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`),Et(u,"title",g),v(_t,b),ot(M,1,`inline-flex h-8 items-center gap-1.5 px-3 text-[0.75rem] font-medium transition-colors first:rounded-l-md last:rounded-r-md
${bt.groupsViewMode==="table"?"bg-accent text-accent-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`),Et(M,"title",C),v(k,K)},[()=>d.t("ADMIN_NEXT.GROUPS.SEARCH_GROUPS"),()=>d.t("ADMIN_NEXT.USERS_TABLE.CARDS"),()=>d.t("ADMIN_NEXT.USERS_TABLE.CARDS"),()=>d.t("ADMIN_NEXT.USERS_TABLE.TABLE"),()=>d.t("ADMIN_NEXT.USERS_TABLE.TABLE")]),he(l,()=>t(H),D=>N(H,D)),G("click",u,()=>bt.groupsViewMode="cards"),G("click",M,()=>bt.groupsViewMode="table"),c(s,m)};h(Ot,s=>{t(Y)?s(St):t(p)&&s(Ut,1)})}e(Z);var At=o(Z,2);{let s=j(()=>d.t("ADMIN_NEXT.GROUPS.DELETE_GROUP")),m=j(()=>t(X)?d.t("ADMIN_NEXT.GROUPS.CONFIRM_DELETE_GROUP",{name:t(X)}):""),x=j(()=>d.t("ADMIN_NEXT.DELETE"));Re(At,{get open(){return t(J)},get title(){return t(s)},get message(){return t(m)},get confirmLabel(){return t(x)},variant:"destructive",onconfirm:Rt,oncancel:()=>{N(J,!1),N(X,null)}})}c(Tt,nt),Zt()}te(["click","dblclick"]);export{Lr as component};