PageSourceSearch

https://leapwise.ai/build/assets/Organizations-BwcrPAy2.js

js leapwise.ai collected 2026-10-05 13:56:40 UTC 13,392 bytes, 1 lines download raw bytes

1import{o as n,c as i,i as t,h as V,b as P,w as U,l as E,F as A,r as C,t as o,B as R,k as l,u as d,n as T,j as c,f as x,g as v,a as k}from"./runtime-dom.esm-bundler-CJm7QP-X.js";import W from"./AnalyticsLayout-BsNV4Kco.js";import{x as q}from"./vue3-apexcharts-OnWZESZO.js";import{a as G}from"./app-zmkjmCEo.js";import{r as H}from"./ArrowPathIcon-DaH-bfqm.js";import{r as $}from"./BuildingOffice2Icon-CW4YPh7o.js";import{r as J}from"./ExclamationTriangleIcon-DehMT6KK.js";import{r as K}from"./UsersIcon-BjHT-OFx.js";import{r as Q}from"./ChartBarIcon-Ck97Gv-I.js";import{r as S}from"./DocumentTextIcon-I1l8v-t8.js";import"./SysAdminLayout-4k6xZtM7.js";import"./ImpersonationBanner.vue_vue_type_script_setup_true_lang-DQQn71IM.js";import"./useSysAdminAppearance-C1xmrfF1.js";import"./ChevronDownIcon-CUXldO0b.js";import"./SparklesIcon-DGWuJ4FF.js";import"./PencilSquareIcon-CAVo7Khd.js";import"./RocketLaunchIcon-D9qc4bYq.js";import"./PaperAirplaneIcon-BH_QXWXN.js";import"./MagnifyingGlassIcon-kOj4MeDv.js";import"./LinkIcon-CbwBrMb4.js";import"./BeakerIcon-DLBcNtX1.js";import"./MapIcon-4oUoUi0Q.js";import"./CurrencyDollarIcon-DK909_TX.js";import"./vue.runtime.esm-bundler-BEvBYxZF.js";function B(f,z){return n(),i("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 6.042A8.967 8.967 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0 0 18 18a8.967 8.967 0 0 0-6 2.292m0-14.25v14.25"})])}const X={class:"mb-8 rounded-2xl bg-gray-800/50 p-6 shadow-lg ring-1 ring-white/5 backdrop-blur-xl"},Y={class:"flex items-center gap-4"},Z={class:"flex-1"},tt=["value"],et={key:0,class:"flex-shrink-0"},st={key:0,class:"text-center py-16"},ot={key:1,class:"flex items-center justify-center py-16"},at={key:2,class:"text-center py-16"},rt={class:"text-gray-500 mb-4"},nt={key:3},it={class:"mb-6 flex items-center gap-3"},lt={class:"text-xl font-bold text-white"},dt={key:0,class:"text-sm text-gray-500"},ct={class:"grid grid-cols-2 md:grid-cols-4 gap-4 mb-8"},ut={class:"rounded-2xl bg-gray-800/50 p-5 shadow-lg ring-1 ring-white/5 backdrop-blur-xl group hover:bg-gray-800/80 transition-all"},mt={class:"flex items-center gap-3 mb-2"},gt={class:"p-2 bg-blue-500/20 rounded-lg"},pt={class:"text-3xl font-bold text-white"},xt={class:"mt-1 text-sm text-gray-500"},vt={class:"text-emerald-400"},ht={class:"rounded-2xl bg-gray-800/50 p-5 shadow-lg ring-1 ring-white/5 backdrop-blur-xl group hover:bg-gray-800/80 transition-all"},yt={class:"flex items-center gap-3 mb-2"},_t={class:"p-2 bg-emerald-500/20 rounded-lg"},bt={class:"text-3xl font-bold text-white"},ft={class:"mt-1 text-sm text-gray-500"},wt={class:"rounded-2xl bg-gray-800/50 p-5 shadow-lg ring-1 ring-white/5 backdrop-blur-xl group hover:bg-gray-800/80 transition-all"},kt={class:"flex items-center gap-3 mb-2"},zt={class:"p-2 bg-purple-500/20 rounded-lg"},At={class:"text-3xl font-bold text-white"},Ct={class:"mt-1 text-sm"},Tt={class:"text-emerald-400"},$t={class:"rounded-2xl bg-gray-800/50 p-5 shadow-lg ring-1 ring-white/5 backdrop-blur-xl group hover:bg-gray-800/80 transition-all"},St={class:"flex items-center gap-3 mb-2"},Bt={class:"p-2 bg-amber-500/20 rounded-lg"},Ft={class:"text-3xl font-bold text-white"},Lt={class:"mt-1 text-sm"},jt={class:"text-emerald-400"},Dt={class:"rounded-2xl bg-gray-800/50 p-6 shadow-lg ring-1 ring-white/5 backdrop-blur-xl mb-8"},Mt={class:"h-64"},Ot={class:"rounded-2xl bg-gray-800/50 shadow-lg ring-1 ring-white/5 backdrop-blur-xl overflow-hidden"},It={class:"overflow-x-auto"},Nt={class:"w-full"},Vt={class:"bg-gray-900/50"},Pt={class:"flex items-center gap-1"},Ut={key:0,class:"text-indigo-400"},Et={class:"flex items-center justify-center gap-1"},Rt={key:0,class:"text-indigo-400"},Wt={class:"flex items-center justify-center gap-1"},qt={key:0,class:"text-indigo-400"},Gt={class:"divide-y divide-gray-700/50"},Ht={class:"px-6 py-4 whitespace-nowrap"},Jt={class:"flex items-center gap-3"},Kt={class:"relative"},Qt={class:"h-9 w-9 rounded-full bg-gradient-to-br from-indigo-500 to-purple-500 flex items-center justify-center text-white text-sm font-semibold"},Xt={key:0,class:"absolute -bottom-0.5 -right-0.5 h-3 w-3 rounded-full bg-emerald-400 border-2 border-gray-800"},Yt={class:"text-sm font-medium text-white"},Zt={class:"text-xs text-gray-500"},te={class:"px-6 py-4 whitespace-nowrap"},ee={class:"px-6 py-4 whitespace-nowrap text-sm text-gray-300"},se={class:"px-6 py-4 whitespace-nowrap text-center"},oe={class:"text-sm font-medium text-white"},ae={class:"px-6 py-4 whitespace-nowrap"},re={class:"flex items-center justify-center gap-4 text-sm"},ne={class:"flex items-center gap-1 text-purple-400",title:"Flyers"},ie={class:"flex items-center gap-1 text-amber-400",title:"Tourbooks"},le={key:0,class:"text-center py-8 text-gray-500"},je={__name:"Organizations",props:{organizations:{type:Array,default:()=>[]}},setup(f){const z=q,F=f,u=v(null),h=v(!1),_=v(null),r=v(null),p=v("actions"),m=v("desc");V(()=>{const e=new URLSearchParams(window.location.search).get("org");if(e){const s=parseInt(e,10);s&&F.organizations.some(g=>g.id===s)&&(u.value=s,b())}});const L=k(()=>{var e;if(!((e=r.value)!=null&&e.member_activity))return[];const a=[...r.value.member_activity];return a.sort((s,g)=>{let y=0;switch(p.value){case"actions":y=s.actions_count-g.actions_count;break;case"last_seen":const I=s.last_seen?new Date(s.last_seen).getTime():0,N=g.last_seen?new Date(g.last_seen).getTime():0;y=I-N;break;case"content":y=s.flyers_count+s.tourbooks_count-(g.flyers_count+g.tourbooks_count);break}return m.value==="desc"?-y:y}),a}),j=k(()=>{var a,e;return{chart:{type:"area",fontFamily:"inherit",background:"transparent",toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{curve:"smooth",width:2,colors:["#6366f1"]},fill:{type:"gradient",gradient:{shadeIntensity:1,opacityFrom:.4,opacityTo:.05,stops:[0,90,100]}},xaxis:{categories:((e=(a=r.value)==null?void 0:a.activity_trend)==null?void 0:e.map(s=>s.label))||[],labels:{style:{colors:"hsl(var(--muted-foreground))"},rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0},axisBorder:{show:!1},axisTicks:{show:!1}},yaxis:{labels:{style:{colors:"hsl(var(--muted-foreground))"}},min:0},grid:{borderColor:"hsl(var(--border))",strokeDashArray:4},theme:{mode:"dark"},colors:["#6366f1"],tooltip:{theme:"dark",y:{formatter:s=>`${s} actions`}}}}),D=k(()=>{var a,e;return[{name:"Team Activity",data:((e=(a=r.value)==null?void 0:a.activity_trend)==null?void 0:e.map(s=>s.count))||[]}]}),b=async()=>{var a,e;if(u.value){h.value=!0,_.value=null;try{const s=await G.get(`/sysadmin/analytics/data/organization/${u.value}`);r.value=s.data}catch(s){_.value=((e=(a=s.response)==null?void 0:a.data)==null?void 0:e.error)||"Failed to load organization analytics",console.error("Error fetching organization analytics:",s)}finally{h.value=!1}}},w=a=>{p.value===a?m.value=m.value==="desc"?"asc":"desc":(p.value=a,m.value="desc")},M=a=>{switch(a){case"active":return"bg-emerald-500/20 text-emerald-400 border border-emerald-500/30";case"inactive":return"bg-amber-500/20 text-amber-400 border border-amber-500/30";case"dormant":default:return"bg-gray-500/20 text-gray-400 border border-gray-500/30"}},O=a=>{switch(a){case"active":return"Active";case"inactive":return"Away";case"dormant":return"Inactive";default:return a}};return(a,e)=>(n(),P(W,null,{default:U(()=>[t("div",X,[t("div",Y,[t("div",Z,[e[5]||(e[5]=t("label",{class:"block text-sm font-medium text-indigo-400 mb-2 uppercase tracking-wider"}," Select Organization ",-1)),E(t("select",{"onUpdate:modelValue":e[0]||(e[0]=s=>u.value=s),class:"w-full max-w-md bg-gray-900/50 border-0 rounded-lg text-white focus:ring-2 focus:ring-indigo-500 py-3 px-4",onChange:b},[e[4]||(e[4]=t("option",{value:null,disabled:""},"Choose an organization...",-1)),(n(!0),i(A,null,C(f.organizations,s=>(n(),i("option",{key:s.id,value:s.id},o(s.name)+" "+o(s.domain?`(${s.domain})`:""),9,tt))),128))],544),[[R,u.value]])]),u.value&&!h.value?(n(),i("div",et,[t("button",{onClick:b,class:"p-3 rounded-lg bg-gray-700 text-gray-400 hover:text-white hover:bg-gray-600 transition-colors"},[l(d(H),{class:T(["h-5 w-5",{"animate-spin":h.value}])},null,8,["class"])])])):c("",!0)])]),u.value?h.value?(n(),i("div",ot,[...e[8]||(e[8]=[t("div",{class:"text-center"},[t("div",{class:"animate-spin rounded-full h-12 w-12 border-b-2 border-indigo-500 mx-auto mb-4"}),t("p",{class:"text-gray-400"},"Loading organization analytics...")],-1)])])):_.value?(n(),i("div",at,[l(d(J),{class:"h-16 w-16 mx-auto text-red-500 mb-4"}),e[9]||(e[9]=t("h3",{class:"text-xl font-medium text-red-400 mb-2"}
1,"Failed to load analytics",-1)),t("p",rt,o(_.value),1),t("button",{onClick:b,class:"px-4 py-2 bg-gray-700 text-white rounded-lg hover:bg-gray-600 transition-colors"}," Try Again ")])):r.value?(n(),i("div",nt,[t("div",it,[l(d($),{class:"h-6 w-6 text-indigo-400"}),t("div",null,[t("h2",lt,o(r.value.organization.name),1),r.value.organization.domain?(n(),i("p",dt,o(r.value.organization.domain),1)):c("",!0)])]),t("div",ct,[t("div",ut,[t("div",mt,[t("div",gt,[l(d(K),{class:"h-5 w-5 text-blue-400"})]),e[10]||(e[10]=t("span",{class:"text-sm font-medium text-gray-400"},"Team Size",-1))]),t("div",pt,o(r.value.summary.total_members),1),t("div",xt,[t("span",vt,o(r.value.summary.online_now),1),e[11]||(e[11]=x(" online now ",-1))])]),t("div",ht,[t("div",yt,[t("div",_t,[l(d(Q),{class:"h-5 w-5 text-emerald-400"})]),e[12]||(e[12]=t("span",{class:"text-sm font-medium text-gray-400"},"Active This Week",-1))]),t("div",bt,o(r.value.summary.active_this_week),1),t("div",ft,o(Math.round(r.value.summary.active_this_week/r.value.summary.total_members*100)||0)+"% of team ",1)]),t("div",wt,[t("div",kt,[t("div",zt,[l(d(S),{class:"h-5 w-5 text-purple-400"})]),e[13]||(e[13]=t("span",{class:"text-sm font-medium text-gray-400"},"Flyers",-1))]),t("div",At,o(r.value.summary.total_flyers),1),t("div",Ct,[t("span",Tt,"+"+o(r.value.summary.flyers_this_month),1),e[14]||(e[14]=t("span",{class:"text-gray-500"}," this month",-1))])]),t("div",$t,[t("div",St,[t("div",Bt,[l(d(B),{class:"h-5 w-5 text-amber-400"})]),e[15]||(e[15]=t("span",{class:"text-sm font-medium text-gray-400"},"Tourbooks",-1))]),t("div",Ft,o(r.value.summary.total_tourbooks),1),t("div",Lt,[t("span",jt,"+"+o(r.value.summary.tourbooks_this_month),1),e[16]||(e[16]=t("span",{class:"text-gray-500"}," this month",-1))])])]),t("div",Dt,[e[17]||(e[17]=t("h3",{class:"text-lg font-semibold text-white mb-4"},"Team Activity (Last 30 Days)",-1)),t("div",Mt,[l(d(z),{type:"area",height:"100%",options:j.value,series:D.value},null,8,["options","series"])])]),t("div",Ot,[e[23]||(e[23]=t("div",{class:"px-6 py-4 border-b border-gray-700/50"},[t("h3",{class:"text-lg font-semibold text-white"},"Team Member Activity")],-1)),t("div",It,[t("table",Nt,[t("thead",Vt,[t("tr",null,[e[21]||(e[21]=t("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-400 uppercase tracking-wider"}," Member ",-1)),e[22]||(e[22]=t("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-400 uppercase tracking-wider"}," Status ",-1)),t("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-400 uppercase tracking-wider cursor-pointer hover:text-gray-200 select-none",onClick:e[1]||(e[1]=s=>w("last_seen"))},[t("span",Pt,[e[18]||(e[18]=x(" Last Seen ",-1)),p.value==="last_seen"?(n(),i("span",Ut,o(m.value==="desc"?"↓":"↑"),1)):c("",!0)])]),t("th",{class:"px-6 py-3 text-center text-xs font-medium text-gray-400 uppercase tracking-wider cursor-pointer hover:text-gray-200 select-none",onClick:e[2]||(e[2]=s=>w("actions"))},[t("span",Et,[e[19]||(e[19]=x(" Actions (30d) ",-1)),p.value==="actions"?(n(),i("span",Rt,o(m.value==="desc"?"↓":"↑"),1)):c("",!0)])]),t("th",{class:"px-6 py-3 text-center text-xs font-medium text-gray-400 uppercase tracking-wider cursor-pointer hover:text-gray-200 select-none",onClick:e[3]||(e[3]=s=>w("content"))},[t("span",Wt,[e[20]||(e[20]=x(" Content ",-1)),p.value==="content"?(n(),i("span",qt,o(m.value==="desc"?"↓":"↑"),1)):c("",!0)])])])]),t("tbody",Gt,[(n(!0),i(A,null,C(L.value,s=>(n(),i("tr",{key:s.id,class:"hover:bg-white/5 transition-colors"},[t("td",Ht,[t("div",Jt,[t("div",Kt,[t("div",Qt,o(s.name.charAt(0).toUpperCase()),1),s.is_online?(n(),i("div",Xt)):c("",!0)]),t("div",null,[t("div",Yt,o(s.name),1),t("div",Zt,o(s.email),1)])])]),t("td",te,[t("span",{class:T(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",M(s.status)])},o(O(s.status)),3)]),t("td",ee,o(s.last_seen_human),1),t("td",se,[t("span",oe,o(s.actions_count),1)]),t("td",ae,[t("div",re,[t("span",ne,[l(d(S),{class:"h-4 w-4"}),x(" "+o(s.flyers_count),1)]),t("span",ie,[l(d(B),{class:"h-4 w-4"}),x(" "+o(s.tourbooks_count),1)])])])]))),128))])])]),r.value.member_activity.length===0?(n(),i("div",le," No team members found ")):c("",!0)])])):c("",!0):(n(),i("div",st,[l(d($),{class:"h-16 w-16 mx-auto text-gray-600 mb-4"}),e[6]||(e[6]=t("h3",{class:"text-xl font-medium text-gray-400 mb-2"},"Select an Organization",-1)),e[7]||(e[7]=t("p",{class:"text-gray-500"},"Choose an organization from the dropdown above to view their analytics",-1))]))]),_:1}))}};export{je 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.