1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3119,5306],{16011:function(e,t,r){r.d(t,{Od:function(){return n},W:function(){return d},Y6:function(){return l},f9:function(){return a},getStudentMockExams:function(){return i},ln:function(){return c}}),r(83079);var s=r(12119),a=(0,s.$)("6f79f3df6ace84ec5011c9606d5126a283f0ce00"),n=(0,s.$)("fca6dd844ba9770f5af8e9b00b684ad694adaa4a");(0,s.$)("a23c7989ead4c3f0bbc34ab968897e577d69c34e");var l=(0,s.$)("25b3af908b23b7a432042fc7fc768d9a77983d41");(0,s.$)("6b3568d6b307d0ad395124e72ce56f40a95ffa5e");var i=(0,s.$)("8909e13eb61723a8c65f1da87ec810139ad46edd"),d=(0,s.$)("610035678b1f5c2ab1d276b66f1f6b8d7da99c5b"),c=(0,s.$)("fc5f94b04a0542d499822142b7b4f64c39012342")},43232:function(e,t,r){r.d(t,{O:function(){return a}});var s=r(57437);let a=e=>{let{size:t=32,className:r="",strokeWidth:a=1.9}=e;return(0,s.jsx)("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:a,strokeLinecap:"square",strokeLinejoin:"miter",className:r,children:(0,s.jsx)("path",{d:"M12 7 L17 12 L12 17 L7 12 Z"})})}},53834:function(e,t,r){r.d(t,{W:function(){return d}});var s=r(57437),a=r(29),n=r.n(a),l=r(93448),i=r(43232);let d=e=>{let{size:t=32,speed:r=1.5,className:a="",withPulse:d=!1}=e;return(0,s.jsxs)("div",{style:{animation:"spin ".concat(r,"s linear infinite").concat(d?", pulse 2s ease-in-out infinite":"")},className:"jsx-ba9b38e61bef3f8b "+((0,l.cn)("brand-logo-loader inline-flex items-center justify-center",a)||""),children:[(0,s.jsx)(i.O,{size:t}),(0,s.jsx)(n(),{id:"ba9b38e61bef3f8b",children:"@-webkit-keyframes spin{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes spin{from{-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes spin{from{-o-transform:rotate(0deg);transform:rotate(0deg)}to{-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}@-moz-keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}@-o-keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}"})]})}},83119:function(e,t,r){r.r(t),r.d(t,{default:function(){return X}});var s=r(57437),a=r(2265),n=r(16011);function l(e){var t,r,s,l;let i=e?JSON.stringify(e):"",[d,c]=(0,a.useState)(null),[o,u]=(0,a.useState)(0);(0,a.useEffect)(()=>{if(!i){c(null);return}let e=!0;return c(null),async function(){try{let t=await (0,n.f9)(JSON.parse(i));if(!e)return;if(!t.success){c({key:i,groups:[],personalCount:0,selections:{},includePersonal:!1,error:t.error});return}let r=Object.fromEntries(t.groups.filter(e=>1===e.exams.length).map(e=>[e.key,e.exams[0].id]));c({key:i,groups:t.groups,personalCount:t.personalCount,selections:r,includePersonal:!t.groups.length})}catch(t){e&&c({key:i,groups:[],personalCount:0,selections:{},includePersonal:!1,error:"ìí 목ë¡ì ë¶ë¬ì¤ì§ 못íìµëë¤. ë¤ì ìëí´ ì£¼ì¸ì."})}}(),()=>{e=!1}},[i,o]);let x=(null==d?void 0:d.key)===i?d:null;return{active:!!i,loading:!!(i&&!x),error:null==x?void 0:x.error,groups:null!==(t=null==x?void 0:x.groups)&&void 0!==t?t:[],personalCount:null!==(r=null==x?void 0:x.personalCount)&&void 0!==r?r:0,selections:null!==(s=null==x?void 0:x.selections)&&void 0!==s?s:{},includePersonal:null!==(l=null==x?void 0:x.includePersonal)&&void 0!==l&&l,ready:!i||!!(x&&!x.error&&x.groups.every(e=>e.exams.length<2||x.selections[e.key])),select:(e,t)=>c(r=>(null==r?void 0:r.key)===i?{...r,selections:{...r.selections,[e]:t}}:r),togglePersonal:e=>c(t=>(null==t?void 0:t.key)===i?{...t,includePersonal:e}:t),retry:()=>{c(null),u(e=>e+1)}}}function i(e){let{choice:t,disabled:r=!1,deletion:n=!1}=e,l=(0,a.useId)();if(!t.active)return null;if(t.loading)return(0,s.jsx)("p",{role:"status",className:"py-2 text-sm text-zinc-600 dark:text-zinc-300",children:"ìí ëª©ë¡ íì¸ ì¤â¦"});if(t.error)return(0,s.jsxs)("div",{role:"alert",className:"py-2 text-sm text-red-700 dark:text-red-300",children:[t.error," ",(0,s.jsx)("button",{type:"button",onClick:t.retry,disabled:r,className:"underline underline-offset-4 focus-visible:outline focus-visible:outline-2",children:"ë¤ì ìë"})]});let i=t.groups.filter(e=>e.exams.length>1);return i.length||n&&t.groups.length&&t.personalCount?(0,s.jsxs)("div",{className:"space-y-3 py-2",children:[i.length>0&&(0,s.jsxs)("p",{className:"text-sm text-zinc-600 dark:text-zinc-300",children:["ê°ì ë¬ì ìíì´ ì¬ë¬ ê° ììµëë¤. ",n?"ìì í ":"íì¼ì í´ë¹íë"," ìíì ì íí´ ì£¼ì¸ì."]}),i.map((e,a)=>{var n;return(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{htmlFor:"".concat(l,"-").concat(a),className:"mb-1 block text-sm font-medium text-zinc-900 dark:text-zinc-100",children:[e.schoolName," \xb7 ",e.grade,"íë
"]}),(0,s.jsxs)("select",{id:"".concat(l,"-").concat(a),value:null!==(n=t.selections[e.key])&&void 0!==n?n:"",disabled:r,onChange:r=>t.select(e.key,r.target.value),className:"w-full rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm text-zinc-900 focus-visible:outline focus-visible:outline-2 focus-visible:outline-blue-600 dar
1k:border-zinc-600 dark:bg-zinc-900 dark:text-zinc-100",children:[(0,s.jsx)("option",{value:"",children:"ìí ì í"}),e.exams.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))]})]},e.key)}),n&&t.groups.length>0&&t.personalCount>0&&(0,s.jsxs)("label",{className:"flex items-start gap-2 text-sm text-zinc-700 dark:text-zinc-200",children:[(0,s.jsx)("input",{type:"checkbox",checked:t.includePersonal,disabled:r,onChange:e=>t.togglePersonal(e.target.checked),className:"mt-1 accent-blue-600"}),"íêµì ì°ê²°íì§ ìì ê°ì¸ íìì ê°ì ë¬ ì±ì ë ìì (",t.personalCount,"ê±´)"]})]}):null}var d=r(90982),c=r(78529),o=r(10136),u=r(41905),x=r(45675),m=r(30401),h=r(18930),p=r(48736),f=r(55900),b=r(37806),g=r(99397),v=r(32489),j=r(92735),N=r(76858),k=r(76865),y=r(59717),w=r(66109),z=r(88507),C=r(93448),E=r(4908),I=r(73369),S=r(83008),D=r(53834),F=r(45007),A=r(67920),_=r(27526),L=r(93202);r(83079);var P=r(12119),Z=(0,P.$)("1e17e29b0cdb1025b4b181a66c2946236226e00d"),B=(0,P.$)("16ec8a38244286f86515499ce5645f62ae04b383"),R=r(60706),M=r(98319),O=r(73348),T=r(7888),W=r(74791);function $(e){return e?"bg-[#EAEAEA] dark:bg-[#27272a] text-zinc-900 dark:text-white":"text-[#a1a1aa] hover:bg-[#EAEAEA]/50 dark:hover:bg-[#27272a]/50 hover:text-zinc-900 dark:hover:text-white"}function q(e){return(0,C.cn)("text-sm transition-colors file-upload-class-count text-zinc-500 dark:text-[#71717a]",!e&&"group-hover:text-zinc-900 dark:group-hover:text-white")}let U=e=>{let{cls:t,isActive:r,isEditing:a,count:n,editClassInput:l,setEditClassInput:i,setEditingClass:d,handleRenameClass:c,onClick:o}=e,m=(0,y.o)();return a?(0,s.jsx)(w.e,{value:t,dragListener:!1,children:(0,s.jsx)("form",{onSubmit:c,className:"px-1 py-1",children:(0,s.jsx)("input",{autoFocus:!0,value:l,onChange:e=>i(e.target.value),placeholder:"ë° ì´ë¦ ì
ë ¥ í Enter",className:"w-full px-2 py-1.5 text-sm bg-black/20 border border-[#3f3f46] rounded focus:outline-none focus:border-blue-500 text-white",onBlur:()=>{l.trim()&&l.trim()!==t||d(null)},onKeyDown:e=>{"Escape"===e.key&&d(null)}})})},t):(0,s.jsxs)(w.e,{value:t,dragListener:!1,dragControls:m,layout:!0,transition:{type:"spring",stiffness:400,damping:30},className:(0,C.cn)("w-full flex items-center justify-between pl-2 pr-3 py-2.5 rounded-lg text-sm font-normal transition-colors group cursor-pointer select-none",$(r)),onClick:o,children:[(0,s.jsxs)("div",{className:"flex items-center gap-1 min-w-0",children:[(0,s.jsx)("div",{className:"cursor-grab active:cursor-grabbing text-zinc-400 hover:text-zinc-700 dark:text-zinc-500 dark:hover:text-white transition-colors drag-handle shrink-0",onPointerDown:e=>{m.start(e)},children:(0,s.jsx)(u.Z,{size:14})}),(0,s.jsx)("span",{className:"truncate flex-1 min-w-0",children:t})]}),(0,s.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[(0,s.jsx)("button",{"aria-label":"ìì ",onClick:e=>{e.stopPropagation(),d(t),i(t)}
1,className:"p-1 opacity-100 [@media(hover:hover)]:opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:bg-white/10 rounded transition",children:(0,s.jsx)(x.Z,{size:12})}),(0,s.jsxs)("span",{className:q(r),children:[n,"ëª
"]})]})]},t)};function X(e){var t,u,x,y,w;let{onClose:P,minimal:X=!1,activeTabOverride:G,initialGradeFileType:V,hidePrimarySidebar:K=!1,studentId:J,autoAddClass:Y=!1}=e,[H,Q]=(0,a.useState)("student-list");(0,a.useEffect)(()=>{G&&Q(G)},[G]);let{isLoading:ee,error:et,classes:er,students:es,addClass:ea,removeClass:en,renameClass:el,reloadStudents:ei,updateClassOrder:ed}=(0,E.AF)(),{showToast:ec}=(0,M.pm)(),eo=(0,A.XC)(),eu=(0,o.N)(),[ex,em]=(0,a.useState)("ë´ì íê¸"),[eh,ep]=(0,a.useState)(Y),[ef,eb]=(0,a.useState)(""),[eg,ev]=(0,a.useState)(null),[ej,eN]=(0,a.useState)(""),[ek,ey]=(0,a.useState)([]),ew=(0,a.useRef)();(0,a.useEffect)(()=>{ey(er.filter(e=>"ë´ì íê¸"!==e))},[er]);let[ez,eC]=(0,a.useState)([]),[eE,eI]=(0,a.useState)(!1),[eS,eD]=(0,a.useState)(null),[eF,eA]=(0,a.useState)(!1),[e_,eL]=(0,a.useState)(!1),[eP,eZ]=(0,a.useState)(!1),[eB,eR]=(0,a.useState)(null),[eM,eO]=(0,a.useState)(!1),[eT,eW]=(0,a.useState)(!1),[e$,eq]=(0,a.useState)(!1),[eU,eX]=(0,a.useState)(!1),eG=(0,a.useRef)(null),[eV,eK]=(0,a.useState)([]),[eJ,eY]=(0,a.useState)(null),eH=(0,a.useRef)(null),eQ=(0,a.useRef)(null),e0=(0,a.useRef)(null),e1=(0,a.useRef)(null),[e2,e5]=(0,a.useState)(V||"school"),[e3,e4]=(0,a.useState)(null),[e7,e9]=(0,a.useState)([]),[e6,e8]=(0,a.useState)(null),[te,tt]=(0,a.useState)(null),[tr,ts]=(0,a.useState)(null),[ta,tn]=(0,a.useState)(!1),tl=null==e3?void 0:null===(t=e3.meta.test_date)||void 0===t?void 0:t.split("-").map(Number),ti=l(tl&&3===tl.length?{purpose:"upload",year:tl[0],month:tl[1],...(null==e3?void 0:e3.meta.grade)?{grade:e3.meta.grade}:{},...(null==e3?void 0:e3.meta.class_no)?{classNum:e3.meta.class_no}:{}}:null),td=l(tr&&""!==tr.year&&""!==tr.month?{purpose:"delete",year:tr.year,month:tr.month}:null),[tc,to]=(0,a.useState)(null),[tu,tx]=(0,a.useState)(null),{data:tm}=(0,_.kP)();a.useMemo(()=>{var e;return null!=tm&&!!tm.user&&(!!tm.user.isSystemAdmin||["OWNER","SCHOOL_ADMIN","GRADE_ADMIN"].includes((null===(e=tm.user.role)||void 0===e?void 0:e.toUpperCase())||""))},[tm]);let{uploadLifeRecord:th}=(0,L.l)(),tp=(e,t)=>{let r=(Number(e.grade)||0)-(Number(t.grade)||0);if(0!==r)return r;let s=(Number(e.classNum)||0)-(Number(t.classNum)||0);return 0!==s?s:(Number(e.number)||0)-(Number(t.number)||0)},{createStudent:tf,updateStudent:tb,deleteStudent:tg,bulkCreateStudents:tv,clearClassStudents:tj}=(0,I.N)(),tN=async(e,t)=>{eL(!0);let r=0,s=0,a=[],n=[],l=[];try{if(t.length>0&&(await Promise.allSettled(t.map(e=>tb.mutateAsync({id:e.id,...e.data})))).forEach((e,n)=>{if("fulfilled"===e.status)r++;else{var i;s++;let r=t[n];l.push(r),a.push("".concat((null===(i=r.data)||void 0===i?void 0:i.name)||r.id,": ").concat(e.reason instanceof Error?e.reason.message:"ìì ì¤í¨"))}}),e.length>0)try{let t=await tv.mutateAsync({students:e});r+=t.count||0,s+=t.failureCount||0,t.results&&t.results.forEach((t,r)=>{if(!t.success){var s;a.push("".concat(t.student||(null===(s=e[r])||void 0===s?void 0:s.name),": ").concat(t.error||"ë±ë¡ ì¤í¨")),e[r]&&n.push(e[r])}})}catch(t){console.error(t),s+=e.length,n.push(...e),e.forEach(e=>a.push("".concat(e.name,": ì¼ê´ ë±ë¡ ì¤í¨. ë¤ì ì²ë¦¬í´ 주ì¸ì.")))}s>0?(eC([...n,...l.map(e=>({...e.data,id:e.id}))]),eD({success:r,errors:a})):(eI(!0),eD({success:r,errors:[]})),eW(s>0),eq(s>0),eX(s>0),await ei(),0===s?ec("íì ".concat(r,"ëª
ì ë°ìíìµëë¤."),"success"):ec("ì±ê³µ ".concat(r,"ëª
, ì¤í¨ ").concat(s,"ëª
. ì²ë¦¬ ê²°ê³¼ìì ì¤í¨ ë´ìì íì¸í´ 주ì¸ì."),"error")}catch(e){console.error("Batch execution error:",e),ec("ìì
ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}finally{eL(!1)}},tk=async()=>{if(0===ez.length)return;eL(!0);let e=[...ez].sort(tp);eC(e);try{let t=es.filter(e=>{var t;return e.homeClassId===ex||(null===(t=e.customClassIds)||void 0===t?void 0:t.includes(ex))}),r=[],s=[];e.forEach(e=>{let a=t.find(t=>t.number===e.number);if(a){var n;let t=null!==(n=a.homeClassId)&&void 0!==n?n:null,r=a.customClassIds||[],l=t,i=[...r];"ë´ì íê¸"===ex?(t&&"ë´ì íê¸"!==t&&(i=Array.from(new Set([...i,t]))),l="ë´ì íê¸"):t===ex||i.includes(ex)||(i=Array.from(new Set([...i,ex]))),i=i.filter(e=>e&&e!==l);let d={number:e.number,name:e.name,homeClassId:l,customClassIds:i,grade:e.grade||(null==a?void 0:a.grade)||1,classNum:e.classNum||(null==a?void 0:a.classNum),memo:e.memo||(null==a?void 0:a.memo),previousStudentId:void 0};s.push({id:a.id,data:d})}else r.push({number:e.number,name:e.name,homeClassId:ex,customClassIds:[],grade:e.grade||1,classNum:e.classNum,memo:e.memo,previousStudentId:void 0})}),await tN(r,s)}
1catch(e){console.error("Upload error:",e),ec("ì
ë¡ë ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error"),eL(!1)}};(0,a.useEffect)(()=>{V&&e5(V)},[V]);let ty=async()=>{if(eB&&!e_){eL(!0);try{await en(eB),em("ë´ì íê¸"),eC([]),eq(!1),eX(!1),eR(null)}catch(e){ec("êµì¤ì ìì íì§ ëª»íìµëë¤. ë¤ì ìëí´ ì£¼ì¸ì.","error")}finally{eL(!1)}}},tw=async()=>{eL(!0);try{await tj.mutateAsync({homeClassId:ex}),eC([]),await ei(),ec("íì ëª
ë¨ì 모ë ìì íìµëë¤.","success")}catch(e){console.error("Delete all error:",e),ec("ìì ì¤ ì¤ë¥ê° ë°ìíìµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.","error")}finally{eL(!1),eZ(!1)}},tz=async e=>{if(e.preventDefault(),eg&&ej.trim()){if(ej.trim()===eg){ev(null);return}await el(eg,ej.trim()),ex===eg&&em(ej.trim()),eq(!1),eX(!1),ev(null),eN("")}};(0,a.useEffect)(()=>{eE&&!e_&&(eC(es.filter(e=>{var t;return e.homeClassId===ex||(null===(t=e.customClassIds)||void 0===t?void 0:t.includes(ex))}).map(e=>({...e,isValid:!0})).sort(tp)),eI(!1))},[eE,e_,es,ex]),(0,a.useEffect)(()=>{if(!eU&&es.length>0&&0===ez.length){let e=es.filter(e=>{var t;return e.homeClassId===ex||(null===(t=e.customClassIds)||void 0===t?void 0:t.includes(ex))}).map(e=>({...e,isValid:!0})).sort(tp);e.length>0&&eC(e)}},[es,ex,ez.length,eU]);let tC=async e=>{eO(!0);try{await new Promise(e=>setTimeout(e,1500));let t=await e.arrayBuffer(),{parseGradeExcel:s}=await Promise.all([r.e(1425),r.e(4635)]).then(r.bind(r,73947)),a=await s(t);if(!a.parsedData||0===a.parsedData.length){ec("íì±ë ì±ì ë°ì´í°ê° ììµëë¤. íì¼ íìì íì¸í´ì£¼ì¸ì.","error");return}let n=new Map;a.parsedData.forEach(e=>{let{studentNumber:t,studentName:r,currentGrade:s,currentClass:a}=e;n.has(t)||n.set(t,{studentNumber:t,studentName:r,studentId:void 0,currentGrade:s,currentClass:a,grades:[]}),n.get(t).grades.push({...e,classRank:null,percentile:null})});let l=[];n.forEach(e=>{let t=e.studentName.replace(/\s/g,""),r=e.studentNumber>100?e.studentNumber%100:e.studentNumber,s=es.find(s=>{let a=s.name.replace(/\s/g,""),n=s.number;if((n===e.studentNumber||n===r)&&a===t){let t=e.currentGrade,r=e.currentClass;return t>0&&r>0&&s.grade===t&&s.classNum,!0}return!1});l.push({...e,studentId:null==s?void 0:s.id})}),l.sort((e,t)=>e.studentNumber-t.studentNumber);let i=l.reduce((e,t)=>e+t.grades.length,0);eK(l),eY({gradeClass:a.gradeClass||"ì ì ìì",totalRecords:i})}catch(e){console.error("Grade file parsing error:",e),ec((0,T.q)(e,"ì±ì íì¼ì ë¶ìíë ì¤ ì¤ë¥ê° ë°ìíìµëë¤. íì¼ íìì íì¸í´ 주ì¸ì."),"error")}finally{eO(!1)}},tE=async e=>{eO(!0);try{await new Promise(e=>setTimeout(e,1500));let t=await e.arrayBuffer(),{parseMidtermExcel:s}=await Promise.all([r.e(1425),r.e(8588)]).then(r.bind(r,44004)),a=await s(t);if(!a.gradeData||0===a.gradeData.length){ec("ì¤ê°ê³ ì¬ ë°ì´í°ë¥¼ ì°¾ì§ ëª»íìµëë¤. íì¼ íìì íì¸í´ 주ì¸ì.","warning");return}let n=new Map;a.gradeData.forEach(e=>{let t="".concat(e.currentClass,"-").concat(e.studentNumber);n.has(t)||n.set(t,{studentNumber:e.studentNumber,studentName:e.studentName,studentId:void 0,currentGrade:e.currentGrade,currentClass:e.currentClass,grades:[]}),n.get(t).grades.push({...e,classRank:null,percentile:e.percentile||null})});let l=es.filter(e=>"ë´ì íê¸"===e.homeClassId),i=[];n.forEach(e=>{let t=e.studentName.replace(/\s/g,""),r=l.find(r=>r.name.replace(/\s/g,"")===t&&r.classNum===e.currentClass&&r.number===e.studentNumber);i.push({...e,studentId:null==r?void 0:r.id})}),i.sort((e,t)=>e.studentId&&!t.studentId?-1:!e.studentId&&t.studentId?1:e.currentClass-t.currentClass||e.studentNumber-t.studentNumber),i.filter(e=>e.studentId).length;let d=i.filter(e=>e.studentId).reduce((e,t)=>e+t.grades.length,0);e9(i),e8({gradeClass:"".concat(a.grade,"íë
ì ì²´"),totalRecords:d,totalStudents:a.students.length})}catch(e){console.error("Midterm file parsing error:",e),ec((0,T.q)(e,"íì¼ì ë¶ìíë ì¤ ì¤ë¥ê° ë°ìíìµëë¤. íì¼ íìì íì¸í´ 주ì¸ì."),"error")}finally{eO(!1)}},tI=async()=>{if(0!==e7.length){eL(!0);try{let e=e7.filter(e=>e.studentId),t=e.flatMap(e=>e.grades),r=await B(t);r.success?(ec("ì¤ê°ê³ ì¬ ì±ì ".concat(e.length,"ëª
ë¶ì ì ì¥íìµëë¤. ").concat(r.message),"success"),e9([]),e8(null)):ec("ì ì¥ ì¤í¨: ".concat(r.error),"error")}catch(e){console.error("Midterm upload error:",e),ec("ì ì¥ ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}finally{eL(!1)}}},tS=async e=>{e4(null),eO(!0);try{let t=e.name.toLowerCase();if(t.endsWith(".xlsx")||t.endsWith(".xls")){let t=await e.arrayBuffer(),s=await Promise.all([r.e(1425),r.e(6919)]).then(r.bind(r,2093)),a=s.read(t,{type:"array"}),n=a.Sheets[a.SheetNames[0]],l=s.utils.sheet_to_json(n,{header:1,defval:""});for(let e=0;e<Math.min(10,l.length);e++){let t=(l[e]||[]).join(" ").trim();if(t.includes("êµê³¼íìµë°ë¬ìí©"))throw Error("ë´ì ì±ì íì¼ë¡ ë³´ì
ëë¤. '모ìê³ ì¬' ëì 'ë´ì ì±ì ' íìì ì
ë¡ëí´ì£¼ì¸ì.");if(t.includes("ì 과목 ì±ì ì¼ëí"))throw Error("ì¤ê°ê³ ì¬ ì±ì ì¼ëíë¡ ë³´ì
ëë¤. '모ìê³ ì¬' ëì 'ì¤ê°ê³ ì¬ ì±ì ' íìì ì
ë¡ëí´ì£¼ì¸ì.")}throw Error("모ìê³ ì¬ íì PDF íì¼ë§ ì
ë¡ë ê°ë¥í©ëë¤.")}await new Promise(e=>setTimeout(e,1500));let s=new FormData;s.append("file",e);let a=await (0,n.Od)(s);a.success&&a.data?e4(a.data):ec(a.error||"íì¼ ë¶ìì ì¤í¨íìµëë¤.","error")}catch(e){console.error("Mock exam PDF processing error:",e),ec((0,T.q)(e,"íì¼ì
1 ë¶ìíë ì¤ ì¤ë¥ê° ë°ìíìµëë¤. íì¼ íìì íì¸í´ 주ì¸ì."),"error")}finally{eO(!1)}},tD=async e=>{eO(!0);try{await new Promise(e=>setTimeout(e,300)),await tF(e)}finally{eO(!1)}},tF=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e||(null==tc?void 0:tc.file);if(!r)return;let s=J||(null==tc?void 0:tc.studentId);if(s&&J&&!t){let e=es.find(e=>e.id===s);if(e)try{var a,n,l,i,d,c;let t=await new Promise((e,t)=>{let s=new FileReader;s.onload=()=>e(s.result.split(",")[1]),s.onerror=t,s.readAsDataURL(r)}),s=await (0,S.X)("checkLifeRecordStudentName",{fileBase64:t},eo),o=null==s?void 0:null===(a=s.data)||void 0===a?void 0:a.name,u=null==s?void 0:null===(n=s.data)||void 0===n?void 0:n.number,x=null!==(i=null==o?void 0:o.normalize("NFC").trim())&&void 0!==i?i:null,m=null!==(d=null===(l=e.name)||void 0===l?void 0:l.normalize("NFC").trim())&&void 0!==d?d:"",h=x&&x===m&&null!==u&&null!==e.number&&u!==e.number;if(x&&x!==m||h){tx({extractedName:o,extractedNumber:u,selectedStudentName:e.name,selectedStudentNumber:null!==(c=e.number)&&void 0!==c?c:null,file:r});return}}catch(e){}}eL(!0);try{await th({file:r,studentId:s,onSuccess:e=>{var t;let r=(null==e?void 0:e.matchedNames)||[];r.length>0&&(null===(t=es.find(e=>r.includes(e.name)))||void 0===t||t.id),P&&P()}}),to(null)}catch(e){console.error("Record upload error:",e)}finally{eL(!1)}},tA=async()=>{if(e3&&ti.ready){eL(!0);try{let e=await (0,n.Y6)(e3,ti.selections);e.success?(ec("모ìê³ ì¬ ì±ì ".concat(e3.students.length,"ëª
ë¶ì ì ì¥íìµëë¤."),"success"),e4(null)):ec(e.error||"ì±ì ì ì¥ì ì¤í¨íìµëë¤.","error")}catch(e){console.error("Mock exam upload error:",e),ec((0,T.q)(e,"모ìê³ ì¬ ì±ì ì ì ì¥íë ì¤ ì¤ë¥ê° ë°ìíìµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì."),"error")}finally{eL(!1)}}},t_=async()=>{if(te&&""!==te.gradeLevel&&""!==te.semester){tn(!0);try{var e,t;let r=await (0,S.X)("deleteGradeRecordsBulk",{gradeLevel:te.gradeLevel,semester:te.semester,examType:te.examType},eo);if(!r.success){ec(r.error||"ìì ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error");return}let s=null!==(t=null===(e=r.data)||void 0===e?void 0:e.deletedCount)&&void 0!==t?t:0;ec(s>0?"".concat(s,"ê±´ ìì ëììµëë¤."):"ìì í ì±ì ì´ ììµëë¤.",s>0?"success":"info"),tt(null)}catch(e){console.error("Bulk delete grades error:",e),ec("ìì ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}finally{tn(!1)}}},tL=async()=>{if(tr&&""!==tr.year&&""!==tr.month&&td.ready){tn(!0);try{var e;let t=await (0,n.ln)(tr.year,tr.month,td.selections,td.includePersonal);if(!t.success){ec(t.error||"ìì ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error");return}let r=null!==(e=t.deletedCount)&&void 0!==e?e:0;ec(r>0?"".concat(r,"ê±´ ìì ëììµëë¤."):"ìì í ì±ì ì´ ììµëë¤.",r>0?"success":"info"),ts(null)}catch(e){console.error("Bulk delete mock exams error:",e),ec("ìì ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}finally{tn(!1)}}},tP=async()=>{if(0!==eV.length){eL(!0);try{let e=eV.flatMap(e=>e.grades),t=(null==eJ?void 0:eJ.gradeClass)||"",r=await Z(e,t,"school"===e2?"final":"mock");r.success?(ec(r.message||"ì±ì ì ì¥ì´ ìë£ëììµëë¤.","success"),eK([]),eY(null)):ec(r.error||"ì±ì ì ì¥ì ì¤í¨íìµëë¤.","error")}catch(e){console.error("Grade upload error:",e),ec((0,T.q)(e,"ì±ì ì ì ì¥íë ì¤ ì¤ë¥ê° ë°ìíìµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì."),"error")}finally{eL(!1)}}},tZ=async e=>{eO(!0),await new Promise(e=>setTimeout(e,1500));try{let t=(await (0,W.DX)(e)).map(e=>({number:e.number,name:e.name,memo:e.memo,grade:e.grade,classNum:e.classNum,homeClassId:ex,customClassIds:[],isValid:!0})).sort(tp);eC(t),eW(!1),eq(!0),eX(!1)}catch(e){console.error(e),ec("íì¼ì ë¶ìíë ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}finally{eO(!1)}},tB=(0,a.useCallback)(e=>{e.preventDefault(),eA(!1);let t=e.dataTransfer.files[0];t&&tZ(t)},[tZ]),tR=(e,t,r)=>{eC(s=>{let a=[...s];return a[e]={...a[e],[t]:r},a}),eW(!0)},tM=async e=>{let t=ez[e];if(!t.name||!t.number){ec("ì´ë¦ê³¼ ë²í¸ë ë°ëì ì
ë ¥í´ì¼ í©ëë¤.","warning");return}try{let s=t.homeClassId||ex,a={number:t.number,name:t.name,homeClassId:s,customClassIds:[],grade:t.grade||1,classNum:t.classNum||void 0,memo:t.memo};if(t.id)await tb.mutateAsync({id:t.id,...a}
1),ec("íì ì ë³´ê° ìì ëììµëë¤.","success");else{let t=await tf.mutateAsync(a);if(t.success){var r;let s=(null===(r=t.data)||void 0===r?void 0:r.id)||t.id;s&&eC(t=>{let r=[...t];return r[e]={...r[e],id:s},r}),ec("íìì´ ë±ë¡ëììµëë¤.","success")}}eW(!1)}catch(e){console.error("Save error:",e),ec("ì ì¥ ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}},tO=async e=>{var t,r;let s=ez[e];if(!(null==s?void 0:s.id)){eC(t=>t.filter((t,r)=>r!==e));return}let a=es.find(e=>e.id===s.id),n=null!==(t=null==a?void 0:a.homeClassId)&&void 0!==t?t:null,l=null!==(r=null==a?void 0:a.customClassIds)&&void 0!==r?r:[],i=0===Array.from(new Set([n,...l].filter(e=>!!e))).filter(e=>e!==ex).length;if(await eu(i?{title:"".concat(s.name," íìì ìì í ê¹ì?"),description:"ê°ì¸ ëª
ë¨ê³¼ ì´ íìì ê°ì¸ 기ë¡ì ìì í©ëë¤. íêµ íì
ì ê³µì í íì ëª
ë¨\xb7ìë£ë ì ì§ë©ëë¤.",consequences:["ì±ì 기ë¡","ì¶ê²° 기ë¡","ìë´ ì¼ì§","ì¸í¹\xb7íëí¹ì±","íë 기ë¡","ì¤ë¬¸ ìëµ"]}:{title:"'".concat(ex,"' íê¸ìì ").concat(s.name," íìì ëºê¹ì?"),description:"ë¤ë¥¸ íê¸ ììì ê·¸ëë¡ ì ì§ë©ëë¤.",confirmLabel:"íê¸ìì 빼기",tone:"default"}))try{i?await tg.mutateAsync(s.id):await tb.mutateAsync({id:s.id,homeClassId:n===ex?null:n,customClassIds:l.filter(e=>e!==ex)}),eC(t=>t.filter((t,r)=>r!==e)),await ei(),ec("íê¸ìì ì ê±°ëììµëë¤.","success")}catch(e){console.error("Delete error:",e),ec((0,T.q)(e,"ìì íë ì¤ ì¤ë¥ê° ë°ìíìµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì."),"error")}};return ee&&0===es.length?(0,s.jsx)(d.ContentLoadingState,{variant:"table",label:"íì ëª
ë¨ì ë¶ë¬ì¤ê³ ìì´ì"}):et&&0===es.length?(0,s.jsx)(c.A,{message:"íì ëª
ë¨ì ë¶ë¬ì¤ì§ 못íì´ì.",onRetry:()=>void ei()}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:(0,C.cn)("w-full h-full bg-[#F7F7F5] [.dark_&]:bg-[#18181b] flex overflow-hidden",X&&"items-center justify-center p-8"),children:[(0,s.jsx)("input",{type:"file",ref:eG,accept:".xlsx,.xls,.csv",className:"hidden",onChange:e=>{var t;let r=null===(t=e.target.files)||void 0===t?void 0:t[0];r&&tZ(r),e.target.value=""}}),!X&&!K&&(0,s.jsxs)("div",{className:"w-[240px] bg-[#F7F7F5] [.dark_&]:bg-[#18181b] border-r border-zinc-200 dark:border-[#27272a] flex flex-col shrink-0",children:[(0,s.jsx)("div",{className:"p-4 shrink-0",children:(0,s.jsx)("h2",{className:"text-[15px] font-bold text-white",children:"íì¼ ì
ë¡ë"})}),(0,s.jsxs)("div",{className:"px-2 flex flex-col gap-2",children:[(0,s.jsxs)("button",{onClick:()=>{Q("student-list"),eC([]),eq(!1),eX(!1)},className:(0,C.cn)("flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition text-left",$("student-list"===H)),children:[(0,s.jsx)(p.Z,{size:18}),"íì ëª
ë¨"]}),(0,s.jsxs)("button",{onClick:()=>{Q("grade-file"),eC([]),eq(!1),eX(!1)},className:(0,C.cn)("flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition text-left",$("grade-file"===H)),children:[(0,s.jsx)(f.Z,{size:18}),"ì±ì íì¼"]})]})]}),!X&&"student-list"===H&&(0,s.jsxs)("div",{className:"w-[240px] bg-[#F7F7F5] [.dark_&]:bg-[#18181b] border-r border-zinc-200 dark:border-[#27272a] flex flex-col shrink-0 animate-in slide-in-from-left-5 duration-200",children:[(0,s.jsx)("div",{className:"p-4 flex items-center justify-between shrink-0",children:(0,s.jsxs)("h2",{className:"text-[15px] font-medium text-white flex items-center gap-2",children:[(0,s.jsx)(b.Z,{size:18}),"ëì êµì¤"]})}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto px-2 flex flex-col custom-scrollbar",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-2 px-1",children:[(0,s.jsx)("p",{className:"text-[11px] font-medium text-zinc-400 dark:text-zinc-500 uppercase tracking-wide whitespace-nowrap",children:"ë´ì íê¸"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-zinc-200 dark:bg-[#3f3f46]"})]}),er.filter(e=>"ë´ì íê¸"===e).map(e=>{let t=es.filter(t=>{var r;return t.homeClassId===e||(null===(r=t.customClassIds)||void 0===r?void 0:r.includes(e))}).length,r=ex===e;return(0,s.jsxs)("div",{className:(0,C.cn)("w-full flex items-center justify-between px-3 py-2.5 rounded-lg text-sm font-normal transition group cursor-pointer",$(r)),onClick:()=>{em(e),eq(!1),eX(!1),eC(es.filter(t=>{var r;return t.homeClassId===e||(null===(r=t.customClassIds)||void 0===r?void 0:r.includes(e))}).map(e=>({...e,isValid:!0})).sort(tp))},children:[(0,s.jsx)("span",{className:"truncate",children:e}),(0,s.jsxs)("span",{className:q(r),children:[t,"ëª
"]})]},e)}),(0,s.jsxs)("div",{className:"flex items-center gap-2 my-2 px-1",children:[(0,s.jsx)("p",{className:"text-[11px] font-medium text-zinc-400 dark:text-zinc-500 uppercase tracking-wide whitespace-nowrap",children:"êµê³¼ íê¸"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-zinc-200 dark:bg-[#3f3f46]"})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)(z.M,{axis:"y",values:ek,onReorder:e=>{ey(e),ew.current&&clearTimeout(ew.current),ew.current=setTimeout(async()=>{try{await ed(e)}catch(e){console.error("Failed to update class order",e),ec("ìì ë³ê²½ì ì¤í¨íìµëë¤.","error")}},500)},className:"flex flex-col gap-1",children:ek.map(e=>{let t=es.filter(t=>{var r;return t.homeClassId===e||(null===(r=t.customClassIds)||void 0===r?void 0:r.includes(e))}).length,r=ex===e,a=eg===e;return(0,s.jsx)(U,{cls:e,isActive:r,isEditing:a,count:t,editClassInput:ej,setEditClassInput:eN,setEditingClass:ev,handleRenameClass:tz,onClick:()=>{em(e),eq(!1),eX(!1),eC(es.filter(t=>{var r;return t.homeClassId===e||(null===(r=t.customClassIds)||void 0===r?void 0:r.includes(e))}).map(e=>({...e,isValid:!0})).sort(tp))}},e)})}),eh?(0,s.jsx)("form",{onSubmit:e=>{e.preventDefault(),ef.trim()&&(ea(ef.trim()),em(ef.trim()),eC([]),eq(!1),eX(!1),eb(""),ep(!1))},className:"px-1 py-1",children:(0,s.jsx)("input",{autoFocus:!0,value:ef,onChange:e=>eb(e.target.value),placeholder:"ë° ì´ë¦ ì
ë ¥ í Enter",className:"w-full px-2 py-1.5 text-sm bg-black/20 border border-[#3f3f46] rounded focus:outline-none focus:border-blue-500 text-white",onBlur:()=>!ef&&ep(!1)})}):(0,s.jsx)("div",{className:"px-1 py-1 mt-1",children:(0,s.jsxs)("button",{onClick:()=>ep(!0),className:"flex items-center justify-center gap-2 w-full py-2 rounded-full border border-dashed border-zinc-300 dark:border-[#3f3f46] text-zinc-500 dark:text-[#a1a1aa] hover:text-zinc-900 dark:hover:text-white hover:border-zinc-400 dark:hover:border-[#52525b] hover:bg-zinc-100 dark:hover:bg-[#202023] transition text-[13px] font-medium",children:[(0,s.jsx)(g.Z,{size:14}),(0,s.jsx)("span",{children:"êµê³¼ íê¸ ì¶ê°"})]})})]})]})]}),!X&&"grade-file"===H&&(0,s.jsxs)("div",{className:"w-[240px] bg-[#F7F7F5] [.dark_&]:bg-[#18181b] border-r border-zinc-200 dark:border-[#27272a] flex flex-col shrink-0 animate-in slide-in-from-left-5 duration-200",children:[(0,s.jsx)("div",{className:"p-4 flex items-center justify-between shrink-0",children:(0,s.jsx)("h2",{className:"text-[15px] font-medium text-white flex items-center gap-2",children:"ì±ì ì¢
ë¥(ê³ ë±íêµ ì ì©)"})}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto px-2 flex flex-col gap-2 custom-scrollbar",children:[(0,s.jsx)("button",{onClick:()=>e5("school"),className:(0,C.cn)("w-full flex items-center justify-between px-3 py-2.5 rounded-lg text-sm font-normal transition group",$("school"===e2)),children:(0,s.jsx)("span",{className:"truncate",children:"ë´ì ì±ì "})}),(0,s.jsx)("button",{onClick:()=>e5("mock"),className:(0,C.cn)("w-full flex items-center justify-between px-3 py-2.5 rounded-lg text-sm font-normal transition group",$("mock"===e2)),children:(0,s.jsx)("span",{className:"truncate",children:"모ìê³ ì¬ ì±ì "})}),(0,s.jsx)("button",{onClick:()=>e5("midterm"),className:(0,C.cn)("w-full flex items-center justify-between px-3 py-2.5 rounded-lg text-sm font-normal transition group",$("midterm"===e2)),children:(0,s.jsx)("span",{className:"truncate",children:"ì¤ê°ê³ ì¬ ì±ì "})}),(0,s.jsx)("button",{onClick:()=>e5("record"),className:(0,C.cn)("w-full flex items-center justify-between px-3 py-2.5 rounded-lg text-sm font-normal transition group",$("record"===e2)),children:(0,s.jsx)("span",{className:"truncate",children:"ìí기ë¡ë¶"})})]})]}),(0,s.jsxs)("div",{className:(0,C.cn)("flex-1 flex flex-col relative bg-[#F7F7F5] [.dark_&]:bg-[#18181b] overflow-hidden",X&&"w-full max-w-2xl h-[600px] border border-[#27272a] rounded-2xl flex-none shadow-2xl"),children:[P&&(0,s.jsx)("button",{"aria-label":"ë«ê¸°",onClick:P,className:"absolute top-4 right-4 p-1.5 text-[#a1a1aa] hover:text-white hover:bg-[#
1EBEBEA] [.dark_&]:hover:bg-[#202023] rounded-lg transition-colors z-10",children:(0,s.jsx)(v.Z,{size:16})}),"student-list"===H&&(0,s.jsxs)("div",{className:"absolute top-4 right-14 flex items-center gap-2 z-10",children:[e$&&ez.length>0&&(0,s.jsx)("button",{onClick:()=>{eC([]),eW(!1),eq(!1),eX(!0),eG.current&&(eG.current.value="")},disabled:e_,className:"px-3 py-1.5 text-xs text-zinc-500 dark:text-white/50 hover:text-zinc-900 dark:hover:text-white transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:"ì·¨ì"}),ez.length>0&&(eT||ez.some(e=>!e.id))&&(0,s.jsxs)("button",{onClick:tk,disabled:e_,className:"px-3 py-1.5 text-xs text-white bg-blue-600 hover:bg-blue-700 rounded-md transition-colors font-medium flex items-center gap-1.5 disabled:opacity-50 global-save-btn",children:[(0,s.jsx)(m.Z,{size:12}),(0,s.jsx)("span",{children:e_?(0,s.jsx)(D.W,{size:18,className:"text-white"}):"ì ì²´ ì ì¥"})]}),0===ez.length&&(0,s.jsxs)("button",{onClick:W.RM,className:"flex items-center gap-1.5 px-2 py-1.5 text-xs !text-white bg-green-600 hover:bg-green-700 rounded-md transition-colors font-medium",children:[(0,s.jsx)(j.Z,{size:13}),"ìì ë¤ì´ë¡ë"]}),"ë´ì íê¸"!==ex&&(0===ez.length||(null===(u=ez[0])||void 0===u?void 0:u.id))&&(0,s.jsxs)("button",{onClick:()=>{"ë´ì íê¸"!==ex&&eR(ex)},className:"px-2 py-1.5 text-xs text-white bg-red-600 hover:bg-red-700 rounded-md transition-colors font-medium flex items-center gap-1.5 delete-class-btn",children:[(0,s.jsx)("span",{children:"êµì¤ ìì "}),(0,s.jsx)(h.Z,{size:12})]}),"ë´ì íê¸"===ex&&ez.length>0&&(null===(x=ez[0])||void 0===x?void 0:x.id)&&(0,s.jsxs)("button",{onClick:()=>eZ(!0),className:"px-2 py-1.5 text-xs text-white bg-red-600 hover:bg-red-700 rounded-md transition-colors font-medium flex items-center gap-1.5 delete-all-btn",children:[(0,s.jsx)("span",{children:e_?(0,s.jsx)(D.W,{size:18,className:"text-white"}):"ì ì²´ ìì "}),!e_&&(0,s.jsx)(h.Z,{size:12})]})]}),"grade-file"===H&&"school"===e2&&(0,s.jsxs)("div",{className:"absolute top-4 right-14 flex items-center gap-2 z-10",children:[(0,s.jsxs)("button",{onClick:()=>tt({examType:"final",gradeLevel:"",semester:""}),className:"px-3 py-1.5 text-xs text-red-500 hover:text-red-600 dark:text-red-400 dark:hover:text-red-300 transition-colors flex items-center gap-1.5",children:[(0,s.jsx)(h.Z,{size:12}),"ì´ì ì±ì ìì "]}),eV.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{onClick:()=>{eK([]),eY(null)},className:"px-3 py-1.5 text-xs text-zinc-500 dark:text-white/50 hover:text-zinc-900 dark:hover:text-white transition-colors",children:"ì·¨ì"}),(0,s.jsxs)("button",{onClick:tP,disabled:e_,className:"px-3 py-1.5 bg-[#007AFF] hover:bg-[#0069d9] text-white text-xs font-bold rounded-lg flex items-center gap-2 transition disabled:opacity-50 grade-upload-btn min-w-[100px] justify-center",children:[e_?(0,s.jsx)(D.W,{size:18,className:"text-white"}):"".concat(eV.filter(e=>e.studentId).length,"ëª
ì±ì ì ì¥"),!e_&&(0,s.jsx)(N.Z,{size:16})]})]})]}),"grade-file"===H&&"midterm"===e2&&(0,s.jsxs)("div",{className:"absolute top-4 right-14 flex items-center gap-2 z-10",children:[(0,s.jsxs)("button",{onClick:()=>tt({examType:"midterm",gradeLevel:"",semester:""}),className:"px-3 py-1.5 text-xs text-red-500 hover:text-red-600 dark:text-red-400 dark:hover:text-red-300 transition-colors flex items-center gap-1.5",children:[(0,s.jsx)(h.Z,{size:12}),"ì´ì ì±ì ìì "]}),e7.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{onClick:()=>{e9([]),e8(null)},className:"px-3 py-1.5 text-xs text-zinc-500 dark:text-white/50 hover:text-zinc-900 dark:hover:text-white transition-colors",children:"ì·¨ì"}),(0,s.jsxs)("button",{onClick:tI,disabled:e_,className:"px-3 py-1.5 bg-[#007AFF] hover:bg-[#0069d9] text-white text-xs font-bold rounded-lg flex items-center gap-2 transition disabled:opacity-50 min-w-[100px] justify-center",children:[e_?(0,s.jsx)(D.W,{size:18,className:"text-white"}):"".concat(e7.filter(e=>e.studentId).length,"ëª
ì±ì ì ì¥"),!e_&&(0,s.jsx)(N.Z,{size:16})]})]})]}),"grade-file"===H&&"mock"===e2&&(0,s.jsxs)("div",{className:"absolute top-4 right-14 flex items-center gap-2 z-10",children:[(0,s.jsxs)("button",{onClick:()=>ts({year:"",month:""}),className:"px-3 py-1.5 text-xs text-red-500 hover:text-red-600 dark:text-red-400 dark:hover:text-red-300 transition-colors flex items-center gap-1.5",children:[(0,s.jsx)(h.Z,{size:12}),"ì´ì ì±ì ìì "]}),e3&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{onClick:()=>e4(null),className:"px-3 py-1.5 text-xs text-zinc-500 dark:text-white/50 hover:text-zinc-900 dark:hover:text-white transition-colors",children:"ì·¨ì"}),(0,s.jsxs)("button",{onClick:tA,disabled:e_||!ti.ready,className:"px-3 py-1.5 bg-[#007AFF] hover:bg-[#0069d9] text-white text-xs font-bold rounded-lg flex items-center gap-2 transition disabled:opacity-50 mock-exam-upload-btn min-w-[100px] justify-center",children:[e_?(0,s.jsx)(D.W,{size:18,className:"text-white"}):"".concat(e3.students.length,"ëª
ì±ì ì ì¥"),!e_&&(0,s.jsx)(N.Z,{size:16})]})]})]}),(0,s.jsxs)("div",{className:"flex-1 p-4 flex flex-col overflow-hidden",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-4 pr-12",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-[15px] font-medium text-zinc-900 dark:text-white",children:"student-list"===H?"".concat(ex," íì ë±ë¡"):"school"===e2?"ë´ì ì±ì íì¼ ì
ë¡ë":"mock"===e2?"모ìê³ ì¬ ì±ì íì¼ ì
ë¡ë":"midterm"===e2?"ì¤ê°ê³ ì¬ ì±ì íì¼ ì
ë¡ë":"ìí기ë¡ë¶ íì¼ ì
ë¡ë"}),"grade-file"===H&&(0,s.jsxs)(s.Fragment,{children:["school"===e2&&eJ&&(0,s.jsxs)("p",{className:"text-xs text-zinc-500 dark:text-[#71717a] mt-1",children:[eJ.gradeClass," \xb7 ",eJ.totalRecords,"ê° ì±ì "]}),"mock"===e2&&e3&&(0,s.jsxs)("p",{className:"text-xs text-zinc-500 dark:text-[#71717a] mt-1",children:[(null===(y=e3.meta.test_date)||void 0===y?void 0:y.split("-")[0])||"2025","ë
",(null===(w=e3.meta.test_date)||void 0===w?void 0:w.split("-")[1])||"3","ì \xb7 ",e3.meta.grade,"íë
",e3.meta.class_no?"".concat(e3.meta.class_no,"ë°"):""," \xb7 ",e3.students.length,"ëª
"]}),"midterm"===e2&&e6&&(0,s.jsxs)("p",{className:"text-xs text-zinc-500 dark:text-[#71717a] mt-1",children:[e6.gradeClass," \xb7 ì êµ ",e6.totalStudents,"ëª
ì¤ ë§¤ì¹ ",e7.filter(e=>e.studentId).length,"ëª
\xb7 ",e6.totalRecords,"ê° ì±ì "]})]})]}),"grade-file"===H&&"record"===e2&&tc&&(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("button",{onClick:()=>to(null),className:"px-3 py-1.5 text-xs text-zinc-500 dark:text-white/50 hover:text-zinc-900 dark:hover:text-white transition-colors",children:"ì·¨ì"}),(0,s.jsxs)("button",{onClick:()=>tF(),disabled:e_||eM,className:"px-3 py-1.5 bg-[#007AFF] hover:bg-[#0069d9] text-white text-xs font-bold rounded-lg flex items-center gap-2 transition disabled:opacity-50 record-upload-btn min-w-[120px] justify-center",children:[e_?(0,s.jsx)(D.W,{size:18,className:"text-white"}):"ìí기ë¡ë¶ ì ì¥",!e_&&(0,s.jsx)(N.Z,{size:16})]})]})]}),"grade-file"===H&&"mock"===e2&&e3&&(0,s.jsx)(i,{choice:ti,disabled:e_}),"student-list"===H&&eS&&(0,s.jsxs)("section",{"aria-label":"íì ì²ë¦¬ ê²°ê
1³¼",className:"mb-3 shrink-0 rounded-xl border border-zinc-200 dark:border-zinc-700 p-3 text-sm",children:[(0,s.jsxs)("p",{role:"status",className:"font-medium",children:["ì²ë¦¬ ê²°ê³¼: ì±ê³µ ",eS.success,"ëª
\xb7 ì¤í¨ ",eS.errors.length,"ëª
"]}),eS.errors.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{className:"mt-1 text-zinc-500",children:"ìë íìë ì¤í¨í íìë§ ë¨ê²¨ ëììµëë¤. ìì í ë¤ì ì ì¥í ì ìì´ì."}),(0,s.jsx)("ul",{className:"my-2 max-h-32 overflow-auto text-red-600 dark:text-red-400",children:eS.errors.map((e,t)=>(0,s.jsx)("li",{children:e},t))}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,s.jsx)("button",{type:"button",disabled:e_,className:"min-h-11 rounded-lg border border-zinc-300 dark:border-zinc-600 px-3",onClick:()=>void tk(),children:"ì¤í¨í í ë¤ì ì²ë¦¬"}),(0,s.jsx)("button",{type:"button",className:"min-h-11 rounded-lg border border-zinc-300 dark:border-zinc-600 px-3",onClick:()=>{let e=URL.createObjectURL(new Blob([eS.errors.join("\n")],{type:"text/plain;charset=utf-8"})),t=document.createElement("a");t.href=e,t.download="íì-ì²ë¦¬-ì¤ë¥.txt",t.click(),URL.revokeObjectURL(e)},children:"ì¤ë¥ ëª©ë¡ ë´ë ¤ë°ê¸°"})]})]}),(0,s.jsx)("button",{type:"button",className:"mt-2 min-h-11 px-3 text-zinc-500",onClick:()=>eD(null),children:"ê²°ê³¼ ë«ê¸°"})]}),"student-list"===H?0===ez.length?(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"flex-1 flex flex-col animate-in fade-in duration-300",children:[(0,s.jsxs)("div",{className:"text-[13px] text-zinc-500 dark:text-zinc-400 mb-3 leading-relaxed",children:["íë², ì´ë¦ ì´ì´ í¬í¨ë ìì
íì¼ì ì
ë¡ëíì¸ì. ",(0,s.jsx)("br",{}),(0,s.jsx)("span",{className:"text-xs text-zinc-400",children:"íì ì´: [íë², ì´ë¦] ëë [íë
, ë°, ë²í¸, ì´ë¦]"})]}),(0,s.jsx)("div",{className:(0,C.cn)("flex-1 border-2 border-dashed rounded-xl flex flex-col items-center justify-center gap-4 transition cursor-pointer group bg-zinc-50/50 dark:bg-[#202023]/30 outline-none",eF?"border-[#2883DE] bg-[#2883DE]/10":"border-[#3f3f46]/50 hover:border-[#71717a] hover:bg-[#EBEBEA] [.dark_&]:hover:bg-[#202023] focus:border-[#2883DE] focus:bg-[#2883DE]/5"),tabIndex:0,role:"button","aria-label":"íì ëª
ë¨ íì¼ ì
ë¡ë","aria-disabled":eM,onKeyDown:e=>{if(!eM&&("Enter"===e.key||" "===e.key)){var t;e.preventDefault(),null===(t=eG.current)||void 0===t||t.click()}},onPaste:e=>{e.preventDefault();let t="",r="";if("clipboardData"in e?(t=e.clipboardData.getData("text/html"),r=e.clipboardData.getData("text")):r=e.target.value,!r&&!t)return;let s=[],a=e=>{let t=e.map(e=>e.trim()).filter(e=>""!==e);if(0===t.length)return null;let r={number:0,name:"",grade:void 0,classNum:void 0,memo:"",isValid:!0,id:void 0};if(t.length>=4){let e=parseInt(t[0]),s=parseInt(t[1]),a=parseInt(t[2]);if(!isNaN(e)&&!isNaN(s)&&!isNaN(a))return r.grade=e,r.classNum=s,r.number=a,r.name=t[3],t[4]&&(r.memo=t.slice(4).join(" ")),r}if(2===t.length){let e=(0,R.T)(t[0]);if(e)return r.grade=e.grade,r.classNum=e.classNum,r.number=e.number,r.name=t[1],r}if(2===t.length){let e=parseInt(t[0]);if(!isNaN(e))return r.number=e,r.name=t[1],r}if(3===t.length){let e=parseInt(t[0]);if(!isNaN(e))return r.number=e,r.name=t[1],r.memo=t[2],r}return null},n=e=>{let t=a(e);return!!t&&(t.classNum||"ë´ì íê¸"===ex||isNaN(parseInt(ex))||(t.classNum=parseInt(ex)),s.push(t),!0)};if(t){let e=new DOMParser().parseFromString(t,"text/html").querySelectorAll("tr");e.length>0&&e.forEach(e=>{n(Array.from(e.querySelectorAll("td, th")).map(e=>e.textContent||""))})}0===s.length&&r&&r.trim().split(/\r?\n/).forEach(e=>{if(!e.trim()||e.includes(" ")&&n(e.split(" ")))return;let t=e.trim().split(/\s+/);t.length>=2&&n(t)}),s.length>0?(eC(e=>[...e,...s].sort(tp)),ec("".concat(s.length,"ëª
ì ë¶ì¬ë£ììµëë¤."),"success")):(t||r)&&ec("ë¶ì¬ë£ì ë´ì©ì ììë³´ì§ ëª»íìµëë¤. [íë², ì´ë¦] ëë [íë
, ë°, ë²í¸, ì´ë¦] ììì¸ì§ íì¸í´ 주ì¸ì.","warning")},onClick:()=>{var e;return!eM&&(null===(e=eG.current)||void 0===e?void 0:e.click())},onDragOver:e=>{e.preventDefault(),eM||eA(!0)},onDragLeave:()=>eA(!1),onDrop:tB,children:eM?(0,s.jsxs)("div",{className:"flex flex-col items-center gap-3 animate-in fade-in duration-300",children:[(0,s.jsx)(D.W,{size:48}),(0,s.jsx)("p",{className:"text-sm text-zinc-500 font-medium animate-pulse",children:"íì¼ íì¸ ì¤..."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(F.w,{src:"/lordicons/wired-outline-92-file-upload-hover-swipe.json",size:40,target:".group",playOnMount:!0,className:(0,C.cn)("mb-2 transition-colors",eF?"text-[#2883DE]":"text-zinc-400 dark:text-zinc-500 group-hover:text-zinc-600 dark:group-hover:text-zinc-300")},"student-list-drop-".concat(H)),(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)("p",{className:"text-zinc-900 dark:text-white font-medium mb-1",children:"íì ëª
ë¨ íì¼ ì
ë¡ë"}),(0,s.jsx)("p",{className:"text-sm text-zinc-400",children:"ìì
íì¼(.xlsx) ì
ë¡ë"})]})]})})]})}):(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,s.jsx)("div",{className:"px-1 pt-0 pb-2 text-left shrink-0",children:(0,s.jsx)("p",{className:"text-xs text-zinc-400",children:"ì¤ë¥ê° ìë¤ë©´ ìëì íìì ì§ì ìì í ì ììµëë¤."})}),(0,s.jsxs)("div",{className:"flex-1 overflow-auto bg-transparent dark:bg-[#18181b] relative",children:[(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{className:"sticky top-0 bg-[#F7F7F5] [.dark_&]:bg-[#18181b] z-50 font-medium shadow-sm",children:(0,s.jsxs)("tr",{className:"text-zinc-500 dark:text-[#71717a] text-center border-b border-zinc-200 dark:border-[#27272a]",children:[(0,s.jsx)("th",{className:"py-2 px-1 w-[15%]",children:"íë
"}),(0,s.jsx)("th",{className:"py-2 px-1 w-[15%]",children:"ë°"}),(0,s.jsx)("th",{className:"py-2 px-1 w-[15%]",children:"ë²í¸"}),(0,s.jsx)("th",{className:"py-2 px-1",children:"ì´ë¦"}),(0,s.jsx)("th",{className:"py-2 px-1 w-[80px]"})]})}),(0,s.jsx)("tbody",{children:ez.map((e,t)=>(0,s.jsxs)("tr",{className:"border-b border-zinc-100 dark:border-[#27272a]/50 text-zinc-900 dark:text-white group/row hover:bg-amber-50/50 dark:hover:bg-[#202023]/30 transition-colors",children:[(0,s.jsx)("td",{className:"p-1",children:(0,s.jsx)("input",{type:"number",className:"w-full text-center bg-transparent focus:bg-white dark:focus:bg-[#27272a] rounded p-1.5 outline-none text-zinc-900 dark:text-zinc-200 focus:shadow-sm transition [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none","aria-label":"".concat(t+1,"í íì íë
"),value:e.grade||"",placeholder:"-",onChange:e=>tR(t,"grade",parseInt(e.target.value)||void 0)})}),(0,s.jsx)("td",{className:"p-1",children:(0,s.jsx)("input",{type:"number",className:"w-full text-center bg-transparent focus:bg-white dark:focus:bg-[#27272a] rounded p-1.5 outline-none text-zinc-900 dark:text-zinc-200 focus:shadow-sm transition [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none","aria-label":"".concat(t+1,"í íì ë°"),value:e.classNum||"",placeholder:"-",onChange:e=>tR(t,"classNum",parseInt(e.target.value)||void 0)})}),(0,s.jsx)("td",{className:"p-1",children:(0,s.jsx)("input",{type:"number",className:"w-full text-center bg-transparent focus:bg-white dark:focus:bg-[#27272a] rounded p-1.5 outline-none font-medium text-zinc-900 dark:text-zinc-200 focus:shadow-sm transition [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none","aria-label":"".concat(t+1,"í íì ë²í¸"),value:e.number||"",onChange:e=>tR(t,"number",parseInt(e.target.value)||0)})}),(0,s.jsx)("td",{className:"p-1",children:(0,s.jsx)("input",{type:"text",className:"w-full text-center bg-transparent focus:bg-white dark:focus:bg-[#27272a] rounded p-1.5 outline-none text-zinc-900 dark:text-zinc-200 focus:shadow-sm transition","aria-label":"".concat(t+1,"í íì ì´ë¦"),value:e.name,onChange:e=>tR(t,"name",e.target.value)})}),(0,s.jsx)("td",{className:"p-1 text-center",children:(0,s.jsxs)("div",{className:"flex items-center justify-center gap-1 opacity-100 [@media(hover:hover)]:opacity-0 group-hover/row:opacity-100 group-focus-within/row:opacity-100 transition-opacity",children:[(0,s.jsx)("button",{onClick:()=>tM(t),className:"p-1.5 text-zinc-400 hover:text-emerald-500 hover:bg-emerald-50 dark:hover:bg-emerald-500/10 rounded transition",title:"ì ì¥",children:(0,s.jsx)(m.Z,{size:14})}),(0,s.jsx)("button",{onClick:()=>tO(t),className:"p-1.5 text-zinc-300 hover:text-red-500 hover:bg-red-50 dark:hover:bg-red-500/10 rounded transition",title:"ìì ",children:(0,s.jsx)(h.Z,{size:14})})]})})]},t))})]}),(0,s.jsx)("div",{className:"p-2 border-t border-dashed border-zinc-200 dark:border-[#27272a] text-center",children:(0,s.jsx)("button",{onClick:()=>{eC(e=>[...e,{grade:void 0,classNum:void 0,number:0,name:"",memo:"",isValid:!0,id:void 0}]),eW(!0)},className:"w-full py-2 text-xs text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 hover:bg-zinc-50 dark:hover:bg-[#202023] rounded-lg border border-transparent hover:border-zinc-200 dark:hover:border-[#3f3f46] border-dashed transition",children:"+ ë¹ í ì¶ê°í기"})})]})]})}):(()=>
1{if("midterm"===e2){if(e7.length>0){let e=e7.filter(e=>e.studentId),t=e7.filter(e=>!e.studentId);return(0,s.jsx)("div",{className:"flex-1 flex flex-col overflow-hidden",children:(0,s.jsx)("div",{className:"flex-1 overflow-auto bg-transparent relative custom-scrollbar",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{className:"sticky top-0 bg-[#F7F7F5] [.dark_&]:bg-[#18181b] z-50 font-medium shadow-sm",children:(0,s.jsxs)("tr",{className:"text-zinc-500 dark:text-[#71717a] text-center border-b border-zinc-200 dark:border-[#27272a]",children:[(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium w-12",children:"ë°"}),(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium w-12",children:"ë²í¸"}),(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium text-center",children:"ì´ë¦"}),(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium w-20 text-center",children:"과목ì"}),(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium w-20 text-center",children:"ìí"})]})}),(0,s.jsxs)("tbody",{className:"text-xs",children:[e.map((e,t)=>(0,s.jsxs)("tr",{className:"border-b border-zinc-100 dark:border-[#27272a]/50 text-zinc-900 dark:text-white group/row hover:bg-amber-50/50 dark:hover:bg-[#202023]/30 transition-colors",children:[(0,s.jsx)("td",{className:"py-2.5 px-2 text-center text-zinc-500 dark:text-zinc-400",children:e.currentClass}),(0,s.jsx)("td",{className:"py-2.5 px-2 text-center text-zinc-500 dark:text-zinc-400",children:e.studentNumber}),(0,s.jsx)("td",{className:"py-2.5 px-2 font-medium text-center",children:e.studentName}),(0,s.jsx)("td",{className:"py-2.5 px-2 text-center text-zinc-500 dark:text-zinc-400",children:e.grades.length}),(0,s.jsx)("td",{className:"py-2.5 px-2 text-center",children:(0,s.jsx)("span",{className:"text-green-500 text-xs",children:"매ì¹ë¨"})})]},"m-".concat(t))),t.length>0&&(0,s.jsx)("tr",{className:"bg-zinc-50 dark:bg-white/[0.03]",children:(0,s.jsxs)("td",{colSpan:5,className:"py-2 px-3 text-xs text-zinc-400",children:["ë¯¸ë§¤ì¹ íì ",t.length,"ëª
(ì ì¥ëì§ ìì)"]})})]})]})})})}return(0,s.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,s.jsxs)("div",{className:"text-[13px] text-zinc-900 dark:text-zinc-400 mb-3 flex flex-col gap-1 text-left leading-relaxed",children:[(0,s.jsx)("p",{children:"ì¤ê°ê³ ì¬ ì±ì íì¼ì íê° ë´ë¹ ì ìëê»ì ë¤ì´ë¡ë ê°ë¥í©ëë¤."}),(0,s.jsxs)("p",{children:["ê²½ë¡: ëì´ì¤ - ì±ì ì¡°í/íµê³ - íê¸°ë§ ì±ì ì¡°í - ì±ì ì¼ëí ì 과목/ì íì -",(0,s.jsx)("br",{}),(0,s.jsx)("span",{className:"ml-[30px]",children:"'í íì´ì§ë¡ ì¶ë ¥' ì²´í¬ - ì ì¥ - XLS"})]})]}),(0,s.jsxs)("div",{className:(0,C.cn)("flex-1 border-2 border-dashed rounded-xl flex flex-col items-center justify-center gap-4 transition cursor-pointer group",eF?"border-[#2883DE] bg-[#2883DE]/10":"border-[#3f3f46] hover:border-[#71717a] hover:bg-[#EBEBEA] [.dark_&]:hover:bg-[#202023]"),onClick:()=>{var e;return!eM&&(null===(e=e0.current)||void 0===e?void 0:e.click())},onDragOver:e=>{e.preventDefault(),eM||eA(!0)},onDragLeave:()=>eA(!1),onDrop:e=>{var t;e.preventDefault(),eA(!1);let r=null===(t=e.dataTransfer.files)||void 0===t?void 0:t[0];r&&tE(r)},children:[eM?(0,s.jsxs)("div",{className:"flex flex-col items-center gap-3 animate-in fade-in duration-300",children:[(0,s.jsx)(D.W,{size:64}),(0,s.jsx)("p",{className:"text-sm text-zinc-500 font-medium animate-pulse",children:"íì¼ íì¸ ì¤..."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(F.w,{src:"/lordicons/wired-outline-92-file-upload-hover-swipe.json",size:40,target:".group",playOnMount:!0,className:(0,C.cn)("mb-2 transition-colors",eF?"text-[#2883DE]":"text-zinc-400 dark:text-zinc-500 group-hover:text-zinc-600 dark:group-hover:text-zinc-300")},"midterm-drop-".concat(e2)),(0,s.jsx)("div",{className:"text-center",children:(0,s.jsxs)("p",{className:"text-zinc-900 dark:text-white font-medium mb-1",children:["ì¤ê°ê³ ì¬ ì±ì ì¼ëí",(0,s.jsx)("br",{}),"ìì
(.xlsx) ì
ë¡ë"]})})]}),(0,s.jsx)("input",{type:"file",ref:e0,accept:".xlsx,.xls",className:"hidden",onChange:e=>{var t;let r=null===(t=e.target.files)||void 0===t?void 0:t[0];r&&tE(r),e.target.value=""}})]})]})}return"mock"===e2?e3?(0,s.jsx)("div",{className:"flex-1 flex flex-col overflow-hidden",children:(0,s.jsx)("div",{className:"flex-1 overflow-auto bg-transparent relative custom-scrollbar",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{className:"sticky top-0 bg-[#F7F7F5] [.dark_&]:bg-[#18181b] z-50 font-medium shadow-sm",children:(0,s.jsxs)("tr",{className:"text-zinc-500 dark:text-[#71717a] text-center border-b border-zinc-200 dark:border-[#27272a]",children:[(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium w-16",children:"ë²í¸"}),(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium text-center",children:"ì´ë¦"}),(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium text-center w-24",children:"과목ì"})]})}),(0,s.jsx)("tbody",{className:"text-xs",children:e3.students.map((e,t)=>{let r=[e.kor_grade,e.math_grade,e.eng_grade,e.hist_grade,e.inq1_grade,e.inq2_grade].filter(e=>null!==e).length;return(0,s.jsxs)("tr",{className:"border-b border-zinc-100 dark:border-[#27272a]/50 text-zinc-900 dark:text-white group/row hover:bg-amber-50/50 dark:hover:bg-[#202023]/30 transition-colors",children:[(0,s.jsx)("td",{className:"py-2.5 px-2 text-center text-zinc-500 dark:text-zinc-400",children:e.student_no}),(0,s.jsx)("td",{className:"py-2.5 px-2 font-medium text-center",children:e.name}),(0,s.jsx)("td",{className:"py-2.5 px-2 text-center text-zinc-500 dark:text-zinc-400",children:r})]},t)})})]})})}):(0,s.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,s.jsx)("div",{className:"text-[13px] text-zinc-900 dark:text-zinc-400 mb-3 flex flex-col gap-1 text-left leading-relaxed",children:(0,s.jsx)("p",{children:"ê²½ë¡: ìíì
무ì§ìí¬í¸(www.csat.re.kr) - ì±ì ì¶ë ¥ - ì±ì ì¼ëí"})}),(0,s.jsxs)("div",{className:(0,C.cn)("flex-1 border-2 border-dashed rounded-xl flex flex-col items-center justify-center gap-4 transition cursor-pointer group",eF?"border-[#2883DE] bg-[#2883DE]
1/10":"border-[#3f3f46] hover:border-[#71717a] hover:bg-[#EBEBEA] [.dark_&]:hover:bg-[#202023]"),onClick:()=>{var e;return!eM&&(null===(e=eQ.current)||void 0===e?void 0:e.click())},onDragOver:e=>{e.preventDefault(),eM||eA(!0)},onDragLeave:()=>eA(!1),onDrop:e=>{var t;e.preventDefault(),eA(!1);let r=null===(t=e.dataTransfer.files)||void 0===t?void 0:t[0];r&&tS(r)},children:[eM?(0,s.jsxs)("div",{className:"flex flex-col items-center gap-3 animate-in fade-in duration-300",children:[(0,s.jsx)(D.W,{size:64}),(0,s.jsx)("p",{className:"text-sm text-zinc-500 font-medium animate-pulse",children:"íì¼ íì¸ ì¤..."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(F.w,{src:"/lordicons/wired-outline-92-file-upload-hover-swipe.json",size:40,target:".group",playOnMount:!0,className:(0,C.cn)("mb-2 transition-colors",eF?"text-[#2883DE]":"text-zinc-400 dark:text-zinc-500 group-hover:text-zinc-600 dark:group-hover:text-zinc-300")},"mock-drop-".concat(e2)),(0,s.jsx)("div",{className:"text-center",children:(0,s.jsxs)("p",{className:"text-zinc-900 dark:text-white font-medium mb-1",children:["모ìê³ ì¬ íê¸ë³ ì±ì ì¼ëí",(0,s.jsx)("br",{}),"PDF ì
ë¡ë"]})})]}),(0,s.jsx)("input",{type:"file",ref:eQ,accept:".pdf",className:"hidden",onChange:e=>{var t;let r=null===(t=e.target.files)||void 0===t?void 0:t[0];r&&tS(r),e.target.value=""}})]})]}):"record"===e2?e_?(0,s.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-6 animate-in fade-in duration-500",children:[(0,s.jsx)(D.W,{size:80}),(0,s.jsxs)("div",{className:"text-center space-y-2",children:[(0,s.jsx)("p",{className:"text-zinc-900 dark:text-white font-semibold text-lg text-pretty",children:"AIê° ì´ì¬í ë¶ìì¤ì´ìì."}),(0,s.jsx)("p",{className:"text-[13px] text-zinc-500 dark:text-zinc-400 leading-relaxed text-pretty",children:"ì°½ì ë«ê³ 1~2ë¶ ë¤ íì ê´ë¦¬ íì´ì§ìì íì¸í´ ë³´ì¸ì."})]})]}):tc?null:(0,s.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,s.jsx)("div",{className:"text-[13px] text-zinc-900 dark:text-zinc-400 mb-3 flex justify-start",children:(0,s.jsxs)("div",{className:"flex gap-1.5 text-left leading-relaxed",children:[(0,s.jsx)("span",{className:"shrink-0",children:"ê²½ë¡:"}),(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsx)("span",{children:"ëì´ì¤ - íê¸ë´ì - íêµìí기ë¡ë¶ - íìë¶ ì¡°í ë° ì¶ë ¥ -"}),(0,s.jsx)("span",{children:"íìë¶II ì í - PDFë¡ ì ì¥"})]})]})}),(0,s.jsxs)("div",{className:(0,C.cn)("flex-1 border-2 border-dashed rounded-xl flex flex-col items-center justify-center gap-4 transition cursor-pointer group",eF?"border-[#2883DE] bg-[#2883DE]/10":"border-[#3f3f46] hover:border-[#71717a] hover:bg-[#EBEBEA] [.dark_&]:hover:bg-[#202023]"),onClick:()=>{var e;return null===(e=e1.current)||void 0===e?void 0:e.click()},onDragOver:e=>{e.preventDefault(),eA(!0)},onDragLeave:()=>eA(!1),onDrop:e=>{var t;e.preventDefault(),eA(!1);let r=null===(t=e.dataTransfer.files)||void 0===t?void 0:t[0];r&&tD(r)},children:[eM?(0,s.jsxs)("div",{className:"flex flex-col items-center gap-3 animate-in fade-in duration-300",children:[(0,s.jsx)(D.W,{size:64}),(0,s.jsx)("p",{className:"text-sm text-zinc-500 font-medium animate-pulse",children:"íì¼ íì¸ ì¤..."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(F.w,{src:"/lordicons/wired-outline-92-file-upload-hover-swipe.json",size:40,target:".group",playOnMount:!0,className:(0,C.cn)("mb-2 transition-colors",eF?"text-[#2883DE]":"text-zinc-400 dark:text-zinc-500 group-hover:text-zinc-600 dark:group-hover:text-zinc-300")},"record-drop-".concat(e2)),(0,s.jsx)("div",{className:"text-center",children:(0,s.jsxs)("p",{className:"text-zinc-900 dark:text-white font-medium mb-1",children:["íì ê°ì¸ë³",(0,s.jsx)("br",{}),"ìí기ë¡ë¶ PDF ì
ë¡ë"]})})]}),(0,s.jsx)("input",{type:"file",ref:e1,accept:".pdf",className:"hidden",onChange:async e=>{var t;let r=null===(t=e.target.files)||void 0===t?void 0:t[0];r&&tD(r),e.target.value=""}})]})]}):0===eV.length?(0,s.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,s.jsx)("div",{className:"text-[13px] text-zinc-900 dark:text-zinc-400 mb-3 flex justify-start",children:(0,s.jsxs)("div",{className:"flex gap-1.5 text-left leading-relaxed",children:[(0,s.jsx)("span",{className:"shrink-0",children:"ê²½ë¡:"}),(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsx)("span",{children:"ëì´ì¤ - íê¸ë´ì - íêµìí기ë¡ë¶ -"}),(0,s.jsx)("span",{children:"íìë¶ íëª©ë³ ì¡°í - êµê³¼íìµë°ë¬ìí© - ì ì¥ - XLS data"})]})]})}),(0,s.jsxs)("div",{className:(0,C.cn)("flex-1 border-2 border-dashed rounded-xl flex flex-col items-center justify-center gap-4 transition cursor-pointer group",eF?"border-[#2883DE] bg-[#2883DE]
1/10":"border-[#3f3f46] hover:border-[#71717a] hover:bg-[#EBEBEA] [.dark_&]:hover:bg-[#202023]"),onClick:()=>{var e;return!eM&&(null===(e=eH.current)||void 0===e?void 0:e.click())},onDragOver:e=>{e.preventDefault(),eM||eA(!0)},onDragLeave:()=>eA(!1),onDrop:e=>{var t;e.preventDefault(),eA(!1);let r=null===(t=e.dataTransfer.files)||void 0===t?void 0:t[0];r&&tC(r)},children:[eM?(0,s.jsxs)("div",{className:"flex flex-col items-center gap-3 animate-in fade-in duration-300",children:[(0,s.jsx)(D.W,{size:64}),(0,s.jsx)("p",{className:"text-sm text-zinc-500 font-medium animate-pulse",children:"íì¼ íì¸ ì¤..."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(F.w,{src:"/lordicons/wired-outline-92-file-upload-hover-swipe.json",size:40,target:".group",playOnMount:!0,className:(0,C.cn)("mb-2 transition-colors",eF?"text-[#2883DE]":"text-zinc-400 dark:text-zinc-500 group-hover:text-zinc-600 dark:group-hover:text-zinc-300")},"school-drop-".concat(e2)),(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)("p",{className:"text-zinc-900 dark:text-white font-medium mb-1",children:"ë´ì ì±ì íì¼"}),(0,s.jsx)("p",{className:"text-sm text-zinc-900 dark:text-white",children:"XLS data ì
ë¡ë"})]})]}),(0,s.jsx)("input",{type:"file",ref:eH,accept:".xlsx,.xls,.csv",className:"hidden",onChange:e=>{var t;let r=null===(t=e.target.files)||void 0===t?void 0:t[0];r&&tC(r),e.target.value=""}})]})]}):(0,s.jsx)("div",{className:"flex-1 flex flex-col overflow-hidden",children:(0,s.jsx)("div",{className:"flex-1 overflow-auto bg-transparent relative custom-scrollbar",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{className:"sticky top-0 bg-[#F7F7F5] [.dark_&]:bg-[#18181b] z-50 font-medium shadow-sm",children:(0,s.jsxs)("tr",{className:"text-zinc-500 dark:text-[#71717a] text-center border-b border-zinc-200 dark:border-[#27272a]",children:[(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium w-16 text-center",children:"ë²í¸"}),(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium text-center",children:"íì"}),(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium w-24 text-center",children:"과목ì"}),(0,s.jsx)("th",{className:"py-2.5 px-2 font-medium w-24 text-center",children:"ìí"})]})}),(0,s.jsx)("tbody",{className:"text-xs",children:eV.map((e,t)=>(0,s.jsxs)("tr",{className:"border-t border-zinc-100 dark:border-[#27272a] hover:bg-zinc-100 dark:hover:bg-[#202023]/50 transition-colors",children:[(0,s.jsx)("td",{className:"py-2 px-2 text-zinc-500 dark:text-zinc-400 text-center w-16",children:e.studentNumber}),(0,s.jsx)("td",{className:"py-2 px-2 text-zinc-900 dark:text-white text-center font-medium",children:e.studentName}),(0,s.jsx)("td",{className:"py-2 text-center text-zinc-500 dark:text-zinc-400",children:e.grades.length}),(0,s.jsx)("td",{className:"py-2 text-center",children:e.studentId?(0,s.jsx)("span",{className:"text-emerald-500",children:"매ì¹ë¨"}):(0,s.jsx)("span",{className:"text-red-500",children:"미매ì¹"})})]},t))})]})})})})()]})]})]}),tu&&(0,s.jsxs)("div",{className:"modal-viewport z-[99999] flex items-center justify-center p-4",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:()=>tx(null)}),(0,s.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"ìí기ë¡ë¶ ì´ë¦ íì¸",onKeyDown:e=>{"Escape"===e.key&&tx(null)},className:"relative bg-white dark:bg-[#1c1c1e] rounded-2xl shadow-2xl p-6 max-w-sm w-full border border-zinc-200 dark:border-white/10 animate-in zoom-in-95 fade-in duration-200",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,s.jsx)(k.Z,{size:20,className:"flex-shrink-0 text-amber-600 dark:text-amber-400"}),(0,s.jsx)("h3",{className:"font-semibold text-zinc-900 dark:text-white text-[15px]",children:tu.extractedName===tu.selectedStudentName?"ëëª
ì´ì¸ ê°ë¥ì±ì´ ììµëë¤":"íì ì´ë¦ì´ ë¤ë¦
ëë¤"})]}),(0,s.jsxs)("div",{className:"space-y-2 mb-5 text-sm",children:[(0,s.jsxs)("div",{className:"bg-zinc-50 dark:bg-white/5 rounded-xl p-3 space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-zinc-500 dark:text-zinc-400 text-xs",children:"ì íë íì"}),(0,s.jsxs)("span",{className:"font-semibold text-zinc-900 dark:text-white",children:[tu.selectedStudentName,null!==tu.selectedStudentNumber&&(0,s.jsxs)("span",{className:"ml-1.5 text-xs font-normal text-zinc-400",children:[tu.selectedStudentNumber,"ë²"]})]})]}),(0,s.jsx)("div",{className:"w-full h-px bg-zinc-200 dark:bg-white/10"}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-zinc-500 dark:text-zinc-400 text-xs",children:"PDF ë´ íì"}),(0,s.jsxs)("span",{className:"font-semibold text-amber-600 dar
1k:text-amber-400",children:[tu.extractedName,null!==tu.extractedNumber&&(0,s.jsxs)("span",{className:"ml-1.5 text-xs font-normal text-amber-400/70",children:[tu.extractedNumber,"ë²"]})]})]})]}),(0,s.jsxs)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400 leading-relaxed",children:["ì
ë¡ëí ì기ë¶ê° ",(0,s.jsx)("span",{className:"font-medium text-zinc-700 dark:text-zinc-300",children:tu.selectedStudentName})," íìì ê²ì´ ë§ëì§ íì¸í´ 주ì¸ì."]})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("button",{onClick:()=>tx(null),className:"flex-1 px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 bg-zinc-100 dark:bg-white/10 hover:bg-zinc-200 dark:hover:bg-white/15 rounded-xl transition-colors",children:"ì·¨ì"}),(0,s.jsx)("button",{onClick:()=>{let e=tu.file;tx(null),tF(e,!0)},className:"flex-1 px-4 py-2 text-sm font-bold text-white bg-amber-500 hover:bg-amber-600 rounded-xl transition-colors",children:"ê·¸ëë ì ì¥"})]})]})]}),te&&(0,s.jsxs)("div",{className:"modal-viewport z-[99999] flex items-center justify-center p-4",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:()=>!ta&&tt(null)}),(0,s.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"ì±ì ì¼ê´ ìì íì¸",onKeyDown:e=>{"Escape"!==e.key||ta||tt(null)},className:"relative bg-white dark:bg-[#1c1c1e] rounded-2xl shadow-2xl p-6 max-w-sm w-full border border-zinc-200 dark:border-white/10 animate-in zoom-in-95 fade-in duration-200",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,s.jsx)(h.Z,{size:18,className:"flex-shrink-0 text-red-600 dark:text-red-400"}),(0,s.jsxs)("h3",{className:"font-semibold text-zinc-900 dark:text-white text-[15px]",children:["midterm"===te.examType?"ì¤ê°ê³ ì¬":"기ë§ê³ ì¬"," ì±ì ìì "]})]}),(0,s.jsxs)("div",{className:"space-y-3 mb-5",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)("select",{value:te.gradeLevel,onChange:e=>tt({...te,gradeLevel:e.target.value?Number(e.target.value):""}),className:"flex-1 px-3 py-2 text-sm rounded-lg border border-zinc-200 dark:border-white/10 bg-white dark:bg-white/5 text-zinc-900 dark:text-white",children:[(0,s.jsx)("option",{value:"",children:"íë
ì í"}),(0,s.jsx)("option",{value:1,children:"1íë
"}),(0,s.jsx)("option",{value:2,children:"2íë
"}),(0,s.jsx)("option",{value:3,children:"3íë
"})]}),(0,s.jsxs)("select",{value:te.semester,onChange:e=>tt({...te,semester:e.target.value?Number(e.target.value):""}),className:"flex-1 px-3 py-2 text-sm rounded-lg border border-zinc-200 dark:border-white/10 bg-white dark:bg-white/5 text-zinc-900 dark:text-white",children:[(0,s.jsx)("option",{value:"",children:"í기 ì í"}),(0,s.jsx)("option",{value:1,children:"1í기"}),(0,s.jsx)("option",{value:2,children:"2í기"})]})]}),""!==te.gradeLevel&&""!==te.semester&&(0,s.jsxs)("p",{className:"text-xs text-red-500 dark:text-red-400 leading-relaxed",children:["ë´ì íê¸ íì ì ì²´ì ",te.gradeLevel,"íë
",te.semester,"í기 ","midterm"===te.examType?"ì¤ê°ê³ ì¬":"기ë§ê³ ì¬"," ì±ì ì ìì í©ëë¤.",(0,s.jsx)("br",{}),"ëë릴 ì ììµëë¤."]})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("button",{onClick:()=>tt(null),disabled:ta,className:"flex-1 px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 bg-zinc-100 dark:bg-white/10 hover:bg-zinc-200 dark:hover:bg-white/15 rounded-xl transition-colors disabled:opacity-50",children:"ì·¨ì"}),(0,s.jsx)("button",{onClick:t_,disabled:ta||""===te.gradeLevel||""===te.semester,className:"flex-1 px-4 py-2 text-sm font-bold !text-white bg-red-500 hover:bg-red-600 rounded-xl transition-colors disabled:opacity-50",children:ta?(0,s.jsx)(D.W,{size:18,className:"text-white mx-auto"}):"ìì "})]})]})]}),tr&&(0,s.jsxs)("div",{className:"modal-viewport z-[99999] flex items-center justify-center p-4",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:()=>!ta&&ts(null)}),(0,s.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"모ìê³ ì¬ ì±ì ìì íì¸",onKeyDown:e=>{"Escape"!==e.key||ta||ts(null)},className:"relative bg-white dark:bg-[#1c1c1e] rounded-2xl shadow-2xl p-6 max-w-sm w-full max-h-[calc(100dvh-2rem)] overflow-y-auto border border-zinc-200 dark:border-white/10 animate-in zoom-in-95 fade-in duration-200",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,s.jsx)(h.Z,{size:18,className:"flex-shrink-0 text-red-600 dark:text-red-400"}),(0,s.jsx)("h3",{className:"font-semibold text-zinc-900 dark:text-white text-[15px]",children:"모ìê³ ì¬ ì±ì ìì "})]}),(0,s.jsxs)("div",{className:"space-y-3 mb-5",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)("select",{"aria-label":"ìì í 모ìê³ ì¬ ì°ë",disabled:ta,value:tr.year,onChange:e=>ts({...tr,year:e.target.value?Number(e.target.value):""}),className:"flex-1 px-3 py-2 text-sm rounded-lg border border-zinc-200 dark:border-white/10 bg-white dark:bg-white/5 text-zinc-900 dark:text-white",children:[(0,s.jsx)("option",{value:"",children:"ì°ë ì í"}),(0,s.jsxs)("option",{value:2025,children:[2025,"ë
"]}),(0,s.jsxs)("option",{value:2026,children:[2026,"ë
"]}),(0,s.jsxs)("option",{value:2027,children:[2027,"ë
"]})]}),(0,s.jsxs)("select",{"aria-label":"ìì í 모ìê³ ì¬ ì",disabled:ta,value:tr.month,onChange:e=>ts({...tr,month:e.target.value?Number(e.target.value):""}),className:"flex-1 px-3 py-2 text-sm rounded-lg border border-zinc-200 dark:border-white/10 bg-white dark:bg-white/5 text-zinc-900 dark:text-white",children:[(0,s.jsx)("option",{value:"",children:"ì ì í"}),Array.from({length:12},(e,t)=>t+1).map(e=>(0,s.jsxs)("option",{value:e,children:[e,"ì"]},e))]})]}),(0,s.jsx)(i,{choice:td,disabled:ta,deletion:!0}),""!==tr.year&&""!==tr.month&&(0,s.jsxs)("p",{className:"text-xs text-red-500 dark:text-red-400 leading-relaxed",children:["ë´ íìë¤ì ",tr.year,"ë
",tr.month,"ì 모ìê³ ì¬ ì±ì ì¤ ì íí ë²ì를 ìì í©ëë¤.",(0,s.jsx)("br",{}),"ëë릴 ì ììµëë¤."]})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("button",{onClick:()=>
1ts(null),disabled:ta,className:"flex-1 px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 bg-zinc-100 dark:bg-white/10 hover:bg-zinc-200 dark:hover:bg-white/15 rounded-xl transition-colors disabled:opacity-50",children:"ì·¨ì"}),(0,s.jsx)("button",{onClick:tL,disabled:ta||""===tr.year||""===tr.month||!td.ready,className:"flex-1 px-4 py-2 text-sm font-bold !text-white bg-red-500 hover:bg-red-600 rounded-xl transition-colors disabled:opacity-50",children:ta?(0,s.jsx)(D.W,{size:18,className:"text-white mx-auto"}):"ìì "})]})]})]}),(0,s.jsx)(O.Z,{open:eP,busy:e_,title:"íì ".concat(ez.length,"ëª
ì 모ë ìì í ê¹ì?"),description:'"'.concat(ex,'"ì ê°ì¸ íì ëª
ë¨ì´ ë¹ìì§ëë¤. íêµ íì
ì ê³µì í íì ëª
ë¨\xb7ìë£ë ì ì§ë©ëë¤.'),consequences:["íìë³ ì±ì 기ë¡(ë´ì \xb7모ìê³ ì¬)","ì¶ê²° 기ë¡","ìë´ ì¼ì§","ì¸í¹\xb7íëí¹ì± ì´ì","ìì¨\xb7ì§ë¡ íë 기ë¡ê³¼ 첨ë¶íì¼","ì¤ë¬¸ ìëµ"],confirmLabel:"모ë ìì ",onConfirm:tw,onCancel:()=>eZ(!1)}),(0,s.jsx)(O.Z,{open:null!==eB,busy:e_,title:'"'.concat(eB,'" êµì¤ì ìì í ê¹ì?'),description:"ì´ êµì¤ì´ 주 íê¸ì¸ íìì ê°ì¸ 기ë¡ë ìì ë©ëë¤. íêµ íì
ì ê³µì í íì ëª
ë¨\xb7ìë£ë ì ì§ë©ëë¤.",consequences:["ì´ êµì¤ì ì리 ë°°ì¹ì ì§ ì§ì ","ì´ êµì¤ 기ì¤ì¼ë¡ ìì±í íê° ê¸°ë¡"],confirmLabel:"êµì¤ ìì ",onConfirm:ty,onCancel:()=>eR(null)})]})}},7888:function(e,t,r){r.d(t,{q:function(){return s}});function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ìì²ì ì²ë¦¬íì§ ëª»íìµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.",r=e instanceof Error?e.message:String(null!=e?e:""),s=r.toLowerCase();return s.trim()?/[ê°-í£]/.test(r)&&!/error|exception|prisma|econn|timeout|undefined|null|\bp\d{4}\b|stack|<|\bat\s/i.test(r)?r:s.includes("unauthorized")||s.includes("unauthenticated")||s.includes("ë¡ê·¸ì¸ ì¸ì
")?"ë¡ê·¸ì¸ì´ íìíê±°ë ì¸ì
ì´ ë§ë£ëììµëë¤. íì´ì§ë¥¼ ìë¡ê³ 침í ë¤ ë¤ì ìëí´ ì£¼ì¸ì.":s.includes("permission denied")||s.includes("forbidden")||s.includes("access denied")||s.includes(" 403")?"ì´ ìì
ì ìíí ê¶íì´ ììµëë¤.":s.includes("not found")||s.includes("no such")||s.includes("does not exist")?"ëìì ì°¾ì ì ììµëë¤. 목ë¡ì ìë¡ê³ 침í ë¤ ë¤ì ìëí´ ì£¼ì¸ì.":s.includes("transaction")&&(s.includes("closed")||s.includes("timeout")||s.includes("aborted")||s.includes("expired"))?"í ë²ì ì²ë¦¬í ìì´ ë§ì ìê°ì´ ì´ê³¼ëììµëë¤. ëë ì ë¤ì ìëí´ ì£¼ì¸ì.":s.includes("econnreset")||s.includes("econnrefused")||s.includes("fetch failed")||s.includes("socket hang up")||s.includes("enotfound")||s.includes("network")?"ìë² ì°ê²°ì´ ë¶ìì í©ëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.":s.includes("timeout")||s.includes("timed out")||s.includes("etimedout")?"ìë² ìëµ ìê°ì´ ì´ê³¼ëììµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.":s.includes("unique constraint")||s.includes("p2002")||s.includes("duplicate key")?"ì´ë¯¸ ë±ë¡ëì´ ìë í목ì
ëë¤.":s.includes("no file provided")||s.includes("file provided")?"íì¼ì´ 첨ë¶ëì§ ìììµëë¤. íì¼ì ì íí ë¤ ë¤ì ìëí´ ì£¼ì¸ì.":s.includes("prisma")||/\bp\d{4}\b/.test(s)||s.includes("database")||s.includes("column ")||s.includes("relation ")?"ë°ì´í°ë¥¼ ì ì¥íë ì¤ ë¬¸ì ê° ë°ìíìµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.":t:t}},60706:function(e,t,r){r.d(t,{T:function(){return s}});function s(e){let t=String(e).trim().replace(/[^0-9]/g,"");return/^\d{5}$/.test(t)?{grade:parseInt(t[0]),classNum:parseInt(t.slice(1,3)),number:parseInt(t.slice(3))}:/^\d{4}$/.test(t)?{grade:parseInt(t[0]),classNum:parseInt(t[1]),number:parseInt(t.slice(2))}:null}},74791:function(e,t,r){r.d(t,{DX:function(){return i},RM:function(){return n}});var s=r(60706);let a=["íë
","ë°","ë²í¸","ì´ë¦"];async function n(){let e=await Promise.all([r.e(1425),r.e(6919)]).then(r.bind(r,2093)),t=e.utils.book_new(),s=e.utils.aoa_to_sheet([a]);
1["A1","B1","C1","D1"].forEach(e=>{s[e]&&(s[e].s={alignment:{horizontal:"center"}})}),e.utils.book_append_sheet(t,s,"Sheet1"),e.writeFile(t,"ë´ëª¨_íìëª
ë¨_ìì.xlsx")}async function l(e){let t=await Promise.all([r.e(1425),r.e(6919)]).then(r.bind(r,2093)),a=t.read(new Uint8Array(e),{type:"array"}),n=a.SheetNames[0],l=a.Sheets[n],i=t.utils.sheet_to_json(l,{header:1}),d=-1,c={grade:-1,class:-1,number:-1,name:-1,memo:-1};for(let e=0;e<Math.min(i.length,5);e++){let t=i[e];if(Array.isArray(t)&&(t.forEach((e,t)=>{let r=String(e).trim();r.includes("íë
")&&(c.grade=t),("ë°"===r||r.includes("íê¸")||r.includes("ë°"))&&(c.class=t),r.includes("ë²í¸")&&(c.number=t),(r.includes("ì´ë¦")||r.includes("ì±ëª
"))&&(c.name=t),(r.includes("ë¹ê³ ")||r.includes("기ë¡")||r.includes("ë©ëª¨"))&&(c.memo=t)}),-1!==c.number&&-1!==c.name)){d=e;break}}let o=[];return(-1!==d?i.slice(d+1):i).forEach(e=>{let t,r;if(!Array.isArray(e)||0===e.length)return;let a=0,n="",l="",i="number"==typeof e[2]||/^\d+$/.test(e[2])?parseInt(e[2]):NaN,u=e[3];if(-1===d&&e.length>=4&&!isNaN(i)&&"string"==typeof u&&/^[ê°-í£a-zA-Z\s]{2,20}$/.test(u.trim()))t=parseInt(String(e[0]).replace(/[^0-9]/g,""))||void 0,r=String(e[1]).replace(/[^0-9]/g,""),a=i,n=u.trim();else if(-1!==d&&-1!==c.number&&-1!==c.name){let s=e[c.number],i=e[c.name];s&&i&&(a=parseInt(String(s).replace(/[^0-9]/g,"")),n=String(i).trim(),-1!==c.grade&&(t=parseInt(String(e[c.grade]).replace(/[^0-9]/g,""))||void 0),-1!==c.class&&(r=String(e[c.class]).replace(/[^0-9]/g,"")),-1!==c.memo&&(l=String(e[c.memo])))}else if(-1===d&&e.length>=2){let l=String(e[0]).trim(),i=String(e[1]).trim(),d=(0,s.T)(l);d&&/^[ê°-í£a-zA-Z\s]{2,20}$/.test(i)&&(t=d.grade,r=String(d.classNum),a=d.number,n=i)}n||e.forEach(e=>{if("number"!=typeof e||a){if("string"==typeof e){let t=e.trim();!a&&/^\d+$/.test(t)?a=parseInt(t):!n&&/^[ê°-í£a-zA-Z\s]{2,20}$/.test(t)&&(n=t.trim())}}else a=e}),a&&n&&o.push({number:a,name:n,memo:l,grade:t,classNum:r?parseInt(r,10):void 0})}),o.sort((e,t)=>{let r=(Number(e.grade)||0)-(Number(t.grade)||0);if(0!==r)return r;let s=(Number(e.classNum)||0)-(Number(t.classNum)||0);return 0!==s?s:(Number(e.number)||0)-(Number(t.number)||0)})}async function i(e){return l(await e.arrayBuffer())}}}]);
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.