PageSourceSearch

https://wahidkhorasani.com/_nuxt/eF1hkXG2.js

js wahidkhorasani.com collected 2026-09-25 06:42:55 UTC 7,269 bytes, 1 lines download raw bytes

1import{_ as j}from"./C02oEUnD.js";import{_ as D}from"./BwFvvYfA.js";import{e as G,m as I,f as T,u as V,c as l,a as t,b as f,w as F,t as r,g as a,F as h,d as g,h as i,r as M,i as Q,q as R,M as S,y as E,o as n,n as H,j as y}from"./Dyvh3oHH.js";import{u as P}from"./CS5tqxhA.js";import{u as J}from"./CIJyb_0A.js";import"./DQMqxvb2.js";import"./CbH27re-.js";import"./C0HWcbYo.js";import"./D1abb-hd.js";import"./Cvf3nT09.js";const K={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8 md:py-10"},O={class:"flex mb-6 text-sm text-slate-500 gap-2 items-center"},U={class:"text-slate-700 dark:text-slate-300"},W={key:0,class:"h-48 bg-slate-200 dark:bg-slate-700 rounded-xl animate-pulse"},X={class:"mb-8"},Y={class:"text-2xl font-bold text-slate-900 dark:text-white mb-2"},Z={class:"text-sm text-slate-500"},tt={key:0},et={key:1},st={class:"grid grid-cols-2 md:grid-cols-5 gap-4 mb-8"},ot={class:"bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 p-4 text-center"},rt={class:"text-2xl font-bold text-primary"},at={class:"bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 p-4 text-center"},nt={class:"text-2xl font-bold text-slate-900 dark:text-white"},dt={class:"bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 p-4 text-center"},lt={class:"text-2xl font-bold text-slate-900 dark:text-white"},it={class:"bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 p-4 text-center"},ct={class:"text-2xl font-bold text-amber-600"},ut={class:"bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 p-4 text-center"},pt={class:"text-2xl font-bold text-green-600"},xt={class:"bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 overflow-hidden"},mt={key:0,class:"p-8 text-center text-slate-500 text-sm"},_t={key:1,class:"overflow-x-auto"},bt={class:"w-full text-right text-sm"},ft={class:"divide-y divide-slate-200 dark:divide-slate-700"},ht={class:"px-4 py-3"},gt={class:"font-medium text-slate-900 dark:text-white"},yt={key:0,class:"text-xs text-slate-500"},kt={class:"px-4 py-3"},vt={class:"px-4 py-3"},wt={key:0},zt={key:1,class:"text-slate-400"},qt={class:"px-4 py-3"},Ct={class:"px-4 py-3 text-slate-500"},Nt={class:"px-4 py-3 text-slate-500"},At={class:"px-4 py-3"},Bt=["onClick"],Lt={key:2,class:"text-center py-16 text-slate-500"},$t={class:"bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 w-full max-w-3xl max-h-[90vh] overflow-hidden shadow-xl flex flex-col"},jt={class:"flex-1 min-h-0 overflow-hidden px-4 pb-4"},Pt=G({__name:"[id]",async setup(Dt){let c,m;const k=I(),p=y(()=>Number(k.params.id)),{fetchQuizAttempts:v}=P(),u=E(null),{data:d,pending:w,refresh:z}=([c,m]=T(()=>J(()=>`instructor-quiz-attempts-${p.value}`,()=>v(p.value),{watch:[p]})),c=await c,m(),c),_=y(()=>d.value?.quiz?.title||"آزمون");function q(s){return[s.user_name,s.user_family].filter(Boolean).join(" ")||(s.user_id?`کاربر #${s.user_id}`:"—")}function C(s,e){return s==="in_progress"?"در حال انجام":s==="pending_review"?"در انتظار بررسی":s==="graded"&&e?"قبول":s==="graded"?"مردود":s}function N(s,e){return s==="in_progress"||s==="pending_review"?"text-amber-600 font-medium":s==="graded"&&e?"text-green-600 font-medium":s==="graded"?"text-red-600 font-medium":"text-slate-600"}function b(s){if(!s)return"—";try{return new Date(s).toLocaleString("fa-IR")}catch{return s.slice(0,16).replace("T"," ")}}function A(s){u.value=s}function x(){u.value=null}async function B(){await z(),x()}return V({title:()=>`شرکت‌کنندگان — ${_.value}`}),(s,e)=>{const L=j,$=D;return n(),l("main",K,[t("nav",O,[f(L,{to:"/instructor/quizzes",class:"hover:text-primary"},{default:F(()=>[...e[0]||(e[0]=[g("آزمون‌ها",-1)])]),_:1}),e[1]||(e[1]=t("span",{class:"material-icons text-xs"},"chevron_left",-1)),t("span",U,r(a(_)),1)]),a(w)?(n(),l("div",W)):a(d)?(n(),l(h,{key:1},[t("div",X,[t("h1",Y,r(a(d).quiz.title),1),t("p",Z,[g(r(a(d).quiz.course_title||"—")+" ",1),a(d).quiz.section_title?(n(),l("span",tt," / "+r(a(d).quiz.section_title),
11)):i("",!0),a(d).quiz.lesson_title?(n(),l("span",et," / "+r(a(d).quiz.lesson_title),1)):i("",!0)])]),t("div",st,[t("div",ot,[t("p",rt,r(a(d).summary.participants_count),1),e[2]||(e[2]=t("p",{class:"text-xs text-slate-500 mt-1"},"شرکت‌کننده",-1))]),t("div",at,[t("p",nt,r(a(d).summary.attempts_count),1),e[3]||(e[3]=t("p",{class:"text-xs text-slate-500 mt-1"},"کل تلاش‌ها",-1))]),t("div",dt,[t("p",lt,r(a(d).summary.submitted_count),1),e[4]||(e[4]=t("p",{class:"text-xs text-slate-500 mt-1"},"ارسال‌شده",-1))]),t("div",it,[t("p",ct,r(a(d).summary.pending_review_count??0),1),e[5]||(e[5]=t("p",{class:"text-xs text-slate-500 mt-1"},"در انتظار بررسی",-1))]),t("div",ut,[t("p",pt,r(a(d).summary.passed_count),1),e[6]||(e[6]=t("p",{class:"text-xs text-slate-500 mt-1"},"قبول‌شده",-1))])]),t("div",xt,[a(d).attempts.length?(n(),l("div",_t,[t("table",bt,[e[7]||(e[7]=t("thead",{class:"bg-slate-50 dark:bg-slate-700/50 text-slate-600 dark:text-slate-300"},[t("tr",null,[t("th",{class:"px-4 py-3 font-medium"},"دانشجو"),t("th",{class:"px-4 py-3 font-medium"},"تلاش"),t("th",{class:"px-4 py-3 font-medium"},"نمره"),t("th",{class:"px-4 py-3 font-medium"},"وضعیت"),t("th",{class:"px-4 py-3 font-medium"},"شروع"),t("th",{class:"px-4 py-3 font-medium"},"ارسال"),t("th",{class:"px-4 py-3 font-medium w-24"},"عملیات")])],-1)),t("tbody",ft,[(n(!0),l(h,null,M(a(d).attempts,o=>(n(),l("tr",{key:o.id,class:"hover:bg-slate-50 dark:hover:bg-slate-700/30"},[t("td",ht,[t("p",gt,r(q(o)),1),o.user_email?(n(),l("p",yt,r(o.user_email),1)):i("",!0)]),t("td",kt,r(o.attempt_number),1),t("td",vt,[o.score_percent!=null?(n(),l("span",wt,r(o.score_percent)+"٪",1)):(n(),l("span",zt,"—"))]),t("td",qt,[t("span",{class:H(N(o.status,o.passed))},r(C(o.status,o.passed)),3)]),t("td",Ct,r(b(o.started_at)),1),t("td",Nt,r(b(o.submitted_at)),1),t("td",At,[o.status==="pending_review"||o.status==="graded"||o.status==="submitted"?(n(),l("button",{key:0,type:"button",class:"text-primary hover:underline text-sm",onClick:Gt=>A(o.id)},r(o.status==="pending_review"?"نمره‌دهی":"مشاهده"),9,Bt)):i("",!0)])]))),128))])])])):(n(),l("div",mt," هنوز کسی در این آزمون شرکت نکرده است. "))])],64)):(n(),l("div",Lt,"آزمون یافت نشد.")),(n(),Q(S,{to:"body"},[a(u)?(n(),l("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50",onClick:R(x,["self"])},[t("div",$t,[t("div",{class:"flex items-center justify-between gap-3 px-4 py-3 border-b border-slate-200 dark:border-slate-700 shrink-0"},[e[9]||(e[9]=t("h3",{class:"text-sm font-semibold text-slate-900 dark:text-white"},"نمره‌دهی آزمون",-1)),t("button",{type:"button",class:"p-1 rounded-lg text-slate-500 hover:bg-slate-100 dark:hover:bg-slate-700",onClick:x},[...e[8]||(e[8]=[t("span",{class:"material-icons text-base"},"close",-1)])])]),t("div",jt,[f($,{"attempt-id":a(u),"api-mode":"instructor",embedded:"",onGraded:B},null,8,["attempt-id"])])])])):i("",!0)]))])}}});export{Pt 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.