lms/public/build/assets/question-status-icon-ClKO4JNY.js
2025-12-15 12:26:23 +01:00

2 lines
7.6 KiB
JavaScript

import{j as e,K as o,aj as g,k as b}from"./vendor-BKmmeuxg.js";import{B as N}from"./badge-AQfLLMpR.js";const w=({question:c,answer:p})=>{var x,d,m,h;const r=p.answer_data;if(!r)return e.jsx("p",{className:"text-gray-500 italic",children:"No answer provided"});switch(c.question_type){case"multiple_choice":{const i=typeof r=="object"?r.selected_option_id:r,l=c.question_options||[];return e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"font-semibold text-gray-700",children:"Select the option that best matches:"}),e.jsx("div",{className:"space-y-2",children:l.map((a,n)=>{const s=a.id===i,t=a.is_correct;return e.jsx("div",{className:`rounded-lg border-2 p-3 ${s&&t?"border-green-500 bg-green-50":s&&!t?"border-red-500 bg-red-50":t?"border-green-300 bg-green-50":"border-gray-200 bg-white"}`,children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("div",{className:"mt-0.5 flex-shrink-0",children:s?t?e.jsx(o,{className:"h-5 w-5 text-green-600"}):e.jsx(g,{className:"h-5 w-5 text-red-600"}):t?e.jsx(o,{className:"h-5 w-5 text-green-600"}):e.jsx("div",{className:"h-5 w-5 rounded-full border-2 border-gray-300"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm",children:a.option_text}),s&&e.jsx("span",{className:"text-xs font-semibold text-blue-600",children:"Selected Answer "}),t&&!s&&e.jsx("span",{className:"text-xs font-semibold text-green-600",children:"(Correct Answer)"})]})]})},a.id||n)})})]})}case"multiple_select":{const i=Array.isArray(r)?r:r.selected_option_ids||[],l=c.question_options||[];return e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"font-semibold text-gray-700",children:"Select all statements that apply:"}),e.jsx("div",{className:"space-y-2",children:l.map((a,n)=>{const s=i.includes(a.id),t=a.is_correct;return e.jsx("div",{className:`rounded-lg border-2 p-3 ${s&&t?"border-green-500 bg-green-50":s&&!t?"border-red-500 bg-red-50":"border-gray-200 bg-white"}`,children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("div",{className:"mt-0.5 flex-shrink-0",children:s?t?e.jsx(o,{className:"h-5 w-5 text-green-600"}):e.jsx(g,{className:"h-5 w-5 text-red-600"}):t?e.jsx(o,{className:"h-5 w-5 text-green-600"}):e.jsx("div",{className:"h-5 w-5 rounded border-2 border-gray-300"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm",children:a.option_text}),s&&t&&e.jsx("span",{className:"text-xs font-semibold text-green-600",children:"(Selected Answer - Correct)"}),s&&!t&&e.jsx("span",{className:"text-xs font-semibold text-red-600",children:"(Selected Answer - Wrong)"}),t&&!s&&e.jsx("span",{className:"text-xs font-semibold text-green-600",children:"(Correct Answer - Not Selected)"})]})]})},a.id||n)})})]})}case"fill_blank":{const i=Array.isArray(r)?r:r.answers||[],l=((x=c.options)==null?void 0:x.answers)||[];return e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"font-semibold text-gray-700",children:"Fill in the blanks:"}),e.jsx("div",{className:"space-y-3",children:i.map((a,n)=>{const t=l.some(j=>(j==null?void 0:j.toLowerCase().trim())===(a==null?void 0:a.toLowerCase().trim()));return e.jsxs("div",{className:"rounded-lg border p-3",children:[e.jsxs("div",{className:"mb-2 flex items-start gap-2",children:[t?e.jsx(o,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-green-600"}):e.jsx(g,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-red-600"}),e.jsx("div",{className:"flex-1",children:e.jsxs("p",{className:"text-sm font-semibold text-gray-700",children:["Blank ",n+1]})})]}),e.jsxs("div",{className:"ml-7 space-y-1",children:[e.jsxs("p",{className:"text-sm",children:[e.jsx("span",{className:"font-medium",children:"Student Answer:"})," ",e.jsx("span",{className:t?"text-green-600":"text-red-600",children:a||"(empty)"})]}),l.length>0&&e.jsxs("p",{className:"text-sm",children:[e.jsxs("span",{className:"font-medium",children:["Correct Answer",l.length>1?"s":"",":"]})," ",e.jsx("span",{className:"text-green-600",children:l.join(", ")})]})]})]},n)})})]})}case"ordering":{const i=Array.isArray(r)?r:r.order||[],l=((d=c.options)==null?void 0:d.items)||[],a=((m=c.options)==null?void 0:m.correct_order)||[];return e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"font-semibold text-gray-700",children:"Arrange in the correct order:"}),e.jsxs("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 text-sm font-semibold text-gray-600",children:"Your Order:"}),e.jsx("div",{className:"space-y-2",children:i.map((n,s)=>e.jsxs("div",{className:"flex items-center gap-2 rounded border border-blue-200 bg-blue-50 p-2",children:[e.jsx("span",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full bg-blue-600 text-xs font-semibold text-white",children:s+1}),e.jsx("span",{className:"text-sm",children:l[n]||`Item ${n}`})]},s))})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 text-sm font-semibold text-gray-600",children:"Correct Order:"}),e.jsx("div",{className:"space-y-2",children:a.map((n,s)=>e.jsxs("div",{className:"flex items-center gap-2 rounded border border-green-200 bg-green-50 p-2",children:[e.jsx("span",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full bg-green-600 text-xs font-semibold text-white",children:s+1}),e.jsx("span",{className:"text-sm",children:l[n]||`Item ${n}`})]},s))})]})]})]})}case"matching":{const i=r.matches||[],l=((h=c.options)==null?void 0:h.matches)||[];return e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"font-semibold text-gray-700",children:"Match each item with its pair:"}),e.jsx("div",{className:"space-y-3",children:i.map((a,n)=>{const s=l.find(j=>j.id===a.id),t=s&&s.answer===a.answer;return e.jsxs("div",{className:`rounded-lg border-2 p-3 ${t?"border-green-500 bg-green-50":"border-red-500 bg-red-50"}`,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[t?e.jsx(o,{className:"h-5 w-5 flex-shrink-0 text-green-600"}):e.jsx(g,{className:"h-5 w-5 flex-shrink-0 text-red-600"}),e.jsxs("div",{className:"grid flex-1 grid-cols-1 gap-2 md:grid-cols-2",children:[e.jsx("div",{className:"text-sm font-medium",children:(s==null?void 0:s.question)||"Unknown"}),e.jsxs("div",{className:"text-sm",children:["→ ",a.answer||"Unknown"]})]})]}),!t&&s&&e.jsxs("div",{className:"mt-2 ml-8 text-xs text-green-600",children:["Correct: ",s.question," → ",s.answer]})]},n)})})]})}case"short_answer":case"listening":{const i=typeof r=="string"?r:r.answer_text||JSON.stringify(r);return e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"font-semibold text-gray-700",children:"Student's Answer:"}),e.jsx("div",{className:"rounded-lg border-2 border-gray-300 bg-gray-50 p-4",children:e.jsx("p",{className:"text-sm whitespace-pre-wrap",children:i})})]})}default:return e.jsxs("div",{className:"rounded bg-gray-100 p-3",children:[e.jsx("p",{className:"text-sm text-gray-600",children:"Answer data:"}),e.jsx("pre",{className:"mt-2 overflow-auto text-xs",children:JSON.stringify(r,null,2)})]})}},y=({answer:c})=>{const r=(h=>h.exam_question??{})(c),x=c.marks_obtained||0,d=r.marks||0,m=d>0&&x===d;return c.is_correct===null?e.jsx(N,{variant:"secondary",children:"Pending Review"}):c.is_correct||m?e.jsx(N,{variant:"default",className:"bg-green-600",children:"Correct"}):e.jsx(N,{variant:"destructive",children:"Incorrect"})},v=({answer:c})=>{const r=(h=>h.exam_question??{})(c),x=c.marks_obtained||0,d=r.marks||0,m=d>0&&x===d;return c.is_correct===null?e.jsx(b,{className:"h-5 w-5 text-yellow-600"}):c.is_correct||m?e.jsx(o,{className:"h-5 w-5 text-green-600"}):e.jsx(g,{className:"h-5 w-5 text-red-600"})};export{v as Q,y as a,w as b};