PageSourceSearch

https://xterns.ai/assets/ClientAcceleratorApplicationReviews-S393237K.js

js xterns.ai collected 2026-10-05 13:24:37 UTC 13,404 bytes, 1 lines download raw bytes

1import{j as e,a8 as ue,Z as pe,r as m,M as ge,h as D,i as q,k as E,m as I,B as p,L as Z,U as ve,x as fe,I as H,n as Y,J as b,ae as R,N as ye,O as we,Q as be,V as Ne}from"./index-DLd_kDlx.js";import{C as Ae}from"./ClientBusinessGate-CKL9R3zX.js";import{S as Ce,a as Se,b as _e,c as Re,d as ke}from"./select-RSrodAEw.js";import{T as De,a as Ie,b as O,c as j,d as $e,e as x}from"./table-BOJIo-OD.js";import{u as Pe,r as Te,c as Le}from"./acceleratorApplicationForm-Df61pn3H.js";import{L as ee}from"./loader-circle-D2miE2xB.js";import{A as Be}from"./arrow-left-BXtn7MCa.js";import{C as Fe}from"./clock-3-De2r9tJK.js";import{C as qe}from"./circle-x-C4PFt3c3.js";import{S as Ee}from"./search-DFH5eAlA.js";import{B as He}from"./brain-pqum15ho.js";import"./timer-CZhDpZys.js";import"./briefcase-business-CphIeAJd.js";import"./businessManagement-BTTXtuIj.js";import"./index-BdQq_4o_.js";import"./index-Deh-4PO1.js";import"./chevron-down-DpJJsCer.js";import"./chevron-up-M4SAwIjf.js";const te=t=>t?new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short",year:"numeric"}).format(new Date(t)):"—",g=t=>t.replace(/_/g," ").replace(/\b\w/g,i=>i.toUpperCase()),M=t=>t.ai_review,is=()=>e.jsx(Ae,{requireAccelerator:!0,children:()=>e.jsx(Oe,{})}),Oe=()=>{var G,z,K,J;const{programmeId:t}=ue(),i=pe(),[c,h]=m.useState([]),[n,v]=m.useState(null),[a,d]=m.useState(!1),[U,V]=m.useState(null),[$,ae]=m.useState(""),[f,re]=m.useState("all"),[N,le]=m.useState("all"),[A,ne]=m.useState("all"),[C,ie]=m.useState(""),[S,ce]=m.useState(""),{data:r,isLoading:de,error:P,refetch:oe}=ge({queryKey:["accelerator-application-dashboard",t],queryFn:()=>Le(t),enabled:!!t}),T=(r==null?void 0:r.applications)||[],me=[...new Set(T.map(s=>s.pathway))],y=m.useMemo(()=>T.filter(s=>{var X;const l=$.trim().toLowerCase(),o=!l||`${s.first_name} ${s.last_name} ${s.email}`.toLowerCase().includes(l),B=f==="all"||f==="pending"&&s.status==="pending_assessment"||f==="assessment_completed"&&s.assessment_status==="completed"||f==="ai_reviewed"&&s.review_status==="completed"||s.status===f,_=N==="all"||((X=M(s))==null?void 0:X.recommendation)===N,F=A==="all"||s.pathway===A,W=String(s.created_at||s.submitted_at||"").slice(0,10);return o&&B&&_&&F&&(!C||W>=C)&&(!S||W<=S)}),[T,$,f,N,A,C,S]),L=async(s,l)=>{try{d(!0);const o=await Pe(t,s,l);h([]),v(null),await i.invalidateQueries({queryKey:["accelerator-application-dashboard",t]}),R({title:`${o} application${o===1?"":"s"} ${l}`})}catch(o){R({title:"Status update failed",description:o instanceof Error?o.message:"Please retry.",variant:"destructive"})}finally{d(!1)}},xe=async s=>{try{V(s),await Te(s),await i.invalidateQueries({queryKey:["accelerator-application-dashboard",t]}),R({title:"AI review completed"})}catch(l){R({title:"AI review failed",description:l instanceof Error?l.message:"Please retry.",variant:"destructive"})}finally{V(null)}},he=y.length>0&&y.every(s=>c.includes(s.id)),je=s=>h(s?[...new Set([...c,...y.map(l=>l.id)])]:c.filter(l=>!y.some(o=>o.id===l)));return de?e.jsx("div",{className:"flex justify-center p-20",children:e.jsx(ee,{className:"h-7 w-7 animate-spin"})}):P?e.jsxs(D,{className:"border-destructive/40",children:[e.jsx(q,{children:e.jsx(E,{className:"text-destructive",children:"Unable to load applications"})}),e.jsxs(I,{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:P instanceof Error?P.message:"The application dashboard could not be loaded."}),e.jsx(p,{variant:"outline",onClick:()=>oe(),children:"Retry"})]})]}):e.jsxs("div",{className:"space-y-6",children:[e.jsx(p,{asChild:!0,variant:"ghost",children:e.jsxs(Z,{to:`/client/accelerator/${t}/setup`,children:[e.jsx(Be,{className:"mr-2 h-4 w-4"}),"Back to programme"]})}),e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold",children:"Accelerator Dashboard"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Review applications, assessment eligibility, AI scoring, and decisions."})]}),e.jsx(p,{asChild:!0,children:e.jsx(Z,{to:`/client/accelerator/${t}/pod-assignments`,children:"Manage Pod Assignments"})})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-4",children:[e.jsx(k,{title:"Total Applications",value:((G=r==null?void 0:r.metrics)==null?void 0:G.total)||0,icon:e.jsx(ve,{})}
1),e.jsx(k,{title:"Applications Pending",value:((z=r==null?void 0:r.metrics)==null?void 0:z.pending)||0,icon:e.jsx(Fe,{})}),e.jsx(k,{title:"Applications Accepted",value:((K=r==null?void 0:r.metrics)==null?void 0:K.accepted)||0,icon:e.jsx(fe,{})}),e.jsx(k,{title:"Applications Rejected",value:((J=r==null?void 0:r.metrics)==null?void 0:J.rejected)||0,icon:e.jsx(qe,{})})]}),e.jsxs(D,{children:[e.jsx(q,{children:e.jsx(E,{children:"Pathway Distribution"})}),e.jsx(I,{className:"space-y-3",children:((r==null?void 0:r.pathway_distribution)||[]).length===0?e.jsx("p",{className:"text-sm text-muted-foreground",children:"No pathway data yet."}):r.pathway_distribution.map(s=>{const l=r.metrics.total?s.count/r.metrics.total*100:0;return e.jsxs("div",{children:[e.jsxs("div",{className:"mb-1 flex justify-between text-sm",children:[e.jsx("span",{children:g(s.pathway)}),e.jsx("span",{children:s.count})]}),e.jsx("div",{className:"h-2 overflow-hidden rounded-full bg-muted",children:e.jsx("div",{className:"h-full rounded-full bg-primary",style:{width:`${l}%`}})})]},s.pathway)})})]}),e.jsxs(D,{children:[e.jsxs(q,{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[e.jsx(E,{children:"Applications"}),c.length>0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(p,{size:"sm",disabled:a,onClick:()=>L(c,"accepted"),children:["Approve Selected (",c.length,")"]}),e.jsx(p,{size:"sm",variant:"destructive",disabled:a,onClick:()=>L(c,"rejected"),children:"Reject Selected"})]})]}),e.jsxs("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[e.jsxs("div",{className:"relative",children:[e.jsx(Ee,{className:"absolute left-3 top-3 h-4 w-4 text-muted-foreground"}),e.jsx(H,{className:"pl-9",placeholder:"Search name or email",value:$,onChange:s=>ae(s.target.value)})]}),e.jsx(Q,{value:f,onChange:re,placeholder:"Application stage",options:[["all","All Stages"],["pending","Pending"],["assessment_completed","Assessment Completed"],["ai_reviewed","AI Reviewed"],["accepted","Accepted"],["rejected","Rejected"]]}),e.jsx(Q,{value:N,onChange:le,placeholder:"Recommendation",options:[["all","All Recommendations"],["Highly Recommended","Highly Recommended"],["Recommended","Recommended"],["Good","Good"],["Fair","Fair"],["Do Not Recommend","Do Not Recommend"]]}),e.jsx(Q,{value:A,onChange:ne,placeholder:"Pathway",options:[["all","All Pathways"],...me.map(s=>[s,g(s)])]}),e.jsx(H,{type:"date","aria-label":"Applied from",value:C,onChange:s=>ie(s.target.value)}),e.jsx(H,{type:"date","aria-label":"Applied to",value:S,onChange:s=>ce(s.target.value)})]})]}),e.jsx(I,{children:e.jsx("div",{className:"overflow-x-auto rounded-xl border",children:e.jsxs(De,{children:[e.jsx(Ie,{children:e.jsxs(O,{children:[e.jsx(j,{className:"w-10",children:e.jsx(Y,{checked:he,onCheckedChange:s=>je(s===!0)})}),e.jsx(j,{children:"Applicant"}),e.jsx(j,{children:"Pathway"}),e.jsx(j,{children:"Assessment Status"}),e.jsx(j,{children:"AI Score"}),e.jsx(j,{children:"Recommendation"}),e.jsx(j,{children:"Status"}),e.jsx(j,{children:"Applied Date"})]})}),e.jsx($e,{children:y.length===0?e.jsx(O,{children:e.jsx(x,{colSpan:8,className:"h-28 text-center text-muted-foreground",children:"No applications match these filters."})}):y.map(s=>{const l=M(s),o=!l&&["queued","failed","processing"].includes(s.review_status);return e.jsxs(O,{children:[e.jsx(x,{children:e.jsx(Y,{checked:c.includes(s.id),onCheckedChange:B=>h(_=>B?[..._,s.id]:_.filter(F=>F!==s.id))})}),e.jsxs(x,{children:[e.jsxs("button",{className:"text-left font-medium text-primary hover:underline",onClick:()=>v(s),children:[s.first_name," ",s.last_name]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.email})]}),e.jsx(x,{children:g(s.pathway)}),e.jsx(x,{children:e.jsx(b,{variant:s.assessment_status==="completed"?"default":"secondary",children:g(s.assessment_status)})}),e.jsx(x,{children:l?`${l.total_score}/100`:o?e.jsxs(p,{size:"sm",variant:"outline",disabled:U===s.id,onClick:()=>xe(s.id),children:[U===s.id?e.jsx(ee,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(He,{className:"h-3.5 w-3.5"}),e.jsx("span",{className:"ml-1.5",children:"Run AI review"})]}):"—"}),e.jsx(x,{children:(l==null?void 0:l.recommendation)||"—"}),e.jsx(x,{children:e.jsx(b,{variant:"outline",children:g(s.status)})}),e.jsx(x,{children:te(s.created_at)})]},s.id)})})]})})})]}),e.jsx(Qe,{application:n,onClose:()=>v(null),onDecision:s=>L([n.id],s),updating:a})]})},k=({title:t,value:i,icon:c})=>e.jsx(D,{children:e.jsxs(I,{className:"flex items-center justify-between p-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:t}),e.jsx("p",{className:"mt-1 text-3xl font-bold",children:i})]}),e.jsx("div",{className:"rounded-xl bg-primary/10 p-3 text-primary [&>svg]:h-5 [&>svg]:w-5",children:c})]})}),Q=({value:t,onChange:i,placeholder:c,options:h})=>e.jsxs(Ce,{value:t,onValueChange:i,children:[e.jsx(Se,{children:e.jsx(_e,{placeholder:c})}),e.jsx(Re,{children:h.map(([n,v])=>e.jsx(ke,{value:n,children:v},n))})]}),Qe=({application:t,onClose:i,onDecision:c,updating:h})=>{if(!t)return null;const n=M(t),v=Object.fromEntries((t.custom_questions||[]).map(a=>[a.id,a.label]));return e.jsx(ye,{open:!0,onOpenChange:a=>!a&&i(),children:e.jsxs(we,{className:"max-h-[90vh] max-w-4xl overflow-y-auto",children:[e.jsx(be,{children:e.jsx(Ne,{children:t.profile.full_name})}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs(w,{title:"Profile",children:[e.jsx(se,{values:[["Email",t.profile.email],["Phone",t.profile.phone],["LinkedIn",t.profile.linkedin_url],["Location",t.profile.location],["Pathway",g(t.pathway)],["Industry of Interest",g(t.preferred_industry)]]}),t.profile.bio&&e.jsx("p",{className:"mt-3 text-sm text-muted-foreground",children:t.profile.bio})]}
1),e.jsxs(w,{title:"Application Answers",children:[e.jsx(u,{label:"Why do you want to join?",value:t.motivation}),e.jsx(u,{label:"How will you become a top voice for Xterns?",value:t.xterns_top_voice}),e.jsx(u,{label:"Leadership experience",value:t.leadership_experience}),e.jsx(u,{label:"Commitment",value:`${t.commitment_days} days`}),Object.entries(t.custom_responses||{}).map(([a,d])=>e.jsx(u,{label:v[a]||a,value:typeof d=="object"?(d==null?void 0:d.name)||JSON.stringify(d):String(d)},a))]}),e.jsxs(w,{title:"Assessment Result",children:[e.jsxs("p",{className:"text-sm",children:["Average score: ",e.jsxs("strong",{children:[Number(t.assessment_average).toFixed(1),"%"]})]}),e.jsx("div",{className:"mt-3 grid gap-2 sm:grid-cols-2",children:t.assessment_results.map(a=>e.jsxs("div",{className:"flex justify-between rounded-lg border p-3 text-sm",children:[e.jsx("span",{children:a.tech_stack}),e.jsxs("span",{className:a.passed?"text-emerald-700":"text-destructive",children:[Number(a.score).toFixed(1),"% · ",a.passed?"Passed":"Not passed"]})]},a.tech_stack))})]}),e.jsx(w,{title:"AI Review",children:n?e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(b,{children:[n.total_score,"/100"]}),e.jsx(b,{variant:"secondary",children:n.recommendation}),n.ai_content_detected&&e.jsx(b,{variant:"destructive",children:"AI penalty −20"})]}),e.jsx("p",{className:"text-sm",children:n.summary}),e.jsx(se,{values:[["Assessment",`${n.assessment_points}/30`],["Motivation",`${n.motivation_points}/20`],["Voice",`${n.voice_points}/20`],["Leadership",`${n.leadership_points}/15`],["Commitment",`${n.commitment_points}/10`],["CV",`${n.cv_points}/5`]]}),e.jsx(u,{label:"Strengths",value:n.strengths.join(" • ")}),e.jsx(u,{label:"Weaknesses",value:n.weaknesses.join(" • ")}),e.jsx(u,{label:"Recommendation reason",value:n.recommendation_reason})]}):e.jsx("p",{className:"text-sm text-muted-foreground",children:"AI review has not been completed."})}),e.jsx(w,{title:"Timeline",children:e.jsx("div",{className:"space-y-3",children:Object.entries(t.timeline||{}).map(([a,d])=>e.jsxs("div",{className:"flex items-center justify-between gap-4 border-b pb-2 text-sm",children:[e.jsx("span",{children:g(a)}),e.jsx("span",{className:"text-muted-foreground",children:te(String(d))})]},a))})}),e.jsxs("div",{className:"flex justify-end gap-3",children:[e.jsx(p,{variant:"destructive",disabled:h,onClick:()=>c("rejected"),children:"Reject"}),e.jsx(p,{disabled:h,onClick:()=>c("accepted"),children:"Approve"})]})]})]})})},w=({title:t,children:i})=>e.jsxs("section",{className:"rounded-xl border p-4",children:[e.jsx("h3",{className:"mb-4 font-semibold",children:t}),i]}),se=({values:t})=>e.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:t.map(([i,c])=>e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:i}),e.jsx("p",{className:"text-sm font-medium",children:String(c||"—")})]},i))}),u=({label:t,value:i})=>e.jsxs("div",{className:"mb-4 last:mb-0",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:t}),e.jsx("p",{className:"mt-1 whitespace-pre-wrap text-sm",children:i||"—"})]});export{is 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.