lms/public/build/assets/quiz-viewer-BimkEFW_.js
2025-12-15 12:26:23 +01:00

2 lines
5.9 KiB
JavaScript

import{u as E,r as y,b as G,j as s}from"./vendor-BKmmeuxg.js";import{L as J}from"./loading-button-BnTVAMJ7.js";import{T as O}from"./tabs-D0Mbb5M5.js";import{B as h}from"./button-BpNwv2aE.js";import{C as P}from"./card-D9_SJYq6.js";import{C as H}from"./checkbox-BBZKtHnN.js";import{L as u}from"./label-HmIcv5Yx.js";import{R as K,a as b}from"./radio-group-C0C2vfl-.js";import{S as M}from"./separator-_3LZ_wAA.js";import{b as k}from"./tabs-Ifouhv9A.js";import{e as U}from"./richtor-CRcM6Du2.js";import W from"./lesson-control-1qd8Xw_v.js";import"./utils-DxSsnXxD.js";import"./index-WW_1X1qx.js";const ds=({quiz:r})=>{var f,g,N,w,_,v;const{auth:j,translate:C}=E().props,{frontend:a}=C,[S,x]=y.useState(!1),[F,o]=y.useState("summary"),l=r.quiz_submissions,{data:c,setData:m,post:T,reset:z,processing:Q}=G({submission_id:l.length>0?l[0].id:null,section_quiz_id:r.id,user_id:j.user.id,answers:[]}),$=e=>{e.preventDefault(),T(route("quiz-submissions.store"),{onSuccess:()=>{z(),x(!1),o("summary")}})},B=(e,i,d)=>{d?c.answers.find(t=>t.question_id===e)?m("answers",c.answers.map(t=>t.question_id===e?{...t,answer:[...t.answer,i]}:t)):m("answers",[...c.answers,{question_id:e,answer:[i]}]):m("answers",c.answers.map(n=>n.question_id===e?{...n,answer:n.answer.filter(t=>t!==i)}:n).filter(n=>n.answer.length>0))},L=(e,i)=>{const d=c.answers.findIndex(n=>n.question_id===e);d>=0?m("answers",c.answers.map((n,t)=>t===d?{...n,answer:[i]}:n)):m("answers",[...c.answers,{question_id:e,answer:[i]}])},R=e=>{const i=e-1;i<0?o("summary"):o(r.quiz_questions[i].id.toString()),x(!1)},A=e=>{const i=r.quiz_questions.length,d=e+1;d===i?x(!0):o(r.quiz_questions[d].id.toString())},V=e=>c.answers.some(i=>i.question_id===e&&i.answer.length>0),D=()=>{m({submission_id:l.length>0?l[0].id:null,section_quiz_id:r.id,user_id:j.user.id,answers:[]}),x(!1),o(r.quiz_questions[0].id.toString())};return s.jsxs(P,{className:"group relative h-full max-h-[80vh] w-full overflow-hidden rounded-lg",children:[s.jsx(W,{className:"opacity-0 transition-all duration-300 group-hover:opacity-100"}),s.jsx("p",{className:"p-6 text-center text-lg font-bold",children:r.title}),s.jsx(M,{}),s.jsx("form",{onSubmit:$,children:s.jsxs(O,{value:F,onValueChange:o,className:"w-full p-6",children:[s.jsxs(k,{value:"summary",children:[s.jsxs("div",{className:"flex justify-between p-6",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("p",{children:a.summery}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:a.duration}),s.jsxs("p",{children:[":",` ${r.hours} ${a.hours} ${r.minutes} ${a.minutes} ${r.seconds} ${a.seconds}`]})]}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:a.total_questions}),s.jsxs("p",{children:[": ",r.quiz_questions.length]})]}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:a.total_marks}),s.jsxs("p",{children:[": ",r.total_mark]})]}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:a.pass_marks}),s.jsxs("p",{children:[": ",r.pass_mark]})]}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:a.retake}),s.jsxs("p",{children:[": ",r.retake]})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("p",{children:a.result}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:a.retake_attempts}),s.jsxs("p",{children:[": ",((f=l[0])==null?void 0:f.attempts)||0]})]}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:a.correct_answers}),s.jsxs("p",{children:[": ",((g=l[0])==null?void 0:g.correct_answers)||0]})]}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:a.incorrect_answers}),s.jsxs("p",{children:[": ",((N=l[0])==null?void 0:N.incorrect_answers)||0]})]}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:a.total_marks}),s.jsxs("p",{children:[": ",((w=l[0])==null?void 0:w.total_marks)||0]})]}),s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx("p",{className:"text-gray-500",children:"Status"}),s.jsxs("p",{children:[": ",(_=l[0])!=null&&_.is_passed?a.passed:a.not_passed]})]})]})]}),s.jsx("div",{className:"flex justify-center p-6",children:((v=l[0])==null?void 0:v.attempts)>=r.retake?s.jsx(h,{type:"button",size:"lg",children:a.quiz_submitted}):s.jsx(h,{size:"lg",type:"button",onClick:D,children:l[0]?a.retake_quiz:a.start_quiz})})]}),r.quiz_questions.map((e,i)=>{var n;const d=e!=null&&e.options?typeof e.options=="string"?JSON.parse(e.options):e.options:[];return s.jsxs(k,{value:e.id.toString(),className:"space-y-6",children:[s.jsx(U,{value:e.title}),e.type==="boolean"?s.jsxs(K,{className:"space-y-2",defaultValue:((n=c.answers.find(t=>t.question_id===e.id.toString()))==null?void 0:n.answer[0])||void 0,onValueChange:t=>L(e.id.toString(),t),children:[s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx(b,{className:"cursor-pointer",id:"True",value:"True"}),s.jsx(u,{htmlFor:"True",className:"capitalize",children:a.true})]}),s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx(b,{className:"cursor-pointer",id:"False",value:"False"}),s.jsx(u,{htmlFor:"False",className:"capitalize",children:a.false})]})]}):s.jsx("div",{className:"space-y-4",children:d.map(t=>s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(H,{id:t,checked:c.answers.some(p=>p.question_id===e.id.toString()&&p.answer.includes(t)),onCheckedChange:p=>B(e.id.toString(),t,p)}),s.jsx(u,{htmlFor:t,className:"capitalize",children:t})]},t))}),s.jsxs("div",{className:"flex justify-center gap-2 p-6",children:[s.jsx(h,{type:"button",onClick:()=>R(i),children:"Back"}),S?s.jsx(J,{loading:Q,children:"Finish"}):s.jsx(h,{type:"button",onClick:()=>A(i),disabled:!V(e.id.toString()),children:"Next"})]})]})})]})})]})};export{ds as default};