PageSourceSearch

https://xterns.ai/assets/SuperAdminPodAnalyticsDetail-_YWZuqfB.js

js xterns.ai collected 2026-10-05 13:23:47 UTC 4,970 bytes, 1 lines download raw bytes

1import{a8 as P,u as S,j as e,h as o,m as d,B as A,J as l,i as c,k as m}from"./index-DLd_kDlx.js";import{S as p}from"./SuperAdminLayout-BsUvQU2j.js";import{u as k}from"./useSuperAdminPodAnalytics-BxT6ZDlV.js";import{A as D}from"./arrow-left-BXtn7MCa.js";import{E as $}from"./external-link-D0CFvOTk.js";import"./NotificationIcon-C1wwYnH5.js";import"./popover-BMD5FOmU.js";import"./scroll-area-BXTuUF24.js";import"./index-Deh-4PO1.js";import"./index-BdQq_4o_.js";import"./NotificationItem-Dc2WXW-y.js";import"./formatDistanceToNow-57P64IbE.js";import"./en-US-9SRVm7yB.js";import"./differenceInCalendarMonths-BA0TPVs2.js";import"./endOfDay-DkR3ZXc8.js";import"./endOfMonth-CYn6pTOm.js";import"./message-square-CtxeCfRz.js";import"./trophy-DBX-jNOC.js";import"./triangle-alert-Chqk_WK7.js";import"./dropdown-menu-DSd1c3Vk.js";import"./index-lTaZyIGy.js";import"./chevron-right-CD1gvy-q.js";import"./crown-hzm_bRIt.js";import"./user-check-DxoAQXwU.js";import"./star-BH1OFEcs.js";import"./globe-C057RQ73.js";import"./timer-CZhDpZys.js";import"./briefcase-business-CphIeAJd.js";import"./key-round-B79BulHq.js";import"./search-DFH5eAlA.js";const i=(a,n="")=>a==null?"N/A":`${a}${n}`;function oe(){var h,j,u,g,N,f,v,y;const{podId:a}=P(),n=S(),{data:t,loading:C,error:x}=k(a);if(C)return e.jsx(p,{children:e.jsx("div",{className:"py-24 text-center text-muted-foreground",children:"Loading pod analytics…"})});if(x||!t)return e.jsx(p,{children:e.jsx(o,{className:"border-destructive",children:e.jsx(d,{className:"p-6 text-destructive",children:x||"Pod not found."})})});const s=t.analytics,w=t.startDate&&t.deadline?`${new Date(t.startDate).toLocaleDateString()} – ${new Date(t.deadline).toLocaleDateString()}`:"N/A";return e.jsx(p,{children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex justify-between gap-3",children:[e.jsxs("div",{children:[e.jsxs(A,{variant:"ghost",className:"mb-2 -ml-3",onClick:()=>n("/super-admin/pod-analytics"),children:[e.jsx(D,{className:"mr-2 h-4 w-4"}),"Pod Analytics"]}),e.jsx("h1",{className:"text-2xl font-bold",children:t.name}),e.jsxs("div",{className:"flex gap-2 mt-2",children:[e.jsx(l,{children:t.type}),e.jsx(l,{variant:"outline",children:t.status}),(s==null?void 0:s.atRisk)&&e.jsx(l,{variant:"destructive",children:"At risk"})]})]}),e.jsxs(A,{variant:"outline",onClick:()=>n(`/super-admin/sprint-boards-pods/${a}/sprint-board`),children:["Sprint Board",e.jsx($,{className:"ml-2 h-4 w-4"})]})]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs(o,{children:[e.jsx(c,{children:e.jsx(m,{children:"Pod summary"})}),e.jsxs(d,{className:"grid grid-cols-2 gap-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-muted-foreground",children:"Project"}),e.jsx("p",{className:"font-medium",children:t.project||"N/A"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-muted-foreground",children:"Business"}),e.jsx("p",{className:"font-medium",children:t.business||"Not assigned"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-muted-foreground",children:"Duration"}),e.jsx("p",{className:"font-medium",children:w})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-muted-foreground",children:"Cohorts"}),e.jsx("p",{className:"font-medium",children:((h=t.cohorts)==null?void 0:h.join(", "))||"N/A"})]})]})]}),e.jsxs(o,{children:[e.jsx(c,{children:e.jsx(m,{children:"Team composition"})}),e.jsxs(d,{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Owner: "}),((j=t.owner)==null?void 0:j.name)||"Owner unassigned"]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Collaborating tech leads: "}),((u=t.collaborators)==null?void 0:u.map(r=>`${r.name} (${r.pathway})`).join(", "))||"None"]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:(g=t.pathways)==null?void 0:g.map(r=>e.jsxs(l,{variant:"secondary",children:[r.name,": ",r.xternCount," Xterns"]},r.name))})]})]})]}),e.jsxs(o,{children:[e.jsx(c,{children:e.jsx(m,{children:"Progress and health"})}),e.jsx(d,{className:"grid gap-5 sm:grid-cols-2 lg:grid-cols-4",children:[["Assigned tickets",(N=t.progress)==null?void 0:N.assigned],["Submitted tickets",(f=t.progress)==null?void 0:f.submitted],["Completed tickets",(v=t.progress)==null?void 0:v.completed],["Project completion",i((y=t.progress)==null?void 0:y.completionRate,"%")],["Meeting attendance",i(s==null?void 0:s.attendanceRate,"%")],["Active participation",i(s==null?void 0:s.participationRate,"%")],["Team health",i(s==null?void 0:s.healthScore,"%")],["Collaboration score",i(s==null?void 0:s.collaborationScore)],["Cross-pathway completion",i(s==null?void 0:s.crossPathwayCompletionRate,"%")],["Xterns",(s==null?void 0:s.xternCount)??0]].map(([r,b])=>e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:r}),e.jsx("p",{className:"text-2xl font-bold",children:b})]},r))})]})]})})}export{oe 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.