1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7861],{35596:function(e,t,r){r.d(t,{Z:function(){return j}});var n=r(57437),a=r(2265),i=r(52345),s=r(59717),l=r(81906),o=r(33728),c=r(57586),d=r(13100),u=r(32489),x=r(46977),m=r(93448),h=r(21652),f=r(8345),p=r(82941);let b=0,g=[],v=0,w=!1;function k(){v++,window.history.back()}let y="";function j(e){let{isOpen:t,onClose:r,title:j,children:z,footer:N,className:C}=e,E=(0,a.useId)(),S=(0,i.J)(),M=(0,s.o)(),D=(0,l.c)(0);(0,a.useEffect)(()=>{t&&D.set(0)},[t,D]);let L=(0,o.H)(D,[0,240],[1,0]),T=(0,a.useRef)(r),I=(0,a.useRef)(!1);(0,a.useEffect)(()=>{T.current=r},[r]),(0,a.useEffect)(()=>{if(!t)return;b||(y=document.body.style.overflow),b++,w||(w=!0,window.addEventListener("popstate",e=>{var t;if((v>0||g.length>0)&&(0,f.l)(e),v>0){v--;return}null===(t=g.at(-1))||void 0===t||t.onPop()},{capture:!0}));let e={id:E,onPop:()=>{I.current&&(I.current=!1,T.current())}};g.push(e),document.body.style.overflow="hidden";let r=(0,h.UM)(),n=window.history.state||{};return r&&!I.current&&(window.history.pushState({...n,isBottomSheet:!0,sheetId:E},""),I.current=!0),()=>{var t;I.current&&(null===(t=window.history.state)||void 0===t?void 0:t.sheetId)===E&&(I.current=!1,k()),g.splice(g.indexOf(e),1),--b<=0&&(b=0,document.body.style.overflow=y)}},[t,E]);let A=(0,a.useCallback)(()=>{I.current&&(I.current=!1,k()),r()},[r]),Z=(0,x.a)(t,A),R=(0,a.useCallback)((e,t)=>{"pointercancel"!==e.type&&"touchcancel"!==e.type&&(t.velocity.y>500||t.offset.y>100)&&A()},[A]),F=(0,a.useRef)(null),P=(0,a.useRef)(null);return(0,a.useEffect)(()=>{if(!t)return;let e=F.current;if(!e)return;let r=[],n=function(t){let r=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(!e.contains(t)||P.current!==t)return;let n=e.getBoundingClientRect(),a=t.getBoundingClientRect(),i=(0,p.Wk)({top:a.top-n.top,bottom:a.bottom-n.top},e.clientHeight,12,12);0!==i&&e.scrollTo({top:Math.max(0,e.scrollTop+i),behavior:r?"smooth":"auto"})},a=e=>{let t=e.target;t&&("INPUT"===t.tagName||"TEXTAREA"===t.tagName||"SELECT"===t.tagName||t.isContentEditable)&&(P.current=t,n(t,!1),r.push(setTimeout(()=>n(t,!0),120)),r.push(setTimeout(()=>n(t,!0),300)),r.push(setTimeout(()=>n(t,!0),500)))},i=()=>{P.current=null},s=()=>{P.current&&n(P.current,!0)};e.addEventListener("focusin",a),e.addEventListener("focusout",i);let l=window.visualViewport;return null==l||l.addEventListener("resize",s),()=>{r.forEach(clearTimeout),e.removeEventListener("focusin",a),e.removeEventListener("focusout",i),null==l||l.removeEventListener("resize",s)}},[t]),(0,n.jsx)(c.M,{children:t&&(0,n.jsxs)("div",{className:"md:hidden fixed inset-x-0 z-[100] flex items-end",style:{top:"var(--vv-offset-top, 0px)",height:"var(--app-height)"},children:[(0,n.jsx)(d.E.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.22,ease:[.22,1,.36,1]},className:"absolute inset-0",children:(0,n.jsx)(d.E.div,{style:{opacity:L},onClick:A,className:"absolute inset-0 bg-black/50 backdrop-blur-sm"})}),(0,n.jsxs)(d.E.div,{style:{y:D,maxHeight:"90%"},initial:S?{opacity:0}:{y:"100%"},animate:{y:0,opacity:1},exit:S?{opacity:0}:{y:"100%"},transition:S?{duration:.12}:{type:"spring",damping:30,stiffness:320,mass:.8},drag:"y",dragListener:!1,dragControls:M,dragConstraints:{top:0},dragSnapToOrigin:!0,dragMomentum:!1,dragElastic:{top:.12,bottom:.75},onDragEnd:R,ref:Z,tabIndex:-1,"aria-label":j||"ìì¸ ì¤ì ",role:"dialog","aria-modal":"true",className:(0,m.cn)("relative w-full bg-white dark:bg-[#18181b] border-t border-transparent dark:border-white/[0.08] rounded-t-2xl","flex flex-col overflow-hidden mobile-sheet-pad shadow-2xl",C),children:[(0,n.jsxs)("div",{onPointerDown:e=>{e.target.closest("button")||M.start(e)},className:"shrink-0 cursor-grab active:cursor-grabbing touch-none select-none",children:[(0,n.jsx)("div",{className:"flex justify-center pt-3 pb-2",children:(0,n.jsx)("div",{className:"w-9 h-1 rounded-full bg-zinc-400/70 dark:bg-zinc-700"})}),(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 pb-2 border-b border-zinc-200/40 dark:border-zinc-800/60",children:[(0,n.jsx)("h3",{className:"text-[var(--mobile-font-h2)] font-semibold text-zinc-900 dark:text-zinc-100",children:j}),(0,n.jsx)("button",{type:"button",onClick:A,"aria-label":"ë«ê¸°",className:"flex h-11 w-11 items-center justify-center rounded-lg text-zinc-600 dark:text-zinc-300",children:(0,n.jsx)(u.Z,{size:20})})]})]}),(0,n.jsx)("div",{ref:F,className:"flex-1 overflow-y-auto overflow-x-hidden px-4 pt-3 pb-2 mobile-scroll mobile-sheet-scroll",children:z}),N&&(0,n.jsx)("div",{className:"shrink-0 px-4 pt-2.5 pb-1 border-t border-zinc-100 dark:border-zinc-800/80 bg-white/95 dark:bg-[#18181b]/95 backdrop-blur-md",children:N})]})]})})}},43059:function(e,t,r){r.d(t,{Lz:function(){return d},ZP:function(){return c}});var n=r(57437),a=r(93448);r(2265);var i=r(52345),s=r(13100),l=r(92846);let o={type:"spring",stiffness:450,damping:30,mass:.5};function c(e){let{children:t,className:r,onClick:c,hapticFeedback:d=!0}=e,u=(0,i.J)(),x=()=>{c&&(d&&l.MU.tap(),c())},m=(0,a.cn)("relative overflow-hidden","bg-white dark:bg-[#1C1C1E]","border border-zinc-200/70 dark:border-white/[0.08] shadow-[0_1px_3px_rgba(0,0,0,0.03)] dark:shadow-none","rounded-[var(--mobile-radius-card)]","p-4 transition-[background-color,border-color] duration-200",c&&"cursor-pointer touch-pan-y select-none",r);return c?(0,n.jsx)(s.E.div,{role:"button",tabIndex:0,whileTap:u?void 0:{scale:.975},transition:o,onClick:x,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),x())},className:m,style:{borderRadius:"var(--mobile-radius-card)"},children:t}):(0,n.jsx)("div",{className:m,style:{borderRadius:"var(--mobile-radius-card)"},children:t})}function d(e){let{children:t,className:r}=e;return(0,n.jsx)("div",{className:(0,a.cn)("flex items-center justify-between mb-2 text-zinc-900 dark:text-zinc-100",r),children:t})}},24754:function(e,t,r){r.d(t,{Z:function(){return f}});var n=r(57437),a=r(98907),i=r(2265),s=r(54887),l=r(32489),o=r(21047),c=r(99397),d=r(93448),u=r(98319),x=r(34137),m=r(43232);let h="live_ck_4yKeq5bgrpWgyX6jdZjZVGX0lzW6";function f(e){let{isOpen:t,onClose:r,currentBalance:f}=e,[p,b]=(0,i.useState)(!1),[g,v]=(0,i.useState)(1),[w,k]=(0,i.useState)(!1),[y,j]=(0,i.useState)(!1),{showToast:z}=(0,u.pm)(),N=100*g,C=8900*g;(0,i.useEffect)(()=>{b(!0);let e=(0,a.zN)(a._8);return e&&v((0,a.IL)(e.quantity)),()=>b(!1)},[]),(0,i.useEffect)(()=>{if(t){if(window.TossPayments)k(!0);else{let e=document.createElement("script");e.src="https://js.tosspayments.com/v2/standard",e.async=!0,e.onload=()=>k(!0),e.onerror=()=>z("ê²°ì ìì¤í
ì ë¶ë¬ì¤ëë° ì¤í¨íìµëë¤.","error"),document.head.appendChild(e)}}},[t,z]),(0,x.j)(r,t);let E=(0,i.useCallback)(()=>{let e=Date.now(),t=Math.random().toString(36).substring(2,8).toUpperCase();return"CREDIT-".concat(e,"-").concat(t)},[]),S=async()=>
1{if(!h){z("ê²°ì ìì¤í
ì´ ì¤ì ëì§ ìììµëë¤.","error");return}if(!w||!window.TossPayments){z("ê²°ì ìì¤í
ì ë¶ë¬ì¤ë ì¤ì
ëë¤.","info");return}j(!0);try{let e=window.TossPayments(h).payment({customerKey:"customer-".concat(Date.now())}),t=window.location.origin,r=(0,a.gA)(window.location.hash.slice(1));(0,a.$L)(a._8,{quantity:g,returnTo:r}),await e.requestPayment({method:"CARD",amount:{currency:"KRW",value:C},orderId:E(),orderName:"ë´ëª¨ í¬ë ë§ ".concat(N,"ê°"),successUrl:"".concat(t,"/payment/credit-success?quantity=").concat(g),failUrl:"".concat(t,"/payment/credit-fail?returnTo=").concat(r)})}catch(e){(null==e?void 0:e.code)!=="USER_CANCEL"&&z((null==e?void 0:e.message)||"ê²°ì ìì² ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}finally{j(!1)}};return t&&p?(0,s.createPortal)((0,n.jsx)("div",{className:"modal-viewport z-[300] flex items-center justify-center bg-black/60 backdrop-blur-sm p-4",onClick:e=>e.target===e.currentTarget&&r(),children:(0,n.jsxs)("div",{className:"relative w-full max-w-[400px] h-[540px] max-h-full bg-white dark:bg-[#0D0D0D] border border-zinc-200 dark:border-white/10 rounded-xl overflow-hidden animate-in fade-in zoom-in-95 duration-150 flex flex-col",children:[(0,n.jsx)("button",{"aria-label":"ë«ê¸°",onClick:r,className:"absolute top-4 right-4 p-1 text-zinc-400 hover:text-zinc-600 dark:hover:text-white transition-colors",children:(0,n.jsx)(l.Z,{size:18})}),(0,n.jsxs)("div",{className:"px-8 pb-4 pt-10 flex-1 flex flex-col overflow-y-auto",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm text-zinc-500 mb-3",children:"ì¶©ì íë í¬ë ë§"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("div",{className:"flex-1 h-12 bg-white dark:bg-white/5 border border-zinc-200 dark:border-white/10 rounded-lg flex items-center justify-center",children:(0,n.jsx)("span",{className:"text-xl font-semibold text-zinc-900 dark:text-white",children:N.toLocaleString()})}),(0,n.jsx)("button",{"aria-label":"ìë ì¤ì´ê¸°",onClick:()=>v(e=>Math.max(1,e-1)),disabled:g<=1,className:"w-12 h-12 flex items-center justify-center border border-zinc-200 dark:border-white/10 rounded-lg text-zinc-500 hover:text-zinc-700 dark:hover:text-white hover:border-zinc-300 dark:hover:border-white/20 hover:bg-zinc-50 dark:hover:bg-white/5 disabled:opacity-30 disabled:cursor-not-allowed transition",children:(0,n.jsx)(o.Z,{size:18})}),(0,n.jsx)("button",{"aria-label":"ìë ë리기",onClick:()=>v(e=>e+1),className:"w-12 h-12 flex items-center justify-center border border-zinc-200 dark:border-white/10 rounded-lg text-zinc-500 hover:text-zinc-700 dark:hover:text-white hover:border-zinc-300 dark:hover:border-white/20 hover:bg-zinc-50 dark:hover:bg-white/5 transition",children:(0,n.jsx)(c.Z,{size:18})})]}),(0,n.jsxs)("p",{className:"text-sm text-zinc-400 dark:text-zinc-500 mt-3",children:["AI ìí기ë¡ë¶ ìì± ê¸°ë¥ì ",N.toLocaleString(),"í ì´ì©í ì ìì´ì"]})]}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsxs)("div",{className:"space-y-3 mb-6",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center text-sm",children:[(0,n.jsx)("span",{className:"text-zinc-500",children:"ë³´ì í¬ë ë§:"}),(0,n.jsx)("span",{className:"text-zinc-700 dark:text-zinc-300 font-medium",children:f.toLocaleString()})]}),(0,n.jsxs)("div",{className:"flex justify-between items-center text-sm",children:[(0,n.jsx)("span",{className:"text-zinc-500",children:"ì¶©ì í¬ë ë§:"}),(0,n.jsxs)("span",{className:"text-zinc-700 dark:text-zinc-300 font-medium",children:["+",N.toLocaleString()]})]}),(0,n.jsxs)("div",{className:"flex justify-between items-center text-sm",children:[(0,n.jsx)("span",{className:"text-zinc-900 dark:text-white font-semibold",children:"ì¶©ì í í¬ë ë§:"}),(0,n.jsx)("span",{className:"text-zinc-900 dark:text-white font-bold",children:(f+N).toLocaleString()})]})]}),(0,n.jsx)("div",{className:"h-px bg-zinc-100 dark:bg-white/10 mb-6"}),(0,n.jsxs)("div",{className:"flex justify-between items-baseline mb-8",children:[(0,n.jsxs)("div",{className:"flex items-baseline gap-4",children:[(0,n.jsxs)("span",{className:"text-sm text-zinc-500",children:["100 í¬ë ë§ \xd7 ",g]}),(0,n.jsx)("span",{className:"text-sm text-zinc-500 font-medium",children:"ì´ ê²°ì ê¸ì¡"})]}),(0,n.jsxs)("span",{className:"text-xl font-bold text-zinc-900 dark:text-white",children:["â©",C.toLocaleStr
1ing()]})]}),(0,n.jsx)("div",{onClick:y?void 0:S,role:"button",tabIndex:y?-1:0,className:(0,d.cn)("w-full h-12 font-medium text-sm rounded-lg transition flex items-center justify-center gap-2 select-none",y?"bg-zinc-100 dark:bg-white/5 text-zinc-400 cursor-not-allowed":"bg-zinc-900 dark:bg-zinc-100 [color:#fff] dark:[color:#18181b] cursor-pointer"),onMouseEnter:e=>{y||(e.currentTarget.style.backgroundColor="#27272a")},onMouseLeave:e=>{y||(e.currentTarget.style.backgroundColor="")},children:y?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(m.O,{size:16,strokeWidth:3,className:"animate-spin"}),"ì²ë¦¬ ì¤"]}):"ê²°ì "}),(0,n.jsx)("div",{className:"mt-4 text-center",children:(0,n.jsxs)("p",{className:"text-[11px] text-zinc-400 dark:text-zinc-500",children:["ê²°ì ì ",(0,n.jsx)("a",{href:"/terms",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-zinc-600 dark:hover:text-zinc-400",children:"ì´ì©ì½ê´"}),"ì íì¸íìì¼ë©° ì´ì ëìí©ëë¤."]})})]})]})}),document.body):null}},53834:function(e,t,r){r.d(t,{W:function(){return o}});var n=r(57437),a=r(29),i=r.n(a),s=r(93448),l=r(43232);let o=e=>{let{size:t=32,speed:r=1.5,className:a="",withPulse:o=!1}=e;return(0,n.jsxs)("div",{style:{animation:"spin ".concat(r,"s linear infinite").concat(o?", pulse 2s ease-in-out infinite":"")},className:"jsx-ba9b38e61bef3f8b "+((0,s.cn)("brand-logo-loader inline-flex items-center justify-center",a)||""),children:[(0,n.jsx)(l.O,{size:t}),(0,n.jsx)(i(),{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}}"})]})}},67861:function(e,t,r){r.r(t),r.d(t,{default:function(){return el}});var n=r(57437),a=r(90982),i=r(2265),s=r(99397),l=r(51817),o=r(41671),c=r(76865),d=r(92735),u=r(40875),x=r(33245),m=r(54696),h=r(93448),f=r(4908),p=r(83008),b=r(67920),g=r(98319),v=r(39136),w=r(43232),k=r(53834),y=r(24754);let j=["ë´ì íê¸","ë´ìíê¸"],z=["ê²°ì","ì§ê°","ì¡°í´","ê²°ê³¼"];function N(e){return!e.some(e=>!!e.type&&z.includes(e.type))}var C=r(96214),E=r(9235),S=r(82374),M=r(39561),D=r(9244),L=r(7153),T=r(54292),I=r(92804),A=r(14064),Z=r(73247),R=r(32489),F=r(95805),P=r(10407),K=r(92451),_=r(30401),B=r(25450),O=r(43059),U=r(35596);function W(e){let{roster:t,isStudentsLoaded:r,getMemo:a,getDraft:s,setMemo:o,setDraft:u,savingKeys:x,dirtyKeys:m,failedKeys:h,onRetryFailed:f,generatingId:p,onGenerate:b,generationWarnings:g,targetRange:v,onTargetRangeChange:k,byteTarget:y,doneCount:j,recordsStatus:z,onRetryRecords:N,attendanceStatus:C,perfectAttendanceLineFor:E,lastYearLineFor:S,appendMemoLine:M,onExcelDownload:D,showAiCreditControls:L,creditBalance:P,onOpenCreditModal:K,onUndo:_,canUndo:O=!1}=e,[W,X]=(0,i.useState)("all"),[q,Y]=(0,i.useState)(null),[J,V]=(0,i.useState)(""),$=(0,i.useMemo)(()=>{let e=J.trim();return t.filter(t=>{if(e&&!t.name.includes(e)&&!String(t.number).startsWith(e))return!1;if("all"===W)return!0;let r=s(t.id).trim().length>0;return"done"===W?r:!r})},[t,W,s,J]),Q=(0,i.useMemo)(()=>q?t.findIndex(e=>e.id===q):-1,[t,q]),ee=Q>=0?t[Q]:null;(0,i.useEffect)(()=>{q&&Q<0&&Y(null)},[q,Q]);let et=(0,i.useCallback)(e=>{if(Q<0)return;let r=t[Q+e];r&&Y(r.id)},[Q,t]);return(0,n.jsxs)("div",{className:"flex flex-col h-full bg-[#FBFBF9] dark:bg-[#111]",children:[(0,n.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 mobile-scroll-bottom mobile-scroll",children:[(0,n.jsx)("div",{className:"pt-3 pb-1",children:(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,n.jsx)("div",{className:"min-w-0",children:"loading"===z?(0,n.jsxs)("p",{className:"flex items-center gap-1.5 text-[13px] text-zinc-400",children:[(0,n.jsx)(l.Z,{size:13,className:"animate-spin"}),"ìë£ íí©ì ë¶ë¬ì¤ë ì¤"]}):"error"===z?(0,n.jsxs)("p",{className:"flex flex-wrap items-center gap-1.5 text-[12px] text-red-500",children:[(0,n.jsx)(c.Z,{size:12,className:"shrink-0"}),"ìë£ íí©ì ë¶ë¬ì¤ì§ 못íìµëë¤.",(0,n.jsx)("button",{type:"button",onClick:N,className:"underline underline-offset-2 font-medium",children:"ë¤ì ìë"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("p",{className:"text-[15px] font-bold text-zinc-900 dark:text-white leading-tight",children:["ì´ì ",j,"ëª
ìë£",(0,n.jsxs)("span",{className:"font-medium text-zinc-400",children:[" / ",t.length,"ëª
"]})]}),(0,n.jsx)("p",{className:"text-[12px] text-zinc-400 mt-0.5",children:"íìì ëë¬ ê´ì°° ë©ëª¨ë¥¼ ë¨ê²¨ ë³´ì¸ì."})]})}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[_&&(0,n.jsx)("button",{type:"button",onClick:_,disabled:!O,"aria-label":"ë§ì§ë§ ë³ê²½ ëë리기",className:"flex items-center justify-center min-w-[44px] min-h-[44px] bg-white dark:bg-white/5 border border-zinc-200/60 dark:border-white/10 text-zinc-500 dark:text-zinc-300 rounded-2xl shadow-sm active:scale-[0.95] transition disabled:opacity-40",children:(0,n.jsx)(A.Z,{size:18})}),L&&(0,n.jsxs)("button",{type:"button",onClick:K,className:"flex items-center gap-1.5 min-h-[44px] px-3 bg-white dark:bg-white/5 border border-zinc-200/60 dark:border-white/10 text-zinc-600 dark:text-zinc-300 rounded-2xl shadow-sm active:scale-[0.95] transition",children:[(0,n.jsx)(w.O,{size:14,className:"text-zinc-900 dark:text-white"}),(0,n.jsx)("span",{className:"text-[13px] font-semibold",children:null!=P?P:"-"})]}),(0,n.jsx)("button",{type:"button",onClick:D,disabled:0===t.length,"aria-label":"ìì
ë¡ ë´ë ¤ë°ê¸°",className:"flex items-center justify-center min-w-[44px] min-h-[44px] bg-white dark:bg-white/5 border border-zinc-200/60 dark:border-white/10 text-zinc-500 dark:text-zinc-300 rounded-2xl shadow-sm active:scale-[0.95] transition disabled:opacity-40",children:(0,n.jsx)(d.Z,{size:18})})]})]})}),h&&h.size>0&&(0,n.jsxs)("div",{role:"alert",className:"mt-2 flex flex-wrap items-center gap-x-2 gap-y-1 rounded-xl border border-red-200 dark:border-red-900/50 bg-red-50 dark:bg-red-950/30 px-3 py-2",children:[(0,n.jsx)(c.Z,{size:13,className:"shrink-0 text-red-600 dark:text-red-400"}),(0,n.jsxs)("span",{className:"text-[12px] font-semibold text-red-700 dark:text-red-300 break-keep",children:[h.size,"ëª
ë¶
1ì´ ì ì¥ëì§ ìììµëë¤."]}),f&&(0,n.jsx)("button",{type:"button",onClick:f,className:"ml-auto min-h-[36px] px-3 rounded-lg text-[12px] font-bold text-red-700 dark:text-red-200 bg-white dark:bg-red-900/40 border border-red-200 dark:border-red-900/60 active:scale-[0.97] transition",children:"ë¤ì ìë"})]}),"error"===C&&(0,n.jsxs)("p",{className:"flex items-start gap-1.5 text-[11px] leading-snug text-zinc-400 mt-2",children:[(0,n.jsx)(c.Z,{size:12,className:"shrink-0 mt-[1px]"}),"ì¶ê²° 기ë¡ì ë¶ë¬ì¤ì§ ëª»í´ ê°ê·¼ ì¬ë¶ë¥¼ íì¸í ì ììµëë¤."]}),(0,n.jsxs)("div",{className:"sticky top-0 z-30 -mx-4 px-4 py-2 bg-[#FBFBF9]/90 dark:bg-[#111]/90 backdrop-blur-md",children:[(0,n.jsxs)("div",{className:"relative mb-2",children:[(0,n.jsx)(Z.Z,{size:16,className:"absolute left-3 top-1/2 -translate-y-1/2 text-zinc-400 dark:text-zinc-500 pointer-events-none","aria-hidden":"true"}),(0,n.jsx)("input",{type:"text",inputMode:"search",value:J,onChange:e=>V(e.target.value),"aria-label":"íì ì´ë¦ ëë ë²í¸ë¡ 찾기",placeholder:"ì´ë¦ ëë ë²í¸ë¡ 찾기",className:"w-full min-h-[44px] pl-9 pr-10 rounded-2xl bg-white dark:bg-white/5 border border-zinc-200/60 dark:border-white/10 text-[15px] text-zinc-900 dark:text-zinc-100 placeholder:text-zinc-400 dark:placeholder:text-zinc-500 shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500/60 transition"}),J&&(0,n.jsx)("button",{type:"button",onClick:()=>V(""),"aria-label":"ê²ìì´ ì§ì°ê¸°",className:"absolute right-1.5 top-1/2 -translate-y-1/2 flex items-center justify-center w-10 h-10 rounded-xl text-zinc-400 dark:text-zinc-400 active:bg-zinc-100 dark:active:bg-white/10 transition",children:(0,n.jsx)(R.Z,{size:16})})]}),(0,n.jsx)("div",{className:"flex flex-wrap items-center gap-1.5",children:[["all","ì ì²´ ".concat(t.length)],["todo","ìì± ì ".concat(t.length-j)],["done","ìë£ ".concat(j)]].map(e=>{let[t,r]=e;return(0,n.jsx)("button",{type:"button",onClick:()=>X(t),className:(0,B.Fk)(W===t,"flex-none whitespace-nowrap"),children:r},t)})})]}),r||0!==t.length?0===t.length?(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 px-6 text-zinc-400",children:[(0,n.jsx)("div",{className:"w-14 h-14 bg-zinc-100 dark:bg-white/5 rounded-full flex items-center justify-center mb-4",children:(0,n.jsx)(F.Z,{size:26})}),(0,n.jsxs)("p",{className:"text-[13px] leading-relaxed text-center",children:["ë´ì íê¸ì¼ë¡ ì§ì ë íìì´ ììµëë¤.",(0,n.jsx)("br",{}),"ì¤ì > íì ëª
ë¨ìì ë´ì íê¸ì 먼ì ì§ì í´ ì£¼ì¸ì."]})]}):0===$.length?(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-20 px-6 text-zinc-500 dark:text-zinc-400",children:[(0,n.jsx)("p",{className:"text-[13px] text-center break-keep",children:J.trim()?"'".concat(J.trim(),"'").concat((0,I.Ge)(J.trim(),"ê³¼","ì")," ë§ë íìì´ ììµëë¤."):"done"===W?"ì´ìì´ ìì±ë íìì´ ììµëë¤.":"ìì±í íìì´ ë¨ì§ ìììµëë¤."}),J.trim()&&(0,n.jsx)("button",{type:"button",onClick:()=>V(""),className:"min-h-[44px] px-4 rounded-2xl bg-white dark:bg-white/5 border border-zinc-200/60 dark:border-white/10 text-[13px] font-semibold text-zinc-700 dark:text-zinc-200 shadow-sm active:scale-[0.97] transition",children:"ê²ìì´ ì§ì°ê¸°"})]}):(0,n.jsx)("div",{className:"space-y-2.5 pt-1",children:$.map(e=>(0,n.jsx)(H,{student:e,memo:a(e.id),draft:s(e.id),byteTarget:y,isSaving:x.has(e.id),isDirty:m.has(e.id),hasFailed:!!(null==h?void 0:h.has(e.id)),isGenerating:p===e.id,onOpen:()=>Y(e.id)},e.id))}):(0,n.jsx)(T.r,{label:"íì ëª
ë¨ì ë¶ë¬ì¤ê³ ìì´ì"})]}),(0,n.jsx)(U.Z,{isOpen:!!ee,onClose:()=>Y(null),title:ee?"".concat(ee.number,"ë² ").concat(ee.name):void 0,children:ee&&(0,n.jsx)(G,{student:ee,memo:a(ee.id),draft:s(ee.id),onMemoChange:e=>o(ee.id,e),onDraftChange:e=>u(ee.id,e),isSaving:x.has(ee.id),isDirty:m.has(ee.id),isGenerating:p===ee.id,isAnyGenerating:!!p,onGenerate:()=>b(ee.id,ee.name),warning:g[ee.id],targetRange:v,onTargetRangeChange:k,byteTarget:y,attendanceStatus:C,perfectAttendanceLine:E(ee.id),lastYearLine:S(ee.id),onAppendMemoLine:e=>M(ee.id,e),hasPrev:Q>0,hasNext:Q>=0&&Q<t.length-1,onPrev:()=>et(-1),onNext:()=>et(1)},ee.id)})]})}function H(e){let{student:t,memo:r,draft:a,byteTarget:i,isSaving:s,isDirty:o,hasFailed:d=!1,isGenerating:u,onOpen:x}=e,m=r.trim().length>0,f=a.trim().length>0,p=f?(0,E.C)(a):0;return m||f||u?(0,n.jsxs)(O.ZP,{onClick:x,className:"!p-3.5",children:[(0,n.jsxs)(O.Lz,{className:"!mb-2.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,n.jsx)("span",{className:"flex items-center justify-center shrink-0 w-6 h-6 rounded-lg bg-zinc-100 dark:bg-white/10 text-[11px] font-bold text-zinc-500 dark:text-zinc-400",children:t.number}),(0,n.jsx)("span",{className:"text-[15px] font-bold text-zinc-900 dark:text-white truncate",children:t.name})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[d?(0,n.jsxs)("span",{className:"flex items-center gap-1 text-[11px] font-bold text-red-600 dark:text-red-400",children:[(0,n.jsx)(c.Z,{size:11}),"ì ì¥ ì ë¨"]}):u?(0,n.jsxs)("span",{className:"flex items-center gap-1 text-[11px] font-semibold text-zinc-500",children:[(0,n.jsx)(k.W,{size:11,className:"text-zinc-500"}),"ìì± ì¤"]}):s?(0,n.jsx)(l.Z,{size:13,className:"animate-spin text-blue-500"}):o?(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-500","aria-label":"ì ì¥ ë기 ì¤"}):null,(0,n.jsx)("span",{className:(0,h.cn)("px-2 py-0.5 rounded-full text-[10px] font-bold",f?"bg-emerald-500/12 text-emerald-700 dark:text-emerald-300":m?"bg-amber-500/12 text-amber-700 dark:text-amber-300":"bg-zinc-100 dark:bg-white/10 text-zinc-400"),children:f?"ì´ì ìë£":m?"ë©ëª¨ë§":"ë¹ì´ ìì"})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(X,{label:"ê´ì°° ë©ëª¨",value:r,emptyText:"ì ì´ ë ë©ëª¨ê° ììµëë¤",lineClamp:2}),(0,n.jsx)(X,{label:"ì´ì",value:a,emptyText:"ìì§ ì´ìì´ ììµëë¤",lineClamp:2,trailing:f?(0,n.jsxs)("span",{className:(0,h.cn)("text-[10px] font-mono shrink-0",p>i?"text-red-500":"text-emerald-600"),children:[p," / ",i]}):void 0})]})]}):(0,n.jsx)(O.ZP,{onClick:x,className:"!p-3 !py-2.5",children:(0,n.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,n.jsx)("span",{className:"flex items-center justify-center shrink-0 w-6 h-6 rounded-lg bg-zinc-100 dark:bg-white/10 text-[11px] font-bold text-zinc-500 dark:text-zinc-400",children:t.number}),(0,n.jsx)("span",{className:"text-[15px] font-semibold text-zinc-900 dark:text-white truncate",children:t.name}),(0,n.jsxs)("span",{className:"ml-auto shrink-0 flex items-center gap-1.5",children:[d?(0,n.jsx)("span",{className:"text-[11px] font-bold text-red-600 dark:text-red-400",children:"ì ì¥ ì ë¨"}):s?(0,n.jsx)(l.Z,{size:13,className:"animate-spin text-blue-500"}):o?(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-500","aria-label":"ì ì¥ ë기 ì¤"}):null,(0,n.jsx)("span",{className:"text-[12px] font-medium text-zinc-400 dark:text-zinc-500",children:"ë¹ì´ ìì"}),(0,n.jsx)(P.Z,{size:15,className:"text-zinc-300 dark:text-zinc-500","aria-hidden":"true"})]})]})})}function X(e){let{label:t,value:r,emptyText:a,lineClamp:i,trailing:s}=e,l=r.trim().length>0;return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-0.5",children:[(0,n.jsx)("span",{className:"text-[10px] font-bold tracking-wider text-zinc-400 dark:text-zinc-500",children:t}),s]}),(0,n.jsx)("p",{className:(0,h.cn)("text-[13px] leading-[1.55] whitespace-pre-wrap break-words",l?"text-zinc-700 dark:text-zinc-300":"text-zinc-400 dark:text-zinc-500",2===i?"line-clamp-2":"line-clamp-3"),children:l?r:a})]})}function G(e){let{student:t,memo:r,draft:a,onMemoChange:i,onDraftChange:s,isSaving:d,isDirty:u,isGenerating:x,isAnyGenerating:m,onGenerate:f,warning:p,targetRange:b,onTargetRangeChange:g,byteTarget:v,attendanceStatus:w,perfectAttendanceLine:y,lastYearLine:j,onAppendMemoLine:z,hasPrev:N,hasNext:C,onPrev:S,onNext:M}=e,D=!r.trim(),L=(0,E.C)(a),T=!!y&&r.includes(y),I=!!j&&r.includes(j);return(0,n.jsxs)("div",{className:"space-y-5 pb-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 -mt-1",children:[(0,n.jsxs)("p",{className:"text-[11px] font-medium text-zinc-400 dark:text-zinc-500",children:[t.grade?"".concat(t.grade,"íë
"):"",t.classNum?"".concat(t.classNum,"ë° "):"",t.number,"ë²"]}),(0,n.jsx)("span",{className:"flex items-center gap-1 text-[11px] font-medium text-zinc-400 dark:text-zinc-500",children:d?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.Z,{size:11,className:"animate-spin text-blue-500"}),"ì ì¥ ì¤"]}):u?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-500"}),"ì ì¥ ë기 ì¤"]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.Z,{size:11,className:"text-emerald-500"}),"ì ì¥ë¨"]})})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("label",{htmlFor:"behavior-memo",className:"block text-[11px] font-bold tracking-wider text-zinc-500 dark:text-zinc-400",children:"ê´ì°° ë©ëª¨"}),(0,n.jsx)("textarea",{id:"behavior-memo",value:r,onChange:e=>i(e.target.value),placeholder:"í í´ ëì ëì ë¨ì 모ìµì ìì ë¡ê² ì ì´ ì£¼ì¸ì. ì¬ë¬ ì¤ë¡ ì ì´ë ë©ëë¤.",rows:6,className:"w-full px-3.5 py-3 bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-xl text-[16px] leading-[1.6] text-zinc-900 dark:text-zinc-100 placeholder:text-zinc-400 dark:placeholder:text-zinc-500 focus:outline-none focus:border-blue-500 resize-none"}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,n.jsx)(q,{label:T?"ê°ê·¼ 문구 ë£ì":"ê°ê·¼ 문구 ë£ê¸°",inserted:T,disabled:"loaded"!==w||!y||T,onClick:()=>y&&z(y)}),(0,n.jsx)(q,{label:I?"ìë
í¤ìë ë£ì":"ìë
íëí¹ì± ê°ì ¸ì
1¤ê¸°",inserted:I,disabled:!j||I,onClick:()=>j&&z(j)})]}),(0,n.jsx)("p",{className:"text-[11px] leading-snug text-zinc-400 dark:text-zinc-500",children:"loading"===w?"ì¶ê²° 기ë¡ì ë¶ë¬ì¤ë ì¤ì
ëë¤.":"error"===w?"ì¶ê²° 기ë¡ì ë¶ë¬ì¤ì§ ëª»í´ ê°ê·¼ ì¬ë¶ë¥¼ íì¸í ì ììµëë¤.":y||j?"ì´ë¯¸ ì ì´ ë ë©ëª¨ë ì§ì°ì§ ìê³ ìëì í ì¤ë¡ ë¶ìµëë¤.":"ì´ íììê² ë£ì ê°ê·¼ 문구ë ìë
í¤ìëê° ììµëë¤."})]}),(0,n.jsxs)("div",{className:"space-y-2.5 pt-1 border-t border-zinc-100 dark:border-zinc-800",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3 pt-3",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold tracking-wider text-zinc-500 dark:text-zinc-400",children:"ì´ì ë¶ë"}),(0,n.jsx)("div",{className:"flex items-center gap-1 p-0.5 bg-zinc-100 dark:bg-zinc-800 rounded-xl",children:["900","1500"].map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>g(e),className:(0,h.cn)("px-3 min-h-[34px] rounded-[10px] text-[12px] font-bold transition active:scale-[0.96]",b===e?"bg-white dark:bg-zinc-700 text-zinc-900 dark:text-zinc-100 shadow-sm":"text-zinc-400 dark:text-zinc-500"),children:[e,"byte"]},e))})]}),(0,n.jsx)("button",{type:"button",onClick:f,disabled:D||m,className:"w-full flex items-center justify-center gap-2 min-h-[50px] bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 font-bold rounded-xl shadow-lg shadow-zinc-900/10 active:scale-[0.98] transition disabled:opacity-40 disabled:shadow-none",children:x?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k.W,{size:16,className:"text-white dark:text-zinc-900"}),(0,n.jsx)("span",{children:"ìì± ì¤"})]}):(0,n.jsx)("span",{children:"AIë¡ ì´ì ìì±"})}),D&&(0,n.jsx)("p",{className:"text-[11px] text-zinc-400 dark:text-zinc-500 text-center",children:"ê´ì°° ë©ëª¨ë¥¼ 먼ì ì ì´ ì£¼ì¸ì."})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,n.jsx)("label",{htmlFor:"behavior-draft",className:"text-[11px] font-bold tracking-wider text-zinc-500 dark:text-zinc-400",children:"ì´ì"}),(0,n.jsxs)("span",{className:(0,h.cn)("text-[11px] font-mono font-medium",L>v?"text-red-500 dark:text-red-400":"text-emerald-600 dark:text-emerald-400"),children:[L," / ",v,"byte"]})]}),(0,n.jsx)("textarea",{id:"behavior-draft",value:a,onChange:e=>s(e.target.value),disabled:x,placeholder:"AIë¡ ì´ìì ë§ë¤ê±°ë ì§ì ì ì´ ì£¼ì¸ì.",rows:10,className:"w-full px-3.5 py-3 bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-xl text-[16px] leading-[1.7] text-zinc-900 dark:text-zinc-100 placeholder:text-zinc-400 dark:placeholder:text-zinc-500 focus:outline-none focus:border-blue-500 resize-none disabled:opacity-60"}),p&&(0,n.jsxs)("p",{className:"flex items-start gap-1.5 text-[11px] leading-snug text-amber-600 dark:text-amber-400",children:[(0,n.jsx)(c.Z,{size:12,className:"shrink-0 mt-[1px]"}),p]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[(0,n.jsxs)("button",{type:"button",onClick:S,disabled:!N,className:"flex-1 flex items-center justify-center gap-1 min-h-[44px] bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 text-zinc-600 dark:text-zinc-300 rounded-xl text-[13px] font-semibold active:scale-[0.97] transition disabled:opacity-40",children:[(0,n.jsx)(K.Z,{size:16}),"ì´ì íì"]}),(0,n.jsxs)("button",{type:"button",onClick:M,disabled:!C,className:"flex-1 flex items-center justify-center gap-1 min-h-[44px] bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 text-zinc-600 dark:text-zinc-300 rounded-xl text-[13px] font-semibold active:scale-[0.97] transition disabled:opacity-40",children:[(0,n.jsx)(P.Z,{size:16}),"ë¤ì íì"]})]})]})}function q(e){let{label:t,inserted:r,disabled:a,onClick:i}=e;return(0,n.jsxs)("button",{type:"button",onClick:i,disabled:a,className:(0,h.cn)("flex items-center gap-1 px-3 min-h-[36px] rounded-2xl text-[12px] font-semibold border transition active:scale-[0.96]",r?"bg-emerald-500/10 border-emerald-500/20 text-emerald-700 dark:text-emerald-300":"bg-white dark:bg-zinc-800 border-zinc-200 dark:border-zinc-700 text-zinc-600 dark:text-zinc-300",a&&!r&&"opacity-40"),children:[r?(0,n.jsx)(_.Z,{size:13}):(0,n.jsx)(s.Z,{size:13,className:"text-zinc-400 dark:text-zinc-500"}),t]})}var Y=r(64954),J=r(25997),V=r(69813);let $={sources:[],draft:""},Q=e=>e.sources.join("\n"),ee=e=>e.trim().length>0?[e]:[],et=e=>e&&"string"==typeof e?e.replace(/\*\*/g,"").replace(/\*/g,"").replace(/__/g,"").trim():e,er=e=>{let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(r,"-").concat(n)},en="saemo.behaviorMemoColWidth.v1",ea="í í´ ëì ê°ê·¼íì¬ ìí ì ë°ì ì±ì¤í¨ì´ ëë¬ë¨",ei="ìë
íëí¹ì± ì°¸ê³ í¤ìë: ";
1function es(e){let{onClick:t,label:r,description:a,disabled:i}=e;return(0,n.jsxs)("button",{type:"button",onClick:t,disabled:i,className:(0,h.cn)("w-full flex items-start gap-2 px-3 py-2 text-left transition-colors",i?"opacity-50 cursor-not-allowed":"hover:bg-zinc-100 dark:hover:bg-white/5"),children:[(0,n.jsx)(s.Z,{size:14,className:"shrink-0 mt-0.5 text-zinc-400"}),(0,n.jsxs)("span",{className:"min-w-0",children:[(0,n.jsx)("span",{className:"block text-sm font-medium text-zinc-800 dark:text-zinc-100",children:r}),(0,n.jsx)("span",{className:"block text-[11px] leading-snug text-zinc-500 dark:text-zinc-400 mt-0.5 font-normal",children:a})]})]})}function el(){let{students:e,isLoaded:t}=(0,f.AF)(),s=(0,b.XC)(),{showToast:z}=(0,g.pm)(),{openSettings:T}=(0,J.Y)(),I=(0,m.Dv)(),A=(0,f.fc)(),Z=S.H&&!I&&A,R=(0,M.g)(),F=Z&&!R,[P,K]=(0,i.useState)("900"),[_,B]=(0,i.useState)(null),[O,U]=(0,i.useState)({}),[H,X]=(0,i.useState)({}),[G,q]=(0,i.useState)("loading"),[el,eo]=(0,i.useState)(null),[ec,ed]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let e=new URLSearchParams(window.location.search);if("1"!==e.get("resumeCredit"))return;ed(!0),e.delete("resumeCredit");let t=e.toString();window.history.replaceState(window.history.state,"","".concat(window.location.pathname).concat(t?"?".concat(t):"").concat(window.location.hash))},[]);let[eu,ex]=(0,i.useState)("loading"),[em,eh]=(0,i.useState)(0),[ef,ep]=(0,i.useState)(320),eb=(0,i.useRef)(null),[eg,ev]=(0,i.useState)(!1),ew=(0,i.useRef)(null),[ek,ey]=(0,i.useState)(null),[ej,ez]=(0,i.useState)(!1),[eN,eC]=(0,i.useState)(null),[eE,eS]=(0,i.useState)(null),eM=(0,i.useRef)(null),eD=(0,i.useRef)(!1),eL=(0,i.useRef)(null),eT=(0,i.useRef)([]),[eI,eA]=(0,i.useState)(0),eZ=(0,i.useRef)(null),eR=(0,i.useMemo)(()=>e.filter(e=>{var t;return!!(t=e.homeClassId)&&j.includes(t)}).sort((e,t)=>e.number-t.number),[e]),{setItem:eF,hydrateItem:eP,getItem:eK,savingKeys:e_,dirtyKeys:eB,failedKeys:eO,recoveredKeys:eU,flushAll:eW}=(0,v.M)({storageKeyPrefix:"behavior-record",debounceMs:1e3,onSave:async(e,t)=>!!I||(await (0,p.X)("upsertBehaviorRecord",{studentId:e,sources:t.sources,draft:t.draft},s)).success,enableLocalStorage:!I}),eH=(0,i.useCallback)(e=>eK(e,$),[eK]),eX=(0,i.useRef)(eW);(0,i.useEffect)(()=>{eX.current=eW},[eW]),(0,i.useEffect)(()=>{let e=()=>{"hidden"===document.visibilityState&&eX.current()},t=()=>eX.current();return document.addEventListener("visibilitychange",e),window.addEventListener("pagehide",t),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("pagehide",t)}},[]),(0,i.useEffect)(()=>{if(I){let e=!1;return ex("loading"),(async()=>{var t,r,n;let a=await (0,C.getGuestData)();if(!e){for(let e of null!==(t=null==a?void 0:a.behaviorRecords)&&void 0!==t?t:[])eU.has(e.studentId)||eP(e.studentId,{sources:null!==(r=e.sources)&&void 0!==r?r:[],draft:null!==(n=e.draft)&&void 0!==n?n:""});ex("loaded")}})(),()=>{e=!0}}let e=!1;return ex("loading"),(async()=>{let t=await (0,p.X)("getBehaviorRecords",{},s);if(!e){if(!t.success||!t.data){ex("error");return}for(let e of t.data)eU.has(e.studentId)||eP(e.studentId,{sources:e.sources,draft:e.draft});ex("loaded")}})(),()=>{e=!0}},[s,eP,eU,em,I]),(0,i.useEffect)(()=>{if(I){let e=!1;return q("loading"),(async()=>{var t,r,n;let a=await (0,C.getGuestData)();if(e)return;let i={};for(let e of null!==(t=null==a?void 0:a.attendanceRecords)&&void 0!==t?t:[])(null!==(n=i[r=e.studentId])&&void 0!==n?n:i[r]=[]).push({type:e.type});X(i),q("loaded")})(),()=>{e=!0}}let e=!1;return q("loading"),(async()=>{let{start:t,end:r}=function(){let e=new Date,t=e.getFullYear(),r=2>e.getMonth()?t-1:t,n=new Date(r,2,1),a=new Date(r+1,2,0);return{start:er(n),end:er(a)}}(),n=await (0,p.X)("getAttendanceRecords",{startDate:t,endDate:r,take:5e3},s);if(e)return;let a=n.data;if(n.success&&a&&a.length<5e3){let e={};for(let t of a){var i,l;(null!==(l=e[i=t.studentId])&&void 0!==l?l:e[i]=[]).push({type:t.type})}X(e),q("loaded")}else q("error")})(),()=>{e=!0}},[s,I]);let eG=(0,i.useCallback)(async()=>{if(I){eo(5);return}try{let e=await fetch("/api/credits");if(e.ok){let t=await e.json();eo(t.balance)}}catch(e){console.error("Failed to fetch credits:",e)}},[I]);(0,i.useEffect)(()=>{eG()},[eG]);let eq=eR.filter(e=>eH(e.id).draft.trim().length>0).length,eY=Number(P),eJ=(0,i.useCallback)(t=>{let r=e.find(e=>e.id===t),n=null==r?void 0:r.lifeRecordAnalysis,a=n&&"object"==typeof n?n.behaviorKeywords:void 0;return Array.isArray(a)?a.filter(e=>"string"==typeof e).map(e=>et(e)).filter(e=>e.trim().length>0):[]},[e]),eV=(0,i.useMemo)(()=>eR.some(e=>eJ(e.id).length>0),[eR,eJ]),e$=(0,i.useCallback)((e,t)=>{let r=eH(e);return 0===t?Q(r):r.draft},[eH]),eQ=(0,i.useCallback)((e,t,r)=>{eF(e,e=>{let n=null!=e?e:$;return 0===t?{...n,sources:ee(r)}:{...n,draft:r}})},[eF]),e0=(0,i.useCallback)(()=>{let e={};eR.forEach(t=>
1{e[t.id]=eH(t.id)}),eT.current.push(e),eT.current.length>20&&eT.current.shift(),eA(eT.current.length)},[eR,eH]),e1=(0,i.useCallback)((e,t,r)=>{e$(e,t)!==r&&(eZ.current&&clearTimeout(eZ.current),eZ.current=setTimeout(()=>{e0()},500)),eQ(e,t,r)},[e$,eQ,e0]),e5=(0,i.useCallback)(()=>{eZ.current&&(clearTimeout(eZ.current),eZ.current=null);let e=eT.current.pop();eA(eT.current.length),e&&Object.entries(e).forEach(e=>{let[t,r]=e;return eF(t,r)})},[eF]),e2=(0,i.useCallback)(async()=>{if(!ek)return;let e=Math.min(ek.start.row,ek.end.row),t=Math.max(ek.start.row,ek.end.row),r=Math.min(ek.start.col,ek.end.col),n=Math.max(ek.start.col,ek.end.col),a=[];for(let i=e;i<=t;i++){let e=eR[i];if(!e)continue;let t=[];for(let a=r;a<=n;a++)t.push((0,h.vB)(e$(e.id,a)));a.push(t.join(" "))}try{await navigator.clipboard.writeText(a.join("\r\n"))}catch(e){console.error("Failed to copy",e)}},[ek,eR,e$]),e3=(0,i.useCallback)((e,t)=>{let r=null!=t?t:ek?{row:Math.min(ek.start.row,ek.end.row),col:Math.min(ek.start.col,ek.end.col)}:null;if(!r)return;let n=(0,h.R3)(e);if(0===n.length)return;let a=!!t;if(a&&1===n.length&&1===n[0].length)return;e0(),a&&n.length>1&&!e.includes(" ")&&(n=[[n.map(e=>e[0]).join("\n")]]);let i=n.length,s=t||null===ek||ek.start.row===ek.end.row?i:Math.abs(ek.end.row-ek.start.row)+1;for(let e=0;e<s;e++){let t=eR[r.row+e];if(!t)break;let a=n[e%i];a&&a.forEach((e,n)=>{let a=r.col+n;a>1||eQ(t.id,a,null!=e?e:"")})}},[ek,eR,e0,eQ]),e4=(0,i.useCallback)(()=>{if(!ek)return;e0();let e=Math.min(ek.start.row,ek.end.row),t=Math.max(ek.start.row,ek.end.row),r=Math.min(ek.start.col,ek.end.col),n=Math.max(ek.start.col,ek.end.col),a=0;for(let i=e;i<=t;i++){let e=eR[i];if(e)for(let t=r;t<=n;t++)e$(e.id,t)&&a++,eQ(e.id,t,"")}a>0&&z(1===a?"칸ì ë¹ì ìµëë¤.":"".concat(a,"ê° ì¹¸ì ë¹ì ìµëë¤."),"info",{label:"ì¤í ì·¨ì",onClick:e5})},[ek,eR,e0,eQ,e$,z,e5]),e6=(e,t,r)=>{var n,a;let i=eM.current;i&&i.row===t&&i.col===r||((null===(a=e.target)||void 0===a?void 0:null===(n=a.dataset)||void 0===n?void 0:n.gridEditor)!=="true"&&e.preventDefault(),i&&tl(),ta(),ez(!0),eC({row:t,col:r}),ey({start:{row:t,col:r},end:{row:t,col:r}}))},e9=(e,t)=>{if(ej&&eN){if(eN.row!==e||eN.col!==t){var r;null===(r=window.getSelection())||void 0===r||r.removeAllRanges()}ey({start:eN,end:{row:e,col:t}})}},e8=(0,i.useCallback)(()=>{ez(!1),eC(null)},[]);(0,i.useEffect)(()=>(window.addEventListener("mouseup",e8),()=>window.removeEventListener("mouseup",e8)),[e8]);let e7=(e,t)=>{if(!ek)return!1;let r=Math.min(ek.start.row,ek.end.row),n=Math.max(ek.start.row,ek.end.row),a=Math.min(ek.start.col,ek.end.col),i=Math.max(ek.start.col,ek.end.col);return e>=r&&e<=n&&t>=a&&t<=i},te=(e,t)=>{var r;return 1===t&&(null===(r=eR[e])||void 0===r?void 0:r.id)===_},tt=(()=>{if(!ek)return null;let{start:e,end:t}=ek;return e.row!==t.row||e.col!==t.col||!eR[e.row]||te(e.row,e.col)?null:e})(),tr=(e,t)=>(null==tt?void 0:tt.row)===e&&(null==tt?void 0:tt.col)===t,tn=(e,t)=>(null==eE?void 0:eE.row)===e&&(null==eE?void 0:eE.col)===t,ta=()=>{eD.current=!0};(0,i.useEffect)(()=>{var e;if(!eD.current||(eD.current=!1,!tt))return;let t=null===(e=eL.current)||void 0===e?void 0:e.querySelector('[data-grid-editor="true"]');if(!t||(t!==document.activeElement&&t.focus({preventScroll:!0}),eM.current))return;let r=t.value.length;t.setSelectionRange(r,r)});let ti=e=>{var t,r;null===(r=eL.current)||void 0===r||null===(t=r.querySelector('[data-grid-row="'.concat(e,'"]')))||void 0===t||t.scrollIntoView({block:"nearest"})},ts=(e,t)=>{let r=Math.max(0,Math.min(eR.length-1,e)),n=Math.max(0,Math.min(1,t));ey({start:{row:r,col:n},end:{row:r,col:n}}),ta(),ti(r)},tl=()=>{eM.current=null,eS(null)},to=(e,t)=>{var r,n;((null===(r=eM.current)||void 0===r?void 0:r.row)!==e||(null===(n=eM.current)||void 0===n?void 0:n.col)!==t)&&(!eR[e]||te(e,t)||(ey({start:{row:e,col:t},end:{row:e,col:t}}),eM.current={row:e,col:t},eS({row:e,col:t}),ta()))},tc=(e,t,r)=>{if(eM.current)return;if(e.detail>=2){to(t,r);return}let n=e.currentTarget,a=n.value.length;n.setSelectionRange(a,a)},td=(e,t)=>{eM.current||to(e,t)},tu=e=>{tp(e.target),tl()},tx=(e,t)=>{if(!ek)return!1;let r=ek.start.row===ek.end.row&&ek.start.col===ek.end.col;if(r&&("Enter"===e.key||"F2"===e.key))return e.preventDefault(),to(ek.start.row,ek.start.col),!0;if("ArrowUp"===e.key||"ArrowDown"===e.key||"ArrowLeft"===e.key||"ArrowRight"===e.key){e.preventDefault();let{row:t,col:r}=ek.end;return"ArrowUp"===e.key?t-=1:"ArrowDown"===e.key?t+=1:"ArrowLeft"===e.key?r-=1:r+=1,t=Math.max(0,Math.min(eR.length-1,t)),r=Math.max(0,Math.min(1,r)),e.shiftKey?(ey({start:ek.start,end:{row:t,col:r}}),ti(t)):ts(t,r),!0}if("Tab"===e.key){e.preventDefault();let{row:t,col:r}=ek.end;return ts(t,r+(e.shiftKey?-1:1)),!0}return"Delete"===e.key||"Backspace"===e.key?(e.preventDefault(),e4(),!0):(e.metaKey||e.ctrlKey)&&
1("c"===e.key||"C"===e.key)?(e.preventDefault(),e2(),!0):!!(!(null==t?void 0:t.yieldTyping)&&r&&(0,V.E$)(e))&&(e.preventDefault(),to(ek.start.row,ek.start.col),!0)},tm=(0,i.useRef)(tx);tm.current=tx;let th=(e,t,r)=>{var n,a,i,s;if(e.nativeEvent.isComposing)return;if((e.metaKey||e.ctrlKey)&&("z"===e.key||"Z"===e.key)){e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),e5();return}if(!tn(t,r)||(null===(n=eM.current)||void 0===n?void 0:n.col)!==r||(null===(a=eM.current)||void 0===a?void 0:a.row)!==t){tx(e,{yieldTyping:!0})&&e.nativeEvent.stopImmediatePropagation();return}if("Enter"===e.key){if(e.preventDefault(),(0,V.xQ)({key:e.key,altKey:e.altKey,shiftKey:e.shiftKey,multiline:!0})){(0,V.yl)(e.currentTarget);return}e.nativeEvent.stopImmediatePropagation(),tl(),ts(t+1,r);return}if("Escape"===e.key){e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),tl(),ts(t,r);return}if("Tab"===e.key){e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),tl(),ts(t,r+(e.shiftKey?-1:1));return}let l=(0,V.Ud)({key:e.key,value:e.currentTarget.value,selectionStart:null!==(i=e.currentTarget.selectionStart)&&void 0!==i?i:0,selectionEnd:null!==(s=e.currentTarget.selectionEnd)&&void 0!==s?s:0,shiftKey:e.shiftKey});l&&(e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),tl(),ts(t+l.rowDelta,r+l.colDelta))};(0,i.useEffect)(()=>{let e=e=>{if((e.metaKey||e.ctrlKey)&&"z"===e.key){e.preventDefault(),e5();return}if(!ek||eM.current)return;let t=document.activeElement;t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement||tm.current(e)},t=e=>{var t;if(!ek||eM.current)return;let r=document.activeElement;!(r instanceof HTMLElement&&"true"===r.dataset.gridEditor)&&r instanceof HTMLElement&&r.blur(),e.preventDefault(),e3((null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text"))||"")};return window.addEventListener("keydown",e),window.addEventListener("paste",t),()=>{window.removeEventListener("keydown",e),window.removeEventListener("paste",t)}},[e2,e3,e4,e5,ek]),(0,i.useEffect)(()=>{if(!eg)return;let e=e=>{ew.current&&!ew.current.contains(e.target)&&ev(!1)},t=e=>{"Escape"===e.key&&ev(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[eg]),(0,i.useEffect)(()=>{try{let e=Number(window.localStorage.getItem(en));Number.isFinite(e)&&e>0&&ep(Math.max(160,Math.min(720,e)))}catch(e){}},[]),(0,i.useEffect)(()=>{let e=setTimeout(()=>{try{320===ef?window.localStorage.removeItem(en):window.localStorage.setItem(en,String(ef))}catch(e){}},300);return()=>clearTimeout(e)},[ef]),(0,i.useEffect)(()=>{let e=e=>{let t=eb.current;t&&ep(Math.max(160,Math.min(720,t.startWidth+(e.clientX-t.startX))))},t=()=>{eb.current=null};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t)}},[]);let tf="54px",tp=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e){if(t){e.style.height=tf;return}e.style.height="auto",e.style.height="".concat(e.scrollHeight,"px")}},tb=e=>tp(e.target),tg=async(e,t)=>{if(I){window.dispatchEvent(new CustomEvent("open-login-modal"));return}if((0,D.Ig)()){z(L.Ad,"info");return}if(_)return;let r=eH(e),n=Q(r);if(!n.trim()){z("ê´ì°° ë©ëª¨ë¥¼ 먼ì ì
ë ¥í´ ì£¼ì¸ì.","warning");return}document.activeElement instanceof HTMLElement&&document.activeElement.blur();let a=function(e){var t;let r=e.memos.map(e=>e.trim()).filter(e=>e.length>0);e.includePerfectAttendance&&r.push("í í´ ëì ê²°ì\xb7ì§ê°\xb7ì¡°í´\xb7ê²°ê³¼ê° ìë ê°ê·¼ì");let n=(null!==(t=e.lastYearKeywords)&&void 0!==t?t:[]).map(e=>e.trim()).filter(e=>e.length>0);return n.length>0&&r.push("ìë
íëí¹ì± ì°¸ê³ í¤ìë: ".concat(n.join(", "))),r}({memos:n.split("\n"),includePerfectAttendance:!1});B(e),U(t=>{if(!(e in t))return t;let r={...t};return delete r[e],r});try{let n=await (0,p.X)("generateBehaviorDraft",{studentId:e,studentName:t,sources:a,memos:r.sources,targetRange:P},s,{timeout:6e5});if(n.success&&n.data){let r=n.data;eF(e,e=>({...null!=e?e:$,draft:r.draft})),"number"==typeof r.remainingCredits&&eo(r.remainingCredits),r.warning&&U(t=>({...t,[e]:r.warning})),z("".concat(t," íëí¹ì± ì´ìì ìì±íìµëë¤."),"success")}else n.needCredit?ed(!0):z(n.error||"AI ìì± ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}catch(e){console.error("[íëí¹ì±] AI ìì± ì¤í¨:",e),z("AI ìì± ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}finally{B(null)}},tv=(0,i.useCallback)((e,t)=>{if(0===e.length){z(t.none,"info");return}let r=e.filter(e=>!Q(eH(e.id)).includes(e.line));if(0===r.length){z(t.already,"info");return}
1e0(),r.forEach(e=>{let{id:t,line:r}=e;eF(t,e=>{let t=null!=e?e:$,n=Q(t);return n.includes(r)?t:{...t,sources:ee(n.trim()?"".concat(n,"\n").concat(r):r)}})}),z(t.done(r.length),"success")},[eH,e0,eF,z]),tw=(0,i.useCallback)(()=>{"loaded"===G&&tv(eR.filter(e=>{var t;return N(null!==(t=H[e.id])&&void 0!==t?t:[])}).map(e=>({id:e.id,line:ea})),{none:"ê°ê·¼ì¸ íìì´ ììµëë¤.",already:"ê°ê·¼ì¸ íìì ê´ì°° ë©ëª¨ì ì´ë¯¸ ë¤ì´ê° ììµëë¤.",done:e=>"ê°ê·¼ì¸ íì ".concat(e,"ëª
ì ê´ì°° ë©ëª¨ì ë£ììµëë¤.")})},[G,eR,H,tv]),tk=(0,i.useCallback)(()=>{tv(eR.map(e=>({id:e.id,keywords:eJ(e.id)})).filter(e=>e.keywords.length>0).map(e=>({id:e.id,line:"".concat(ei).concat(e.keywords.join(", "))})),{none:"ìë
íëí¹ì± í¤ìëê° ìë íìì´ ììµëë¤.",already:"í´ë¹ íìì ê´ì°° ë©ëª¨ì ì´ë¯¸ ë¤ì´ê° ììµëë¤.",done:e=>"íì ".concat(e,"ëª
ì ê´ì°° ë©ëª¨ì ìë
í¤ìë를 ë£ììµëë¤.")})},[eR,eJ,tv]),ty=(0,i.useCallback)(e=>{var t;return"loaded"!==G?null:N(null!==(t=H[e])&&void 0!==t?t:[])?ea:null},[G,H]),tj=(0,i.useCallback)(e=>{let t=eJ(e);return t.length>0?"".concat(ei).concat(t.join(", ")):null},[eJ]),tz=(0,i.useCallback)((e,t)=>{tv([{id:e,line:t}],{none:"ë£ì ë´ì©ì´ ììµëë¤.",already:"ê´ì°° ë©ëª¨ì ì´ë¯¸ ë¤ì´ê° ììµëë¤.",done:()=>"ê´ì°° ë©ëª¨ì ë£ììµëë¤."})},[tv]),tN=(0,i.useCallback)(async()=>{let e=await Promise.all([r.e(1425),r.e(6919)]).then(r.bind(r,2093)),t=eR.map(e=>{var t,r;return[null!==(t=e.grade)&&void 0!==t?t:"",null!==(r=e.classNum)&&void 0!==r?r:"",e.number,e.name,eH(e.id).draft]}),n=e.utils.aoa_to_sheet([["íë
","ë°","ë²í¸","ì´ë¦","ì´ì"],...t]),a=e.utils.book_new();e.utils.book_append_sheet(a,n,"íëí¹ì±"),e.writeFile(a,"íëí¹ì±_".concat((0,h.RJ)(),".xlsx"))},[eR,eH]),tC=(e,t,r,a)=>{let{value:i,disabled:s,showBytes:d,warning:u}=a,x=e_.has(e),m=eB.has(e),f=d?(0,E.C)(i):0;return(0,n.jsx)("td",{"data-grid-row":t,onMouseDown:e=>e6(e,t,r),onDoubleClick:()=>to(t,r),onMouseEnter:()=>e9(t,r),className:(0,h.cn)("p-0 border-r border-zinc-300 dark:border-white/5 border-b border-zinc-300 dark:border-white/10","hover:bg-black/5 dark:hover:bg-white/[0.02] focus-within:bg-black/5 dark:focus-within:bg-white/5","align-top transition-colors select-none",e7(t,r)&&"ring-1 ring-inset ring-blue-500 z-20",e7(t,r)&&!tn(t,r)&&"bg-blue-500/10 dark:bg-blue-500/20"),children:(0,n.jsxs)("div",{className:(0,h.cn)("relative group/draft h-full min-h-[54px]",s&&"cursor-not-allowed"),children:[(0,n.jsxs)("div",{className:(0,h.cn)("absolute inset-0 px-2 pt-1.5 text-sm text-black dark:text-gray-300 pointer-events-none select-none flex flex-col transition-opacity",tr(t,r)&&"opacity-0 invisible"),children:[(0,n.jsx)("div",{className:"w-full whitespace-nowrap overflow-hidden",style:{textOverflow:"clip"},children:i.split("\n")[0]}),(i.includes("\n")||i.length>30)&&(0,n.jsx)("div",{className:"text-black dark:text-white text-[10px] leading-none mt-1 font-medium opacity-70",children:"... ë 보기"})]}),tr(t,r)&&(0,n.jsx)("textarea",{"data-grid-editor":"true",value:i,onChange:n=>{td(t,r),e1(e,r,n.target.value),tp(n.target)},onBeforeInput:()=>td(t,r),onCompositionStart:()=>td(t,r),onMouseUp:e=>tc(e,t,r),onFocus:tb,onBlur:tu,onKeyDown:e=>th(e,t,r),onPaste:e=>{eM.current||(e.preventDefault(),e.nativeEvent.stopPropagation(),e3(e.clipboardData.getData("text"),{row:t,col:r}))},style:{height:tf},className:(0,h.cn)("w-full bg-transparent border border-transparent rounded-none px-2 pt-1.5 pb-6 text-sm leading-[1.6]","text-black dark:text-gray-300 focus:outline-none focus:ring-0 resize-none overflow-hidden block",tn(t,r)?"caret-black dark:caret-white":"caret-transparent selection:bg-transparent")}),(0,n.jsx)("div",{className:"absolute top-2 right-2 opacity-0 group-hover/draft:opacity-100 transition-opacity pointer-events-none",children:x?(0,n.jsx)(l.Z,{size:12,className:"animate-spin text-blue-500"}):m?(0,n.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-amber-500",title:"ì ì¥ ë기 ì¤"}):i?(0,n.jsx)(o.Z,{size:12,className:"text-green-500 opacity-40"}):null}),d&&(0,n.jsxs)("div",{className:"absolute bottom-1 right-2 flex items-center gap-1 pointer-events-none opacity-50 group-hover/draft:opacity-100",children:[u&&(0,n.jsx)(c.Z,{size:10,
1className:"text-amber-500"}),(0,n.jsxs)("span",{className:(0,h.cn)("text-[9px] font-mono",f>eY?"text-red-400":"text-green-500"),children:[f," / ",eY]})]})]})})};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"md:hidden block h-full",children:(0,n.jsx)(W,{roster:eR,isStudentsLoaded:t,getMemo:e=>Q(eH(e)),getDraft:e=>eH(e).draft,setMemo:(e,t)=>e1(e,0,t),setDraft:(e,t)=>e1(e,1,t),savingKeys:e_,dirtyKeys:eB,failedKeys:eO,onRetryFailed:()=>{eW()},generatingId:_,onGenerate:tg,generationWarnings:O,targetRange:P,onTargetRangeChange:K,byteTarget:eY,doneCount:eq,recordsStatus:eu,onRetryRecords:()=>eh(e=>e+1),attendanceStatus:G,perfectAttendanceLineFor:ty,lastYearLineFor:tj,appendMemoLine:tz,onExcelDownload:tN,showAiCreditControls:F,creditBalance:el,onOpenCreditModal:()=>ed(!0),onUndo:e5,canUndo:eI>0})}),(0,n.jsxs)("div",{className:"md:flex hidden h-full flex-col p-6 gap-5 overflow-hidden",children:[(0,n.jsxs)("header",{className:"shrink-0 flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between",children:[(0,n.jsxs)("div",{className:"ml-2",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold text-zinc-900 dark:text-white",children:"íëí¹ì± ë° ì¢
í©ì견"}),"loading"===eu?(0,n.jsxs)("p",{className:"flex items-center gap-1.5 text-sm text-zinc-500 dark:text-[#888] mt-1",children:[(0,n.jsx)(l.Z,{size:13,className:"animate-spin"}),"ìë£ íí©ì ë¶ë¬ì¤ë ì¤..."]}):"error"===eu?(0,n.jsxs)("p",{className:"flex items-center gap-2 text-sm text-red-500 mt-1",children:[(0,n.jsx)(c.Z,{size:13,className:"shrink-0"}),"ìë£ íí©ì ë¶ë¬ì¤ì§ 못íìµëë¤.",(0,n.jsx)("button",{type:"button",onClick:()=>eh(e=>e+1),className:"underline underline-offset-2 hover:text-red-600",children:"ë¤ì ìë"})]}):(0,n.jsxs)("p",{className:"text-sm text-zinc-500 dark:text-[#888] mt-1",children:["ê´ì°° ë©ëª¨ë¥¼ ë¨ê¸°ê³ ì´ìì ë§ë¤ì´ ë³´ì¸ì. ìë£ ",eq," / ì ì²´ ",eR.length]})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-3 shrink-0",children:[(0,n.jsxs)("button",{type:"button",onClick:tN,disabled:0===eR.length,className:"flex items-center gap-1.5 h-[38px] px-3 bg-[#f2f2ec] dark:bg-[#1A1A1A] border border-zinc-200 dark:border-white/5 text-zinc-600 dark:text-zinc-400 hover:text-black dark:hover:text-white hover:bg-[#EEEEE8] dark:hover:bg-[#222] rounded-lg transition text-sm font-medium whitespace-nowrap shrink-0 disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,n.jsx)(d.Z,{size:16}),(0,n.jsx)("span",{children:"ìì
"})]}),F&&(0,n.jsxs)("button",{type:"button",onClick:()=>ed(!0),className:"flex items-center gap-2 h-[38px] pl-3 pr-3.5 bg-[#f2f2ec] dark:bg-[#18181b] border border-gray-200 dark:border-white/10 text-gray-600 dark:text-zinc-400 hover:text-black dark:hover:text-white hover:bg-[#EEEEE8] rounded-lg transition text-sm font-medium shrink-0",children:[(0,n.jsx)(w.O,{size:16,className:"text-black dark:text-white"}),"í¬ë ë§ ",null!=el?el:"-"]})]})]}),"error"===G&&(0,n.jsxs)("p",{className:"shrink-0 flex items-center gap-1.5 text-xs text-zinc-400 dark:text-zinc-500",children:[(0,n.jsx)(c.Z,{size:12,className:"shrink-0"}),"ì¶ê²° 기ë¡ì ë¶ë¬ì¤ì§ ëª»í´ ê°ê·¼ ì¬ë¶ë¥¼ íì¸í ì ììµëë¤."]}),(0,n.jsx)("div",{ref:eL,className:"flex-1 overflow-y-auto custom-scrollbar",children:(t||0!==eR.length)&&"loading"!==eu?0===eR.length?(0,n.jsx)("div",{className:"h-full flex items-center justify-center p-8",children:(0,n.jsx)(Y.Z,{size:"lg",title:"ë´ì íê¸ íìì´ ììµëë¤",description:"ì¤ì > íì ëª
ë¨ìì ë´ì íê¸ì 먼ì ì§ì í´ ì£¼ì¸ì.",action:(0,n.jsx)("button",{onClick:()=>T("student-list"),className:"px-6 py-2.5 bg-zinc-900 hover:bg-black dark:bg-white dark:hover:bg-zinc-100 text-white dark:text-zinc-900 rounded-xl text-sm font-semibold transition-all shadow-sm active:scale-95 cursor-pointer",children:"ë´ì íê¸ ì¤ì í기"})})}):(0,n.jsxs)("table",{className:"w-full border-collapse table-fixed",children:[(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:48}}),(0,n.jsx)("col",{style:{width:104}}),(0,n.jsx)("col",{style:{width:ef}}),(0,n.jsx)("col",{}),(0,n.jsx)("col",{style:{width:96}})]}),(0,n.jsx)("thead",{className:"sticky top-0 z-30 bg-white dark:bg-[#0D0D0D]",children:(0,n.jsxs)("tr",{className:"border-b border-t border-zinc-200 dark:border-white/10",children:[(0,n.jsx)("th",{className:"text-center text-xs font-medium text-zinc-500 dark:text-[#666] py-3 px-2",children:"ë²í¸"}),(0,n.jsx)("th",{className:"text-center text-xs font-medium text-zinc-500 dark:text-[#666] py-3 px-2",children:"ì´ë¦"}),(0,n.jsxs)("th",{className:"relative text-center text-xs font-medium text-zinc-500 dark:text-[#666] py-3 px-2",children:[(0,n.jsxs)("div",{ref:ew,className:"inline-flex items-center gap-1",children:[(0,n.jsx)("span",{children:"ê´ì°° ë©ëª¨"}),(0,n.jsx)("button",{type:"button",onClick:()=>ev(e=>!e),"aria-haspopup":"menu","aria-expanded":eg,"aria-label":"ê´ì°° ë©ëª¨ ì±ì ë£ê¸°",title:"ì¬ë¬ íìì ê´ì°° ë©ëª¨ë¥¼ í꺼ë²ì ì±ì ë£ìµëë¤",className:(0,h.cn)("flex items-center justify-center w-4 h-4 rounded transition-colors",eg?"text-zinc-800 dark:text-white bg-zinc-200 dark:bg-white/10":"text-zinc-400 hover:text-zinc-800 dark:hover:text-white hover:bg-zinc-200/70 dark:hover:bg-white/10"),children:(0,n.jsx)(u.Z,{size:12})}),eg&&(0,n.jsxs)("div",{role:"menu",className:"absolute left-1/2 -translate-x-1/2 top-full mt-1 z-50 w-[248px] py-1 rounded-lg border border-zinc-200 dark:border-white/10 bg-white dark:bg-[#1A1A1A] shadow-lg",children:[(0,n.jsx)(es,{onClick:()=>{ev(!1),tw()},label:"ê°ê·¼ 문구 ë£ê¸°",disabled:"loaded"!==G,description:"loading"===G?"ì¶ê²° 기ë¡ì ë¶ë¬ì¤ë ì¤ì
ëë¤.":"error"===G?"ì¶ê²° 기ë¡ì ë¶ë¬ì¤ì§ ëª»í´ ê°ê·¼ ì¬ë¶ë¥¼ íì¸í ì ììµëë¤.":'ê°ê·¼ì¸ íììê² "'.concat(ea,'"ì ë£ìµëë¤.')}),(0,n.jsx)(es,{onClick:()=>{ev(!1),tk()}
1,label:"ìë
íëí¹ì± ê°ì ¸ì¤ê¸°",disabled:!eV,description:eV?"ìë
ì기ë¶ìì ì¶ì¶ë íëí¹ì± í¤ìë를 ì¶ê°í©ëë¤.":"ìë
ì기ë¶ìì ì¶ì¶ë íëí¹ì± í¤ìëê° ìë íìì´ ììµëë¤. íì ê´ë¦¬ìì ìë
ì기ë¶ë¥¼ ì¬ë¦¬ë©´ ì¸ ì ììµëë¤."}),(0,n.jsxs)("p",{className:"flex items-start gap-1.5 px-3 pt-1.5 pb-1 text-[11px] leading-snug text-zinc-400 dark:text-zinc-500 border-t border-zinc-100 dark:border-white/5 mt-1 text-left font-normal",children:[(0,n.jsx)(x.Z,{size:12,className:"shrink-0 mt-[1px]"}),(0,n.jsx)("span",{children:"ì´ë¯¸ ì ì´ ë ë©ëª¨ë ì§ì°ì§ ìê³ ìëì í ì¤ë¡ ë¶ìµëë¤."})]})]})]}),(0,n.jsx)("span",{role:"separator","aria-label":"ê´ì°° ë©ëª¨ ì´ ëë¹ ì¡°ì ",onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),eb.current={startX:e.clientX,startWidth:ef}},onDoubleClick:()=>ep(320),title:"ëì´ì ëë¹ ì¡°ì (ë ë² í´ë¦íë©´ 기본ê°)",className:"absolute top-0 right-0 h-full w-2 translate-x-1/2 cursor-col-resize hover:bg-toss-blue/30 active:bg-toss-blue/50 transition-colors"})]}),(0,n.jsx)("th",{className:"text-center text-xs font-medium text-zinc-500 dark:text-[#666] py-3 px-2",children:(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,n.jsx)("span",{children:"ì´ì"}),(0,n.jsxs)("div",{className:"relative inline-flex items-center text-blue-400",children:[(0,n.jsxs)("select",{value:P,onChange:e=>K(e.target.value),"aria-label":"ì´ì ë¶ë ì í",className:"appearance-none bg-transparent border-none pr-3.5 py-1 text-[11px] font-bold text-blue-400 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 cursor-pointer text-center",children:[(0,n.jsx)("option",{value:"1500",children:"1500byte"}),(0,n.jsx)("option",{value:"900",children:"900byte"})]}),(0,n.jsx)(u.Z,{size:10,className:"absolute right-0 top-1/2 -translate-y-1/2 pointer-events-none opacity-60"})]})]})}),(0,n.jsx)("th",{className:"text-center text-xs font-medium text-zinc-500 dark:text-[#666] py-3 px-2",children:"ìì±"})]})}),(0,n.jsx)("tbody",{children:eR.map((e,t)=>{let r=eH(e.id),a=Q(r),i=!a.trim(),s=_===e.id;return(0,n.jsxs)("tr",{className:"border-b border-zinc-200 dark:border-white/5",children:[(0,n.jsx)("td",{className:"py-3 px-2 text-center text-sm text-zinc-500 dark:text-[#888] border-r border-zinc-200 dark:border-white/5 align-middle",children:e.number}),(0,n.jsx)("td",{className:"py-2.5 px-2 border-r border-zinc-200 dark:border-white/5 align-middle",children:(0,n.jsx)("span",{className:"block text-center text-sm text-zinc-900 dark:text-white font-medium truncate",children:e.name})}),tC(e.id,t,0,{value:a}),tC(e.id,t,1,{value:r.draft,disabled:s,showBytes:!0,warning:O[e.id]}),(0,n.jsx)("td",{className:"p-0 text-center border-b border-zinc-200 dark:border-white/10 align-middle",children:(0,n.jsx)("div",{className:"py-1.5 px-1 flex items-center justify-center",children:(0,n.jsx)("button",{type:"button",onClick:()=>tg(e.id,e.name),disabled:i||!!_,title:i?"ê´ì°° ë©ëª¨ë¥¼ 먼ì ì
ë ¥í´ ì£¼ì¸ì.":void 0,className:"px-3 py-1 bg-zinc-100 hover:bg-zinc-200 dark:bg-zinc-200 dark:hover:bg-zinc-300 text-black border border-zinc-200 dark:border-zinc-300 rounded-full transition text-[11px] font-medium whitespace-nowrap shadow-sm disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-1.5",children:s?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k.W,{size:12,className:"text-zinc-600 dark:text-zinc-400"}),(0,n.jsx)("span",{children:"ìì± ì¤"})]}):(0,n.jsx)("span",{children:"AI ìì±"})})})})]},e.id)})})]}):(0,n.jsx)(a.ContentLoadingState,{variant:"table",label:"íëí¹ì± 기ë¡ì ë¶ë¬ì¤ê³ ìì´ì"})})]}),F&&(0,n.jsx)(y.Z,{isOpen:ec,onClose:()=>ed(!1),currentBalance:null!=el?el:0,onChargeComplete:e=>{eo(e),ed(!1)}})]})}},9235:function(e,t,r){r.d(t,{C:function(){return n}});function n(e){if(!e)return 0;let t=e.replace(/\r?\n/g,"\r\n"),r=0;for(let e=0;e<t.length;e++)r+=t.charCodeAt(e)>255?2:1;let n=t.length;return(r-n)*2+n}},82374:function(e,t,r){r.d(t,{H:function(){return n}});let n=!0},92804:function(e,t,r){r.d(t,{Ge:function(){return n}});function n(e,t,r){return!function(e){let t=e.trim().slice(-1);if(!t)return!1;let r=t.charCodeAt(0);return r>=44032&&r<=55203?(r-44032)%28!=0:t>="0"&&t<="9"&&["0","1","3","6","7","8"].includes(t)}(e)?r:t}},25450:function(e,t,r){r.d(t,{Fk:function(){return a}});var n=r(93448);function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];return(0,n.cn)("inline-flex items-center justify-center h-8 px-3 rounded-full text-[13px] transition active:scale-[0.96]",e?"bg-white dark:bg-[#1C1C1E] text-zinc-900 dark:text-zinc-100 font-semibold border border-zinc-200/90 dark:border-white/[0.12] shadow-[0_1px_2px_rgba(0,0,0,0.04)]":"bg-zinc-100/80 dark:bg-zinc-800/60 text-zinc-500 dark:text-zinc-400 font-medium border border-transparent",...r)}},98907:function(e,t,r){r.d(t,{$L:function(){return d},As:function(){return i},IL:function(){return l},Kl:function(){return s},_8:function(){return a},_l:function(){return n},gA:function(){return o},zN:function(){return c}});let n="naemo-checkout-draft",a="naemo-credit-draft",i=!1;function s(e){return i&&"SUBSCRIPTION"===e?"SUBSCRIPTION":"ONETIME"}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return"number"==typeof e&&Number.isSafeInteger(e)&&e>0?e:t}function o(e){return"string"==typeof e&&["evaluation-record","behavior-record","activity"].includes(e)?e:"evaluation-record"}function c(e){try{let t=JSON.parse(sessionStorage.getItem(e)||"null");return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch(e){return null}}function d(e,t){try{sessionStorage.setItem(e,JSON.stringify(t))}catch(e){}}}}]);
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.