lms/public/build/assets/assignment-columns-BpMhsyAp.js
2025-12-15 12:26:23 +01:00

2 lines
3.1 KiB
JavaScript

import{j as s,l as d,k as c,q as m}from"./vendor-BKmmeuxg.js";import{B as u}from"./badge-AQfLLMpR.js";import x from"./assignment-dialog-BX2OXkdJ.js";import"./index-WW_1X1qx.js";import"./utils-DxSsnXxD.js";import"./button-BpNwv2aE.js";import"./dialog-B2gN9MvT.js";import"./tabs-Ifouhv9A.js";import"./assignment-details-DjTsLMXu.js";import"./richtor-CRcM6Du2.js";import"./assignment-submission-CLSFlMAW.js";import"./assignment-submission-form-Cp0WFuyh.js";import"./chunked-uploader-input-D0XPVOTS.js";import"./input-DM0goJrn.js";import"./index-D9-QKOod.js";import"./input-error-LaPr_4wd.js";import"./loading-button-BnTVAMJ7.js";import"./label-HmIcv5Yx.js";import"./select-CD9o3HN1.js";import"./textarea-CyndvowL.js";const p=t=>{if(!t)return"N/A";const e=new Date(t);return m(e,"MMMM dd, yyyy, hh:mm a")},h=t=>t?new Date>new Date(t):!1,g=t=>{if(!t.submissions||t.submissions.length===0)return{status:"not_submitted",label:"Not Submitted",variant:"secondary"};const e=t.submissions[0];return e.status==="graded"?{status:"graded",label:"Graded",variant:"default"}:e.is_late?{status:"late",label:"Late Submission",variant:"destructive"}:{status:"submitted",label:"Submitted",variant:"default"}},q=[{accessorKey:"title",header:"Title",cell:({row:t})=>{const e=t.original;return s.jsxs("div",{className:"space-y-1 py-1",children:[s.jsx("p",{className:"font-medium",children:e.title}),s.jsxs("div",{className:"text-muted-foreground flex items-center gap-4 text-sm",children:[s.jsxs("span",{children:["Total Marks: ",e.total_mark]}),s.jsxs("span",{children:["Pass Marks: ",e.pass_mark]})]})]})}},{accessorKey:"deadline",header:"Deadline",cell:({row:t})=>{const e=t.original,r=h(e.deadline);return s.jsxs("div",{className:"flex items-center gap-2 py-1",children:[r?s.jsx(d,{className:"text-destructive h-4 w-4"}):s.jsx(c,{className:"text-muted-foreground h-4 w-4"}),s.jsx("span",{className:r?"text-destructive":"",children:p(e.deadline)})]})}},{accessorKey:"marks_obtained",header:()=>s.jsx("div",{className:"text-center",children:"Obtained Marks"}),cell:({row:t})=>{var l;const e=t.original,a=e.submissions&&e.submissions.length>0?e.submissions[0]:null,o=(a==null?void 0:a.status)==="graded",i=a==null?void 0:a.is_late,n=i?e.late_total_mark||0:e.total_mark||0;return s.jsx("div",{className:"py-1 text-center",children:o?s.jsxs("div",{children:[s.jsxs("p",{className:"font-semibold",children:[a==null?void 0:a.marks_obtained," / ",n]}),i&&s.jsxs("p",{className:"text-muted-foreground text-xs",children:["(Late: Max ",(l=a==null?void 0:a.assignment)==null?void 0:l.late_total_mark,")"]})]}):s.jsxs("div",{children:[s.jsx("p",{className:"text-muted-foreground text-sm",children:"Not Graded"}),s.jsxs("p",{className:"text-muted-foreground text-xs",children:["Max: ",n]})]})})}},{accessorKey:"status",header:"Status",cell:({row:t})=>{const e=t.original,r=g(e);return s.jsx("div",{className:"py-1",children:s.jsx(u,{variant:r.variant,children:r.label})})}},{id:"actions",header:()=>s.jsx("div",{className:"text-right",children:"Action"}),cell:({row:t})=>{const e=t.original;return s.jsx("div",{className:"flex justify-end py-1",children:s.jsx(x,{assignment:e})})}}];export{q as AssignmentColumns};