1import{e as h,g as r,c as m,a as t,b as u,w as g,_ as k,o as l,i as p,N as E,t as K,k as n,a5 as _,z as S,h as I}from"./DbfHA8MV.js";import{_ as N}from"./HqBNcbqx.js";import{_ as $}from"./D5trcJRU.js";const z={class:"bg-gray-50"},B={class:"max-w-6xl mx-auto pt-16 pb-20 p-4 min-h-screen"},C={class:"flex flex-row text-brand gap-2 items-center mb-8"},D={class:"mb-4 text-sm text-neutral-600"},O={key:0,class:"h-[260px] flex items-center justify-center"},U={key:1,class:"py-10 text-center text-red-600"},j={__name:"edo-admins",setup(A){const i=r(!1),d=r(""),o=r([]),c=r([{id:"opens",desc:!0}]),a=s=>({column:e})=>_(I,{label:s,color:"neutral",variant:"ghost",class:"px-0 font-medium",trailingIcon:e.getIsSorted()==="asc"?"i-lucide-arrow-up":e.getIsSorted()==="desc"?"i-lucide-arrow-down":"i-lucide-arrow-up-down",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc")}),f=[{accessorKey:"name",header:a("Name"),cell:({row:s})=>s.original.name||"â"},{accessorKey:"email",header:a("Email")},{accessorKey:"delivered",header:a("Delivered")},{accessorKey:"opens",header:a("Opens")},{accessorKey:"clicks",header:a("Clicks")},{accessorKey:"registered",header:"Registered",cell:({row:s})=>s.original.registered?_(p,{name:"i-lucide-circle-check",class:"size-5 text-green-600"}):null}];return h(async()=>{i.value=!0,d.value="";try{const s=await $fetch("/api/admin/edo-admin-engagement");o.value=Array.isArray(s==null?void 0:s.rows)?s.rows:[]}catch(s){console.error("Failed to fetch EDO admin engagement:",s),d.value=(s==null?void 0:s.message)||"Failed to load report",o.value=[]}finally{i.value=!1}}),(s,e)=>{const x=p,y=k,v=N,w=$;return l(),m("div",z,[t("div",B,[u(y,{to:"/admin/reports"},{default:g(()=>[t("div",C,[u(x,{name:"i-lucide-arrow-left",class:"size-6"}),e[1]||(e[1]=t("span",null,"Reports",-1))])]),_:1}),e[4]||(e[4]=t("h1",{class:"text-4xl md:text-5xl font-bold text-neutral-950 mb-2"}," EDO/ESO Admin Engagement ",-1)),e[5]||(e[5]=t("p",{class:"text-lg text-neutral-600 mb-8"}," Email opens and weekly digest link clicks per organization administrator. ",-1)),u(w,null,{default:g(()=>[t("div",D,K(n(o).length)+" admins ",1),n(i)?(l(),m("div",O,[...e[2]||(e[2]=[t("div",{class:"animate-spin rounded-full h-10 w-10 border-b-2 border-neutral-400"},null,-1)])])):n(d)?(l(),m("div",U,[...e[3]||(e[3]=[t("p",null,"Failed to load admin engagement data.",-1)])])):(l(),E(v,{key:2,sorting:n(c),"onUpdate:sorting":e[0]||(e[0]=b=>S(c)?c.value=b:null),data:n(o),columns:f,class:"border border-neutral-200 rounded-lg overflow-hidden"},null,8,["sorting","data"]))]),_:1})])])}}};export{j 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.