1import{u as ue,a1 as g,aw as pe,a6 as z,al as O,Z as c,l as m,q as s,ai as e,E as ce,aA as a,i as n,aa as l,F as S,a2 as R,P as ie,p as u,j as M,k,aE as D,g as Z}from"./vendor-vue-DO5-hTFl.js";import{_ as d}from"./index-Cmtz8jH3.js";import{_ as G}from"./Checkbox.vue_vue_type_script_setup_true_lang-DU5Dl9Mw.js";import{_ as P,a as U,b as B,c as L}from"./DialogTitle.vue_vue_type_script_setup_true_lang-BdqgVlqq.js";import{_ as T}from"./DialogDescription.vue_vue_type_script_setup_true_lang-DFAmFDOL.js";import{_ as F}from"./DialogFooter.vue_vue_type_script_setup_true_lang-ge4qwtG7.js";import{_ as y}from"./Input.vue_vue_type_script_setup_true_lang-Cw7YPM7c.js";import{_ as $}from"./Label.vue_vue_type_script_setup_true_lang-CiYG77dI.js";import{_ as de}from"./AppLayout.vue_vue_type_script_setup_true_lang-DxsoWZUB.js";import{f as me}from"./datetime-DjECMWpn.js";import{d as fe}from"./index-CxAerfZN.js";import{u as _e}from"./vendor-i18n-Xzp14jpf.js";import{P as ve}from"./plus-IW5t7efP.js";import{f as be,K as xe}from"./users-DzU9Yozq.js";import{L as he}from"./lock-DTYME-8D.js";import{L as Ae}from"./lock-open-LNTWDsbO.js";import"./useForwardPropsEmits-BTi8H-c7.js";import"./AppToast-CX48UtwE.js";import"./app-D-CGn2-d.js";import"./vendor-realtime-Dh3oqtlr.js";import"./createLucideIcon-CvPmzaXe.js";import"./x-BhLyuTBD.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./useFormControl-DN1TdFF0.js";import"./VisuallyHiddenInput-DjgtSXkG.js";import"./RovingFocusGroup-D8QkvX7M.js";import"./index-DkPg2_AP.js";import"./check-BOXqqf8S.js";import"./Spinner.vue_vue_type_script_setup_true_lang-B8PlFPa3.js";const ge={class:"card-main"},ke={class:"mx-auto max-w-7xl space-y-4"},we={class:"flex flex-wrap items-center justify-between gap-3"},ye={class:"text-xl font-semibold text-zinc-950 dark:text-white"},$e={class:"text-sm text-zinc-500"},Ce={class:"mt-1 text-xs text-zinc-400"},Ve={class:"flex w-full items-center gap-2 sm:w-auto"},ze={class:"hidden sm:inline"},Se={class:"flow-root"},Me={class:"table-wrapper"},Pe={class:"table-container"},Ue={class:"data-table"},Be={class:"table-head"},Le={class:"table-th"},Te={class:"table-th"},Fe={class:"table-th"},Ee={class:"table-th"},je={class:"table-td"},Ke={class:"font-medium"},Ne={class:"table-td"},Ie=["title"],Oe={key:1,class:"inline-flex items-center rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300"},Re={class:"table-td-muted"},De={class:"table-td-muted"},qe={class:"table-td-actions"},He={class:"flex items-center justify-end gap-2"},Ze={key:0},Ge={colspan:"5",class:"table-td text-center text-zinc-500"},Je={key:0,class:"flex items-center justify-between text-sm text-zinc-500"},Qe={class:"flex gap-2"},We={class:"space-y-1"},Xe={key:0,class:"text-xs text-destructive"},Ye={class:"space-y-1"},es={key:0,class:"text-xs text-destructive"},ss={class:"space-y-2"},ts={class:"text-xs text-zinc-500"},os={class:"grid grid-cols-2 gap-2"},ls={class:"space-y-1"},as={key:0,class:"text-xs text-destructive"},ns={class:"grid grid-cols-2 gap-2"},rs={class:"space-y-2"},Es=ue({__name:"SupportAccounts",props:{supportAccounts:{},filters:{},permissionKeys:{}},setup(f){const E=f,{t}=_e(),J=[{title:t("panel.sidebar.nav.dashboard"),href:fe().url},{title:t("panel.supportAccounts.title"),href:"/panel/support-accounts"}],C=g(E.filters?.search??"");let j=null;pe(C,p=>{j&&clearTimeout(j),j=setTimeout(()=>{z.get("/panel/support-accounts",{search:p||void 0},{preserveState:!0,preserveScroll:!0,replace:!0})},250)});const w=g(!1),i=O({login:"",password:"",permissions:[]}),K=Z(()=>E.permissionKeys??[]);function N(p){return t(`panel.supportAccounts.permissions.${p}`)}function q(p,r,o){const _=new Set(p);return o?_.add(r):_.delete(r),K.value.filter(re=>_.has(re))}function Q(){i.reset(),i.clearErrors(),w.value=!0}function W(){i.post("/panel/support-accounts",{preserveScroll:!0,onSuccess:()=>{w.value=!1,i.reset()}})}const b=g(null),h=O({permissions:[]});function X(p){h.clearErrors(),h.permissions=[...p.permissions??[]],b.value=p}function Y(){b.value&&h.patch(`/panel/support-accounts/${b.value.id}/permissions`,{preserveScroll:!0,onSuccess:()=>{b.value=null}})}function ee(p){const r=p.permissions??[];return r.length===0?t("panel.supportAccounts.accessChatOnly"):r.map(o=>N(o)).join(", ")}const x=g(null),v=O({password:""});function se(p){v.reset(),v.clearErrors(),x.value=p}function te(){x.value&&v.patch(`/panel/support-accounts/${x.value.id}/password`,{preserveScroll:!0,onSuccess:()=>{x.value=null,v.reset()}})}const A=g(null),V=g(""),I=g(!1);function oe(p){A.value=p,V.value=""}function le(){A.value&&(I.value=!0,z.patch(`/panel/support-accounts/${A.value.id}/block`,{blocked:!0,reason:V.value||null},{preserveScroll:!0,onFinish:()=>{I.value=!1,A.value=null}}))}function ae(p){window.confirm(t("panel.supportAccounts.unblockConfirm"))&&z.patch(`/panel/support-accounts/${p.id}/block`,{blocked:!1},{preserveScroll:!0})}
1function H(p){z.get("/panel/support-accounts",{search:C.value||void 0,page:p},{preserveScroll:!0,preserveState:!0})}const ne=Z(()=>E.supportAccounts.last_page>1);return(p,r)=>(c(),m(S,null,[s(e(ce),{title:e(t)("panel.supportAccounts.headTitle")},null,8,["title"]),s(de,{breadcrumbs:J},{default:a(()=>[n("div",ge,[n("div",ke,[n("div",we,[n("div",null,[n("h1",ye,l(e(t)("panel.supportAccounts.title")),1),n("p",$e,l(e(t)("panel.supportAccounts.subtitle")),1),n("p",Ce,l(e(t)("panel.supportAccounts.total",{count:f.supportAccounts.total})),1)]),n("div",Ve,[s(e(y),{modelValue:C.value,"onUpdate:modelValue":r[0]||(r[0]=o=>C.value=o),placeholder:e(t)("panel.supportAccounts.searchPlaceholder"),class:"min-w-0 flex-1 sm:w-64 sm:flex-none"},null,8,["modelValue","placeholder"]),s(e(d),{type:"button",class:"shrink-0",onClick:Q},{default:a(()=>[s(e(ve),{class:"size-4"}),n("span",ze,l(e(t)("panel.supportAccounts.addButton")),1)]),_:1})])]),n("div",Se,[n("div",Me,[n("div",Pe,[n("table",Ue,[n("thead",Be,[n("tr",null,[n("th",Le,l(e(t)("panel.supportAccounts.colLogin")),1),n("th",Te,l(e(t)("panel.supportAccounts.colStatus")),1),n("th",Fe,l(e(t)("panel.supportAccounts.colAccess")),1),n("th",Ee,l(e(t)("panel.supportAccounts.colCreated")),1),r[15]||(r[15]=n("th",{class:"table-th-right"},null,-1))])]),n("tbody",null,[(c(!0),m(S,null,R(f.supportAccounts.data,o=>(c(),m("tr",{key:o.id,class:"table-row"},[n("td",je,[n("div",Ke,l(o.login),1)]),n("td",Ne,[o.is_blocked?(c(),m("span",{key:0,class:"inline-flex items-center rounded-full bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900/40 dark:text-red-300",title:o.block_reason??""},l(e(t)("panel.supportAccounts.statusBlocked")),9,Ie)):(c(),m("span",Oe,l(e(t)("panel.supportAccounts.statusActive")),1))]),n("td",Re,[n("span",{class:ie(["text-xs",(o.permissions?.length??0)===0?"text-zinc-400":"text-zinc-600 dark:text-zinc-300"])},l(ee(o)),3)]),n("td",De,l(e(me)(o.created_at)),1),n("td",qe,[n("div",He,[s(e(d),{type:"button",variant:"outline",size:"sm",onClick:_=>X(o)},{default:a(()=>[s(e(be),{class:"size-3"}),u(" "+l(e(t)("panel.supportAccounts.actionPermissions")),1)]),_:1},8,["onClick"]),s(e(d),{type:"button",variant:"outline",size:"sm",onClick:_=>se(o)},{default:a(()=>[s(e(xe),{class:"size-3"}),u(" "+l(e(t)("panel.supportAccounts.actionPassword")),1)]),_:1},8,["onClick"]),o.is_blocked?(c(),M(e(d),{key:1,type:"button",variant:"outline",size:"sm",onClick:_=>ae(o)},{default:a(()=>[s(e(Ae),{class:"size-3"}),u(" "+l(e(t)("panel.supportAccounts.actionUnblock")),1)]),_:1},8,["onClick"])):(c(),M(e(d),{key:0,type:"button",variant:"outline",size:"sm",onClick:_=>oe(o)},{default:a(()=>[s(e(he),{class:"size-3"}),u(" "+l(e(t)("panel.supportAccounts.actionBlock")),1)]),_:1},8,["onClick"]))])])]))),128)),f.supportAccounts.data.length===0?(c(),m("tr",Ze,[n("td",Ge,l(e(t)("panel.supportAccounts.empty")),1)])):k("",!0)])])])])]),ne.value?(c(),m("div",Je,[n("div",null,l(e(t)("panel.supportAccounts.paginationRange",{from:f.supportAccounts.from??0,to:f.supportAccounts.to??0,total:f.supportAccounts.total})),1),n("div",Qe,[f.supportAccounts.current_page>1?(c(),M(e(d),{key:0,variant:"secondary",size:"sm",onClick:r[1]||(r[1]=o=>H(f.supportAccounts.current_page-1))},{default:a(()=>[u(l(e(t)("panel.supportAccounts.prev")),1)]),_:1})):k("",!0),f.supportAccounts.current_page<f.supportAccounts.last_page?(c(),M(e(d),{key:1,variant:"secondary",size:"sm",onClick:r[2]||(r[2]=o=>H(f.supportAccounts.current_page+1))},{default:a(()=>[u(l(e(t)("panel.supportAccounts.next")),1)]),_:1})):k("",!0)])])):k("",!0),s(e(P),{open:w.value,"onUpdate:open":r[6]||(r[6]=o=>w.value=o)},{default:a(()=>[s(e(U),{class:"sm:max-w-md"},{default:a(()=>[s(e(B),null,{default:a(()=>[s(e(L),null,{default:a(()=>[u(l(e(t)("panel.supportAccounts.modal.title")),1)]),_:1}),s(e(T),null,{default:a(()=>[u(l(e(t)("panel.supportAccounts.modal.description")),1)]),_:1})]),_:1}),n("form",{class:"space-y-3",onSubmit:D(W,["prevent"])},[n("div",We,[s(e($),{for:"sa-login"},{default:a(()=>[u(l(e(t)("panel.supportAccounts.modal.login")),1)]),_:1}),s(e(y),{id:"sa-login",modelValue:e(i).login,"onUpdate:modelValue":r[3]||(r[3]=o=>e(i).login=o),type:"text",autocomplete:"off",placeholder:e(t)("panel.supportAccounts.modal.loginPlaceholder")},null,8,["modelValue","placeholder"]),e(i).errors.login?(c(),m("p",Xe,l(e(i).errors.login),1)):k("",!0)]),n("div",Ye,[s(e($),{for:"sa-password"},{default:a(()=>[u(l(e(t)("panel.supportAccounts.modal.password")),1)]),_:1}),s(e(y),{id:"sa-password",modelValue:e(i).password,"onUpdate:modelValue":r[4]||(r[4]=o=>e(i).password=o),type:"text",autocomplete:"new-password",placeholder:e(t)("panel.supportAccounts.modal.passwordPlaceholder")},null,8,["modelValue","placeholder"]),e(i).errors.password?(c(),m("p",es,l(e(i).errors.password),1)):k("",!0)]),n("div",ss,[s(e($),null,{default:a(()=>[u(l(e(t)("panel.supportAccounts.permissionsLabel")),1)]),_:1}),n("p",ts,l(e(t)("panel.supportAccounts.permissionsHint")),1),n("div",os,[(c(!0),m(S,null,R(K.value,o=>(c(),m("label",{key:o,class:"flex cursor-pointer items-center gap-2 rounded-md border border-input px-3 py-2 text-sm"},[s(e(G),{"model-value":e(i).permissions.includes(o),"onUpdate:modelValue":_=>e(i).permissions=q(e(i).permissions,o,_===!0)},null,8,["model-value","onUpdate:modelValue"]),n("span",null,l(N(o)),1)]))),128))])]),s(e(F),{
1class:"gap-2 sm:gap-0"},{default:a(()=>[s(e(d),{type:"button",variant:"outline",onClick:r[5]||(r[5]=o=>w.value=!1)},{default:a(()=>[u(l(e(t)("panel.supportAccounts.modal.cancel")),1)]),_:1}),s(e(d),{type:"submit",disabled:e(i).processing},{default:a(()=>[u(l(e(t)("panel.supportAccounts.modal.submit")),1)]),_:1},8,["disabled"])]),_:1})],32)]),_:1})]),_:1},8,["open"]),s(e(P),{open:x.value!==null,"onUpdate:open":r[9]||(r[9]=o=>{o||(x.value=null)})},{default:a(()=>[s(e(U),{class:"sm:max-w-md"},{default:a(()=>[s(e(B),null,{default:a(()=>[s(e(L),null,{default:a(()=>[u(l(e(t)("panel.supportAccounts.passwordModal.title")),1)]),_:1}),s(e(T),null,{default:a(()=>[u(l(e(t)("panel.supportAccounts.passwordModal.description",{login:x.value?.login??""})),1)]),_:1})]),_:1}),n("form",{class:"space-y-3",onSubmit:D(te,["prevent"])},[n("div",ls,[s(e($),{for:"sa-newpw"},{default:a(()=>[u(l(e(t)("panel.supportAccounts.passwordModal.password")),1)]),_:1}),s(e(y),{id:"sa-newpw",modelValue:e(v).password,"onUpdate:modelValue":r[7]||(r[7]=o=>e(v).password=o),type:"text",autocomplete:"new-password",placeholder:e(t)("panel.supportAccounts.passwordModal.passwordPlaceholder")},null,8,["modelValue","placeholder"]),e(v).errors.password?(c(),m("p",as,l(e(v).errors.password),1)):k("",!0)]),s(e(F),{class:"gap-2 sm:gap-0"},{default:a(()=>[s(e(d),{type:"button",variant:"outline",onClick:r[8]||(r[8]=o=>x.value=null)},{default:a(()=>[u(l(e(t)("panel.supportAccounts.passwordModal.cancel")),1)]),_:1}),s(e(d),{type:"submit",disabled:e(v).processing},{default:a(()=>[u(l(e(t)("panel.supportAccounts.passwordModal.submit")),1)]),_:1},8,["disabled"])]),_:1})],32)]),_:1})]),_:1},8,["open"]),s(e(P),{open:b.value!==null,"onUpdate:open":r[11]||(r[11]=o=>{o||(b.value=null)})},{default:a(()=>[s(e(U),{class:"sm:max-w-md"},{default:a(()=>[s(e(B),null,{default:a(()=>[s(e(L),null,{default:a(()=>[u(l(e(t)("panel.supportAccounts.permissionsModal.title")),1)]),_:1}),s(e(T),null,{default:a(()=>[u(l(e(t)("panel.supportAccounts.permissionsModal.description",{login:b.value?.login??""})),1)]),_:1})]),_:1}),n("form",{class:"space-y-3",onSubmit:D(Y,["prevent"])},[n("div",ns,[(c(!0),m(S,null,R(K.value,o=>(c(),m("label",{key:o,class:"flex cursor-pointer items-center gap-2 rounded-md border border-input px-3 py-2 text-sm"},[s(e(G),{"model-value":e(h).permissions.includes(o),"onUpdate:modelValue":_=>e(h).permissions=q(e(h).permissions,o,_===!0)},null,8,["model-value","onUpdate:modelValue"]),n("span",null,l(N(o)),1)]))),128))]),s(e(F),{class:"gap-2 sm:gap-0"},{default:a(()=>[s(e(d),{type:"button",variant:"outline",onClick:r[10]||(r[10]=o=>b.value=null)},{default:a(()=>[u(l(e(t)("panel.supportAccounts.permissionsModal.cancel")),1)]),_:1}),s(e(d),{type:"submit",disabled:e(h).processing},{default:a(()=>[u(l(e(t)("panel.supportAccounts.permissionsModal.submit")),1)]),_:1},8,["disabled"])]),_:1})],32)]),_:1})]),_:1},8,["open"]),s(e(P),{open:A.value!==null,"onUpdate:open":r[14]||(r[14]=o=>{o||(A.value=null)})},{default:a(()=>[s(e(U),{class:"sm:max-w-md"},{default:a(()=>[s(e(B),null,{default:a(()=>[s(e(L),null,{default:a(()=>[u(l(e(t)("panel.supportAccounts.blockModal.title")),1)]),_:1}),s(e(T),null,{default:a(()=>[u(l(e(t)("panel.supportAccounts.blockModal.description")),1)]),_:1})]),_:1}),n("div",rs,[s(e($),{for:"sa-block-reason"},{default:a(()=>[u(l(e(t)("panel.supportAccounts.blockModal.reasonLabel")),1)]),_:1}),s(e(y),{id:"sa-block-reason",modelValue:V.value,"onUpdate:modelValue":r[12]||(r[12]=o=>V.value=o),type:"text",autocomplete:"off",placeholder:e(t)("panel.supportAccounts.blockModal.reasonPlaceholder")},null,8,["modelValue","placeholder"])]),s(e(F),{class:"gap-2 sm:gap-0"},{default:a(()=>[s(e(d),{type:"button",variant:"outline",onClick:r[13]||(r[13]=o=>A.value=null)},{default:a(()=>[u(l(e(t)("panel.supportAccounts.blockModal.cancel")),1)]),_:1}),s(e(d),{type:"button",variant:"destructive",disabled:I.value,onClick:le},{default:a(()=>[u(l(e(t)("panel.supportAccounts.blockModal.submit")),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])])])]),_:1})],64))}});export{Es 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.