1import{j as e}from"./vendor-ui-core.DP8knyZn.js";import{j as r,f as a,k as t,r as s}from"./vendor-react.BBoGJFYM.js";import{u as i,C as n,S as o,R as l,I as c,A as d,a as m,P as u}from"./ShareExperienceModal.B24O72ML.js";import{u as g,s as _,B as b,S as x}from"./index.CdjOtu-m.js";import{C as h,a as p,b as v,d as f}from"./card.XsCnmSQ7.js";import{S as w}from"./skeleton.C15nh2f8.js";import{P as y}from"./progress.D-6ZFe_H.js";import{A as j,a as k}from"./alert.BNLxd6tO.js";import{L as N,Y as S,am as C,a6 as A,an as q,ao as P,ap as T,K as B}from"./vendor-icons.BjAWwE8z.js";import"./vendor-utils.BlEnRQrd.js";import"./CreditPurchaseModal.Bp5Lk_c4.js";import"./vendor-query.CfjDb5WU.js";import"./StudentCreditRequestModal.CNce0SY8.js";import"./textarea.BUHjTmOc.js";import"./alert-dialog.DmbxRrbo.js";import"./vendor-supabase.DS-aP8MZ.js";import"./vendor-ui-forms.CjLBxE3d.js";import"./vendor-ui-display.BT2Z6Vpo.js";import"./vendor-media.DY6E_qVO.js";import"./vendor-charts.RWeJ_I16.js";import"./vendor-motion.DCvbjL6b.js";const E=[{min:85,textGradient:"from-green-400 via-green-500 to-green-600",progressGradient:"from-green-400 via-green-500 to-green-600",borderColor:"border-green-200 dark:border-green-800",bgAccent:"bg-green-50 dark:bg-green-950/30"},{min:70,textGradient:"from-blue-400 via-blue-500 to-blue-600",progressGradient:"from-blue-400 via-blue-500 to-blue-600",borderColor:"border-blue-200 dark:border-blue-800",bgAccent:"bg-blue-50 dark:bg-blue-950/30"},{min:50,textGradient:"from-yellow-400 via-yellow-500 to-yellow-600",progressGradient:"from-yellow-400 via-yellow-500 to-yellow-600",borderColor:"border-yellow-200 dark:border-yellow-800",bgAccent:"bg-yellow-50 dark:bg-yellow-950/30"},{min:30,textGradient:"from-orange-400 via-orange-500 to-orange-600",progressGradient:"from-orange-400 via-orange-500 to-orange-600",borderColor:"border-orange-200 dark:border-orange-800",bgAccent:"bg-orange-50 dark:bg-orange-950/30"},{min:0,textGradient:"from-red-400 via-red-500 to-red-600",progressGradient:"from-red-400 via-red-500 to-red-600",borderColor:"border-red-200 dark:border-red-800",bgAccent:"bg-red-50 dark:bg-red-950/30"}];function L(){s.useEffect(()=>{const e=setTimeout(()=>{window.scrollTo(0,0)},50);return()=>clearTimeout(e)},[]);const{id:L}=r(),G=a(),[I]=t(),z="college-assignment"===I.get("from"),F=I.get("assignmentId"),{isLocked:R}=i(),[M,V]=s.useState(!0),[D,$]=s.useState(null),[J,O]=s.useState(null),[Q,W]=s.useState([]),[K,U]=s.useState(!1),[Y,H]=s.useState(0),[X,Z]=s.useState(""),[ee,re]=s.useState([]),[ae,te]=s.useState(0),[se,ie]=s.useState(!0),ne=s.useRef(null),[oe,le]=s.useState(!1),ce=s.useRef(null),[de,me]=s.useState(!1);s.useEffect(()=>(ie(!0),()=>{ie(!1),ne.current&&clearTimeout(ne.current)}),[]),s.useEffect(()=>{L&&ue()},[L]),s.useEffect(()=>{window.scrollTo(0,0)},[]);const ue=async()=>{if(se){if(ae>=200)return U(!1),void g.error("Evaluation timed out. Please refresh the page.");te(e=>e+1);try{const{data:e}=await _.from("evaluation_status").select("status, progress_percentage, current_step, updated_at, error_message").eq("interview_id",L).eq("evaluation_type","behavioral").maybeSingle();if(e){if("completed"===e.status)return U(!1),te(0),void ge();if("failed"===e.status)return U(!1),V(!1),te(0),void g.error(e.error_message||"Evaluation failed. Please try again.");if(["pending","fetching_data","validating","calling_openai","processing_response","calculating_scores","saving_results"].includes(e.status)){const r=new Date(e.updated_at);if(Date.now()-r.getTime()>3e5)return U(!1),V(!1),void g.error("Evaluation may be stuck. Please contact support.");U(!0),H(e.progress_percentage||0),Z(e.current_step||"Processing..."),ne.current=setTimeout(ue,3e3)}else ge()}else ge()}catch(e){U(!1)}}},ge=async()=>{try{const{data:e,error:r}=await _.from("interviews").select("id, role_title, company_name, interview_type, duration_minutes, created_at").eq("id",L).maybeSingle();if(r)throw r;O(e);const{data:a,error:t}=await _.from("behavioral_interview_scores").select("*").eq("interview_id",L).order("created_at",{ascending:!1}).limit(1).maybeSingle();if(t)throw t;if($(a),!a)return null==e||e.interview_type,void V(!1);const{data:s,error:i}=await _.from("behavioral_criteria_scores").select("sub_parameter_id, criteria_id, score_0_to_5, block_name").eq("interview_id",L),{data:n,error:o}=await _.from("behavioral_sub_parameter_feedback").select("sub_parameter_id, block_name, reasoning, strengths, weaknesses").eq("interview_id",L),l=(null==s?void 0:s.map(e=>{const r=null==n?void 0:n.find(r=>r.sub_parameter_id===e.sub_parameter_id&&r.block_name===e.block_name);return{sub_parameter_id:e.sub_parameter_id,criteria_id:e.criteria_id,score_0_to_5:e.score_0_to_5,block_name:e.block_name,reasoning:(null==r?void 0:r.reasoning)||"",strengths:(null==r?void 0:r.strengths)||"",weaknesses:(null==r?void 0:r.weaknesses)||""}}))||[];W(l);const{data:c,error:d}=await _.from("interview_sessions").select("id, question, user_response, question_order, created_at").eq("interview_id",L).eq("message_type","ai_question").order("question_order",{ascending:!0}).order("created_at",{ascending:!0});if(d)re([]);else{const e=(c||[]).map((e,r)=>({id:e.id,question_order:e.question_order||r+1,question:e.question||"",user_response:e.user_response||null}));re(e)}}catch(e){}finally{V(!1)}},_e=e=>{if(!e)return"";if("string"==typeof e){if(e.startsWith("[")&&e.endsWith("]"))try{const r=JSON.parse(e);if(Array.isArray(r))return r.filter(Boolean).join(" ").trim()}catch{}return e}return Array.isArray(e)?e.filter(Boolean).join(" ").trim():String(e)},be=e=>({fluency:"Fluency",pronunciation:"Pronunciation",voice_quality:"Voice Quality",language_proficiency:"Language Proficiency",listening_interpersonal:"Listening Proficiency",storytelling:"Storytelling",answering_framework:"Answering Framework",logical_sequencing:"Logical Sequencing",clarity_brevity:"Clarity & Brevity",conclusion_takeaways:"Conclusion & Takeaways",cultural_values_alignment:"Cultural Values Alignment",role_specific_behaviors:"Role-Specific Behaviors",motivational_alignment:"Motivational Alignment",adaptability_change:"Adaptability & Change",interpersonal_alignment:"Interpersonal Alignment"}[e]||e),xe=e=>e.map(e=>{var r,a,t;const s=Q.filter(r=>r.sub_parameter_id===e);if(0===s.length)return{name:be(e),score:0,reasoning:"",strengths:"",weaknesses:""};const i=s.reduce((e,r)=>e+r.score_0_to_5,0)/s.length,n=(null==(r=s[0])?void 0:r.reasoning)||"No detailed rationale available",o=_e(null==(a=s[0])?void 0:a.strengths)||"No detailed rationale available",l=_e(null==(t=s[0])?void 0:t.weaknesses)||"No detailed rationale available";return{name:be(e),score:i,reasoning:n,strengths:o,weaknesses:l}}),he=e=>e>=90?"Excellent":e>=70?"Good":e>=50?"Average":e>=30?"Below Average":"Needs Improvement",pe=s.useCallback(()=>D?[{title:"Communication",overallScore:D.communication_block_total,parameters:[{name:"Fluency",score:D.communication_fluency_score},{name:"Pronunciation",score:D.communication_pronunciation_score},{name:"Voice Quality",score:D.communication_voice_quality_score},{name:"Language Proficiency",score:D.communication_language_proficiency_score},{name:"Listening & Interpersonal",score:D.communication_listening_interpersonal_score}],feedback:xe(["fluency","pronunciation","voice_quality","language_proficiency","listening_interpersonal"])},{title:"Structural Thinking",overallScore:D.structural_thinking_block_total,parameters:[{name:"Storytelling",score:D.structural_thinking_storytelling_score},{name:"Answering Framework",score:D.structural_thinking_answering_framework_score},{name:"Logical Sequencing",score:D.structural_thinking_logical_sequencing_score},{name:"Clarity & Brevity",score:D.structural_thinking_clarity_brevity_score},{name:"Conclusion & Takeaways",score:D.structural_thinking_conclusion_takeaways_score}],feedback:xe(["storytelling","answering_framework","logical_sequencing","clarity_brevity","conclusion_takeaways"])},{title:"Job Alignment",overallScore:D.job_alignment_block_total,parameters:[{name:"Cultural Values",score:D.job_alignment_cultural_values_alignment_score},{name:"Role-Specific Behaviors",score:D.job_alignment_role_specific_behaviors_score},{name:"Motivational Alignment",score:D.job_alignment_motivational_alignment_score},{name:"Adaptability & Change",score:D.job_alignment_adaptability_change_score},{name:"Interpersonal Alignment",score:D.job_alignment_interpersonal_alignment_score}],feedback:xe(["cultural_values_alignment","role_specific_behaviors","motivational_alignment","adaptability_change","interpersonal_alignment"])}]:[],[D,Q]),ve=s.useCallback(()=>{le(!0),setTimeout(()=>{document.body.classList.add("print-dashboard-active"),window.print(),document.body.classList.remove("print-dashboard-active"),setTimeout(()=>le(!1),500)},100)},[]),fe=(null==D?void 0:D.overall_behavioral_score)??0,we=E.find(e=>fe>=e.min)??E[E.length-1];return K?e.jsx("div",{className:"min-h-screen bg-gradient-to-b from-background via-background to-muted/20",children:e.jsx("div",{className:"container mx-auto px-4 py-8",children:e.jsxs(h,{className:"p-8 text-center space-y-6",children:[e.jsx("div",{className:"flex justify-center",children:e.jsx(N,{className:"h-12 w-12 animate-spin text-primary"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h2",{className:"text-2xl font-semibold",children:"Evaluation in Progress"}),e.jsx("p",{className:"text-muted-foreground",children:X})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{children:"Progress"}),e.jsxs("span",{children:[Y,"%"]})]}),e.jsx(y,{value:Y,className:"h-2"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"This usually takes 1-2 minutes. The page will automatically refresh when complete."})]})})}):M?e.jsx("div",{className:"min-h-screen bg-gradient-to-br from-background to-muted/50 p-4",children:e.jsxs("div",{className:"max-w-full mx-auto
1space-y-6",children:[e.jsx(w,{className:"h-24 w-full"}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[e.jsx(w,{className:"h-[400px]"}),e.jsx(w,{className:"h-[400px]"}),e.jsx(w,{className:"h-[400px]"})]})]})}):D&&J?e.jsxs(e.Fragment,{children:[e.jsx(x,{title:`Behavioral Evaluation - ${J.role_title} | SmartMentor.ai`,description:"View your detailed behavioral interview evaluation with insights across Communication, Structural Thinking, and Job Alignment"}),e.jsx("div",{className:"min-h-screen bg-background pb-16",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 py-8 space-y-6",children:[e.jsx("div",{className:"space-y-4",children:e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[e.jsx("div",{className:"flex gap-2 justify-center sm:justify-start order-1 sm:order-2 flex-wrap",children:z?e.jsxs(b,{size:"sm",onClick:()=>G(F?`/college/assignments/${F}`:"/college/assignments"),className:"text-xs sm:text-sm bg-indigo-600/90 border border-indigo-500 text-white rounded-lg shadow-md shadow-indigo-500/50 hover:bg-indigo-700/95 transition duration-300 ease-in-out flex items-center",children:[e.jsx(S,{className:"mr-2 h-4 w-4"}),"Back to Practice Session"]}):e.jsxs(e.Fragment,{children:[e.jsxs(b,{size:"sm",onClick:()=>G("/feedback/new",{state:{interviewId:J.id}}),className:"text-xs sm:text-sm bg-indigo-600/90 border border-indigo-500 text-white rounded-lg shadow-md shadow-indigo-500/50 hover:bg-indigo-700/95 transition duration-300 ease-in-out flex items-center",children:[e.jsx(S,{className:"mr-2 h-4 w-4"}),"Back to Dashboard"]}),e.jsxs(b,{size:"sm",onClick:()=>me(!0),className:"text-xs sm:text-sm bg-purple-600/90 border border-purple-500 text-white rounded-lg shadow-md shadow-purple-500/50 hover:bg-purple-700/95 transition duration-300 ease-in-out flex items-center",children:[e.jsx(C,{className:"mr-2 h-4 w-4"}),"Share Experience"]}),e.jsxs(b,{size:"sm",onClick:ve,variant:"outline",className:"text-xs sm:text-sm border-2 border-gray-300 hover:bg-gray-100 transition duration-300 ease-in-out flex items-center print:hidden",children:[e.jsx(A,{className:"mr-2 h-4 w-4"}),"Print Report"]}),e.jsxs(b,{size:"sm",onClick:()=>G("/interview/setup"),className:"text-xs sm:text-sm bg-green-600/90 border border-green-500 text-white rounded-lg shadow-md shadow-green-500/50 hover:bg-green-700/95 transition duration-300 ease-in-out flex items-center",children:[e.jsx(q,{className:"mr-2 h-4 w-4"}),"Practice Again"]})]})}),e.jsx("div",{className:"space-y-2 text-center sm:text-left order-2 sm:order-1",children:e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"Behavioral Interview Evaluation"})})]})}),e.jsxs(h,{className:`bg-background ${we.borderColor} border max-w-full w-full mx-auto`,children:[e.jsx(p,{className:"text-center pb-1",children:e.jsx(v,{className:"text-lg sm:text-xl",children:"Overall Assessment"})}),e.jsx(f,{className:"py-4 px-6",children:e.jsxs("div",{className:"flex flex-col items-center text-center space-y-4",children:[e.jsx("div",{className:`relative w-28 h-28 rounded-full flex items-center justify-center border-4 border-transparent bg-gradient-to-r ${we.progressGradient}`,children:e.jsxs("div",{className:"text-4xl font-extrabold select-none text-white",children:[fe.toFixed(0),"%"]})}),e.jsx("div",{className:`text-xl font-semibold select-none bg-gradient-to-r ${we.textGradient} bg-clip-text text-transparent`,children:he(fe)})]})})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-8 items-start max-w-full w-full mx-auto",children:[e.jsxs("div",{className:"space-y-4 w-full",children:[e.jsx(n,{title:"Communication",icon:P,overallScore:D.communication_block_total,parameters:[{name:"Fluency",score:D.communication_fluency_score},{name:"Pronunciation",score:D.communication_pronunciation_score},{name:"Voice Quality",score:D.communication_voice_quality_score},{name:"Language Proficiency",score:D.communication_language_proficiency_score},{name:"Listening & Interpersonal",score:D.communication_listening_interpersonal_score}]}),Q.length>0&&e.jsx(o,{title:"Communication",icon:P,overallScore:D.communication_block_total,subParameters:xe(["fluency","pronunciation","voice_quality","language_proficiency","listening_interpersonal"])})]}),e.jsx(l,{locked:R,variant:"block",children:e.jsxs("div",{className:"space-y-4 w-full",children:[e.jsx(n,{title:"Structural Thinking",icon:T,overallScore:D.structural_thinking_block_total,parameters:[{name:"Storytelling",score:D.structural_thinking_storytelling_score},{name:"Answering Framework",score:D.structural_thinking_answering_framework_score},{name:"Logical Sequencing",score:D.structural_thinking_logical_sequencing_score},{name:"Clarity & Brevity",score:D.structural_thinking_clarity_brevity_score},{name:"Conclusion & Takeaways",score:D.structural_thinking_conclusion_takeaways_score}]}),Q.length>0&&e.jsx(o,{title:"Structural Thinking",icon:T,overallScore:D.structural_thinking_block_total,subParameters:xe(["storytelling","answering_framework","logical_sequencing","clarity_brevity","conclusion_takeaways"])})]})}),e.jsx(l,{locked:R,variant:"block",children:e.jsxs("div",{className:"space-y-4 w-full",children:[e.jsx(n,{title:"Job Alignment",icon:B,overallScore:D.job_alignment_block_total,parameters:[{name:"Cultural Values Alignment",score:D.job_alignment_cultural_values_alignment_score},{name:"Role-Specific Behaviors",score:D.job_alignment_role_specific_behaviors_score},{name:"Motivational Alignment",score:D.job_alignment_motivational_alignment_score},{name:"Adaptability & Change",score:D.job_alignment_adaptability_change_score},{name:"Interpersonal Alignment",score:D.job_alignment_interpersonal_alignment_score}]}),Q.length>0&&e.jsx(o,{title:"Job Alignment",icon:B,overallScore:D.job_alignment_block_total,subParameters:xe(["cultural_values_alignment","role_specific_behaviors","motivational_alignment","adaptability_change","interpersonal_alignment"])})]})})]}),ee.length>0&&e.jsx(l,{locked:R,variant:"section",headline:"Unlock the full interview transcript",description:"See every question and your full response, side by side.",children:e.jsx("div",{className:"mx-auto max-w-full w-full",children:e.jsx(c,{sessions:ee})})}),e.jsx("div",{className:"max-w-7xl mx-auto w-full",children:e.jsx(d,{interviewId:J.id})}),e.jsx("div",{className:"flex gap-4 justify-center mt-8 pt-6 border-t border-border flex-wrap",children:z?e.jsxs(b,{size:"sm",onClick:()=>G(F?`/college/assignments/${F}`:"/college/assignments"),className:"text-xs sm:text-sm bg-indigo-600/90 border border-indigo-500 text-white rounded-lg shadow-md shadow-indigo-500/50 hover:bg-indigo-700/95 transition duration-300 ease-in-out flex items-center",children:[e.jsx(S,{className:"mr-2 h-4 w-4"}),"Back to Practice Session"]}):e.jsxs(e.Fragment,{children:[e.jsxs(b,{size:"sm",onClick:()=>G("/feedback/new",{state:{interviewId:J.id}}),className:"text-xs sm:text-sm bg-indigo-600/90 border border-indigo-500 text-white rounded-lg shadow-md shadow-indigo-500/50 hover:bg-indigo-700/95 transition duration-300 ease-in-out flex items-center",children:[e.jsx(S,{className:"mr-2 h-4 w-4"}),"Back to Dashboard"]}),e.jsxs(b,{size:"sm",onClick:()=>me(!0),className:"text-xs sm:text-sm bg-purple-600/90 border border-purple-500 text-white rounded-lg shadow-md shadow-purple-500/50 hover:bg-purple-700/95 transition duration-300 ease-in-out flex items-center",children:[e.jsx(C,{className:"mr-2 h-4 w-4"}),"Share Experience"]}),e.jsxs(b,{size:"sm",onClick:ve,variant:"outline",className:"text-xs sm:text-sm border-2 border-gray-300 hover:bg-gray-100 transition duration-300 ease-in-out flex items-center print:hidden",children:[e.jsx(A,{className:"mr-2 h-4 w-4"}),"Print Report"]}),e.jsxs(b,{size:"sm",onClick:()=>G("/interview/setup"),className:"text-xs sm:text-sm bg-green-600/90 border border-green-500 text-white rounded-lg shadow-md shadow-green-500/50 hover:bg-green-700/95 transition duration-300 ease-in-out flex items-center",children:[e.jsx(q,{className:"mr-2 h-4 w-4"}),"Practice Again"]})]})}),e.jsx(m,{open:de,onOpenChange:me,interviewId:J.id,roleTitle:J.role_title,companyName:J.company_name,interviewType:"behavioral",overallScore:D.overall_behavioral_score})]})}),oe&&e.jsx("div",{className:"hidden print:block",children:e.jsx(u,{ref:ce,type:"behavioral",interviewData:J,overallScore:D.overall_behavioral_score,scoreLabel:he(D.overall_behavioral_score),scoreBlocks:pe(),transcript:ee})})]}):e.jsx("div",{className:"min-h-screen bg-gradient-to-br from-background to-muted/50 p-4",children:e.jsxs("div",{className:"max-w-full mx-auto",children:[e.jsx(j,{variant:"destructive",children:e.jsx(k,{children:"Behavioral evaluation not found. Please generate an evaluation first."})}),e.jsxs(b,{size:"sm",onClick:()=>
1G("/dashboard"),className:"\n text-xs sm:text-sm\n bg-indigo-600/90\n border border-indigo-500\n text-white\n rounded-lg\n shadow-md\n shadow-indigo-500/50\n hover:bg-indigo-700/95\n transition duration-300 ease-in-out\n flex items-center\n ",children:[e.jsx(S,{className:"mr-2 h-4 w-4"}),"Back to Dashboard"]})]})})}export{L 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.