1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9717],{49717:function(e,t,n){n.d(t,{Z:function(){return eu}});var i=n(57437),s=n(2265),l=n(66318),a=n(76435);n(90583),n(53362);let r=e=>({type:"transform",scale:e,calcStyle:e=>({transform:"translate(".concat(Math.round(e.left),"px,").concat(Math.round(e.top),"px)"),width:"".concat(Math.round(e.width),"px"),height:"".concat(Math.round(e.height),"px"),position:"absolute"}),calcDragPosition:(t,n,i,s)=>({left:(t-i)/e,top:(n-s)/e})});function c(e){let{children:t,layouts:n,onLayoutChange:s,isDraggable:c=!1,isResizable:d=!1,transformScale:o=1}=e,{width:x,containerRef:u,mounted:m}=(0,l.e4)(),h=1!==o?r(o):void 0;return(0,i.jsx)("div",{ref:u,className:"w-full",children:m&&(0,i.jsx)(a.ub,{className:"layout",layouts:n,breakpoints:{lg:1024,md:700,sm:500,xs:300,xxs:0},cols:{lg:3,md:3,sm:2,xs:1,xxs:1},rowHeight:180,margin:[16,16],containerPadding:[0,0],dragConfig:{enabled:c,handle:".dashboard-drag-handle",cancel:".no-drag",threshold:2},resizeConfig:{enabled:d},onLayoutChange:s,positionStrategy:h,width:x,children:t})})}var d=n(22606),o=n(93448);function x(e){let{title:t,action:n,children:s,className:l,icon:a,flush:r=!1}=e;return(0,i.jsxs)("div",{className:(0,o.cn)("bg-white dark:bg-[#191919] rounded-lg overflow-hidden flex flex-col shadow-sm dark:shadow-none",l),children:[(0,i.jsxs)("div",{className:"flex justify-between items-center px-4 py-3 shrink-0",children:[(0,i.jsxs)("h3",{className:"font-bold text-zinc-900 dark:text-zinc-200 text-sm flex items-center gap-2",children:[a&&(0,i.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:a}),t]}),n]}),(0,i.jsx)("div",{className:(0,o.cn)("flex-1 min-h-0 flex flex-col",r?"":"px-4 pb-4"),children:s})]})}function u(e){let{label:t,value:n,color:s}=e;return(0,i.jsxs)("div",{className:"bg-zinc-50 dark:bg-[#27272A] rounded-md py-3 text-center border border-zinc-100 dark:border-transparent",children:[(0,i.jsx)("div",{className:(0,o.cn)("text-xl font-bold",s?({rose:"text-rose-600 dar
1k:text-rose-500",amber:"text-amber-600 dark:text-amber-500",emerald:"text-emerald-600 dark:text-emerald-500",zinc:"text-zinc-600 dark:text-zinc-400",purple:"text-purple-600 dark:text-purple-500",cyan:"text-cyan-600 dark:text-cyan-500"})[s]:"text-zinc-900 dark:text-white"),children:n}),(0,i.jsx)("div",{className:"text-[10px] text-zinc-500 dark:text-zinc-500 font-medium",children:t})]})}var m=n(45675),h=n(70809);function f(e){let{timetableView:t,setTimetableView:n,timetableData:l,todayInfo:a,onReload:r,w:c=1,h:d=2}=e,{openSettings:u}=(0,h.Y)(),f=c*d>=8;return(0,i.jsx)(x,{title:"my"===t?"ëì ìê°í":"íê¸ ìê°í",className:"md:h-full h-auto",action:(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsxs)("div",{className:"relative flex items-center bg-zinc-100 dark:bg-zinc-800/50 p-0.5 rounded-full dashboard-timetable-toggle w-[72px] h-[22px]",children:[(0,i.jsx)("div",{className:(0,o.cn)("absolute top-0.5 bottom-0.5 w-[calc(50%-2px)] bg-white dark:bg-zinc-600 rounded-full shadow-sm transition-all duration-300 ease-in-out pointer-events-none","my"===t?"left-0.5":"left-[calc(50%)]")}),(0,i.jsxs)("div",{className:"absolute inset-0.5 flex pointer-events-none z-10",children:[(0,i.jsx)("div",{className:(0,o.cn)("flex-1 flex items-center justify-center text-[11px] font-medium transition-colors","my"===t?"text-zinc-900 dark:text-white":"text-zinc-500"),children:"ê°ì¸"}),(0,i.jsx)("div",{className:(0,o.cn)("flex-1 flex items-center justify-center text-[11px] font-medium transition-colors","class"===t?"text-zinc-900 dark:text-white":"text-zinc-500"),children:"íê¸"})]}),(0,i.jsxs)("div",{className:"absolute inset-0.5 flex z-20",children:[(0,i.jsx)("button",{onClick:()=>{n("my")},className:"flex-1 h-full cursor-pointer bg-transparent opacity-0","aria-label":"ê°ì¸ ìê°í ì í"}),(0,i.jsx)("button",{onClick:()=>{n("class")},className:"flex-1 h-full cursor-pointer bg-transparent opacity-0","aria-label":"íê¸ ìê°í ì í"})]})]}),(0,i.jsx)("button",{onClick:()=>u("timetable",void 0,{onClose:r}),className:"hidden md:block p-1 rounded transition-colors dashboard-timetable-edit-btn text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800",title:"ìê°í ì¤ì ",children:(0,i.jsx)(m.Z,{size:14})})]}),children:(0,i.jsxs)("div",{className:"grid grid-cols-6 grid-rows-[auto_repeat(7,1fr)] gap-1 text-center md:h-full h-auto pb-1",children:[(0,i.jsx)("div",{className:(0,o.cn)("text-zinc-600 py-1 bg-zinc-900/30 rounded dashboard-timetable-header text-[11px]",f?"md:text-sm":""),children:"êµì"}),["ì","í","ì","목","ê¸"].map((e,t)=>{let n=a.index===t+1;return(0,i.jsx)("div",{className:(0,o.cn)("font-medium py-1 rounded transition-colors timetable-today-header dashboard-timetable-header text-[11px]",f?"md:text-sm":"",n?"bg-[#2883DE]/20 text-[#2883DE]":"bg-zinc-900/30 text-zinc-500"),children:e},e)}),Array.from({length:7},(e,t)=>t+1).map(e=>(0,i.jsxs)(s.Fragment,{children:[(0,i.jsx)("div",{className:(0,o.cn)("flex items-center justify-center text-zinc-600 font-mono bg-zinc-900/30 rounded dashboard-timetable-header text-[11px]",f?"md:text-sm":""),children:e}),["mon","tue","wed","thu","fri"].map(t=>{let n="".concat(t,"-").concat(e),s=l[n],r=t===a.key;return(0,i.jsx)("div",{className:(0,o.cn)("rounded transition-colors px-1 flex items-center justify-center timetable-today-cell text-center leading-tight min-h-[36px] md:min-h-0 text-[11px]",f?"md:text-base md:font-medium":"",s?"dashboard-timetable-cell-value":"dashboard-timetable-cell-empty",r?s?"bg-[#2883DE]/30 text-white ring-1 ring-[#2883DE]/30":"bg-[#2883DE]/10 text-zinc-600":s?"bg-[#FAFAFA] dark:bg-[#27272A] text-zinc-700 dark:text-zinc-300 border border-zinc-100 dark:border-transparent":"bg-zinc-900/30 text-zinc-700"),children:(0,i.jsx)("span",{className:"whitespace-pre-wrap break-keep",children:s||""})},n)})]},e))]})})}function b(e){let{memo:t,onMemoChange:n,onMemoBlur:s}=e;return(0,i.jsx)(x,{title:"ë©ëª¨",className:"md:h-full md:min-h-0 h-auto min-h-[200px]",children:(0,i.jsx)("textarea",{className:"w-full flex-1 min-h-0 md:h-full h-auto bg-transparent resize-none focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 text-zinc-600 dark:text-zinc-300 text-sm leading-relaxed p-0 placeholder:text-zinc-300",placeholder:"기ë¡íê³ ì¶ì ë´ì©ì ë©ëª¨íì¸ì...",value:t,onChange:n,onBlur:s})})}function p(e){let{events:t,isGuest:n}=e,s=n?"2026-03-12":(0,o.RJ)(),l=t.filter(e=>e.date>=s);
1return(0,i.jsx)(x,{title:"ë¤ê°ì¤ë ì¼ì ",className:"md:h-full h-auto",children:0===l.length?(0,i.jsx)("div",{className:"py-6 text-center text-zinc-500 dark:text-zinc-400 text-xs",children:"ìì ë ì¼ì ìì"}):(0,i.jsx)("div",{className:"space-y-2 md:h-full md:overflow-y-auto h-auto overflow-visible pr-1 custom-scrollbar",children:l.sort((e,t)=>e.date.localeCompare(t.date)).map(e=>{let t=new Date(e.date),n=e.endDate?new Date(e.endDate):null,s=n&&e.endDate!==e.date;return(0,i.jsxs)("div",{className:"flex items-center justify-between bg-zinc-50 dark:bg-[#27272A] px-3 py-2 rounded-md border border-zinc-100 dark:border-transparent",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,i.jsx)("span",{className:(0,o.cn)("w-1.5 h-1.5 rounded-full shrink-0","green"===e.tag?"bg-emerald-500":"red"===e.tag?"bg-rose-500":"bg-zinc-400")}),(0,i.jsx)("span",{className:"text-xs text-zinc-800 dark:text-zinc-300 truncate font-medium",children:e.title})]}),(0,i.jsx)("span",{className:"text-xs text-zinc-400 shrink-0 ml-2",children:s?"".concat(t.getMonth()+1,"ì ").concat(t.getDate(),"ì¼ ~ ").concat(n.getMonth()+1,"ì ").concat(n.getDate(),"ì¼"):"".concat(t.getMonth()+1,"ì ").concat(t.getDate(),"ì¼")})]},e.id)})})})}var g=n(46173);function v(e){let{stats:t,records:n,isGuest:s,homeroomStudents:l}=e,a=(e,t)=>{let n=e.date,i=e.endDate||e.date;return t>=n&&t<=i},r=s?"2026-03-12":(0,o.RJ)(),c=n.filter(e=>a(e,r));return(0,i.jsxs)(x,{title:"ì¤ëì ì¶ê²° íí©",className:"md:h-full h-auto",children:[(0,i.jsxs)("div",{className:"grid grid-cols-4 gap-2 mb-3",children:[(0,i.jsx)(u,{label:"ê²°ì",value:t.absent,color:"rose"}),(0,i.jsx)(u,{label:"ì§ê°",value:t.late,color:"amber"}),(0,i.jsx)(u,{label:"ì¡°í´",value:t.early,color:"amber"}),(0,i.jsx)(u,{label:"ê²°ê³¼",value:t.passing,color:"amber"})]}),(0,i.jsx)("div",{className:"md:flex-1 md:overflow-y-auto h-auto overflow-visible custom-scrollbar pr-1",children:0===c.length?(0,i.jsx)("div",{className:"text-center text-zinc-600 dark:text-zinc-400 text-xs py-4",children:"í¹ì´ì¬í ìì"}):(0,i.jsx)("div",{className:"grid grid-cols-2 gap-2",children:[...c].sort((e,t)=>{let n=l.find(t=>t.id===e.studentId),i=l.find(e=>e.id===t.studentId),s=(null==n?void 0:n.studentNumber)?parseInt(n.studentNumber):1/0,a=(null==i?void 0:i.studentNumber)?parseInt(i.studentNumber):1/0;if(s!==a)return s-a;let r=(null==n?void 0:n.name)||e.studentName||"",c=(null==i?void 0:i.name)||t.studentName||"";return r.localeCompare(c)}).map(e=>{var t,n,s,a,r;let c=e.studentName||(null===(t=l.find(t=>t.id===e.studentId))||void 0===t?void 0:t.name)||"ì ì ìì";return(0,i.jsxs)("div",{className:"bg-zinc-50 dark:bg-[#27272A] border border-zinc-100 dark:border-transparent px-3 py-2 rounded-md flex justify-between items-center",children:[(0,i.jsx)("span",{className:"text-xs text-zinc-700 dark:text-zinc-300 truncate max-w-[60px]",children:c}),(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[e.reason&&(0,i.jsx)("span",{className:"text-xs text-zinc-600 dark:text-zinc-400 truncate max-w-[40px]",children:e.reason}),(0,i.jsx)("span",{className:"text-xs shrink-0 font-medium text-[var(--ink)] dark:text-[var(--ink-dark)]",style:{"--ink":null===(n=(0,g.on)(null!==(a=e.type)&&void 0!==a?a:""))||void 0===n?void 0:n.fg,"--ink-dark":null===(s=(0,g.on)(null!==(r=e.type)&&void 0!==r?r:""))||void 0===s?void 0:s.darkFg},children:e.type})]})]},e.id)})})})]})}var j=n(98319),z=n(10136),w=n(51817),y=n(30401),k=n(2207),N=n(18930),C=n(99397),W=n(32489),D=n(83008),S=n(67920),H=n(4908),E=n(54696),Z=n(96214),M=n(35596);let A=["ë°ì¥","ë¶ë°ì¥","주ë²","íê²½ë¶ì¥","íìµë¶ì¥","ì²´ì¡ë¶ì¥","ëìë¶ì¥","ì ë³´ë¶ì¥","ë°©ì¡ë¶ì¥","ì°ì ë¹ë²"];function F(e){var t;let{isOpen:n,onClose:l,onSaved:a}=e,r=(0,S.XC)(),c=(0,z.N)(),{showToast:d}=(0,j.p)(),x=(0,E.Dv)(),{students:u}=(0,H.AF)(),m=(0,s.useMemo)(()=>(x?u:u.filter(e=>"ë´ì íê¸"===e.homeClassId)).sort((e,t)=>(e.number||0)-(t.number||0)),[u,x]),[h,f]=(0,s.useState)({columns:[],assignments:{}}
1),[b,p]=(0,s.useState)(""),[g,v]=(0,s.useState)(!1),[F,L]=(0,s.useState)(!1),[O,R]=(0,s.useState)(null),[I,T]=(0,s.useState)(""),[G,Y]=(0,s.useState)(""),[X,B]=(0,s.useState)(null);(0,s.useEffect)(()=>{n&&(async()=>{v(!0);try{if(x){let e=(await (0,Z.getGuestData)()).studentRoles;if(e&&e.columns&&e.columns.length>0)f(e),p(e.columns[0].id);else{let e={columns:[{id:"col-".concat(Date.now()),name:"ìí 1"}],assignments:{}};f(e),p(e.columns[0].id)}return}let e=await (0,D.X)("getTimetable",{type:"student-roles"},r);if(e.success&&e.data&&Object.keys(e.data).length>0){let t=e.data;if(t.columns&&t.columns.length>0)f(t),p(t.columns[0].id);else{let e={columns:[{id:"col-".concat(Date.now()),name:"ìí 1"}],assignments:{}};f(e),p(e.columns[0].id)}}else{let e={columns:[{id:"col-".concat(Date.now()),name:"ìí 1"}],assignments:{}};f(e),p(e.columns[0].id)}}catch(e){console.error("[MobileStudentRolesModal] Failed to load roles:",e)}finally{v(!1)}})()},[n,r,x]);let P=(0,s.useMemo)(()=>h.columns.find(e=>e.id===b)||h.columns[0],[h.columns,b]),V=async(e,t)=>{if(t.stopPropagation(),h.columns.length<=1){d("ìí í목ì ìµì íëê° ìì´ì¼ í©ëë¤.","warning");return}if(await c({title:"ì´ ìí í목ì ìì í ê¹ì?",description:"ì´ í목ì ë°°ì ë íìë¤ì ìí ë í¨ê» ì§ìì§ëë¤."})&&(f(t=>{let n={...t.assignments};return Object.keys(n).forEach(t=>{n[t]&&delete n[t][e]}),{columns:t.columns.filter(t=>t.id!==e),assignments:n}}),b===e)){let t=h.columns.filter(t=>t.id!==e);t.length>0&&p(t[0].id)}},U=e=>{R(e.id),T(e.name)},J=e=>{I.trim()&&(f(t=>({...t,columns:t.columns.map(t=>t.id===e?{...t,name:I.trim()}:t)})),R(null))},_=(e,t)=>{P&&f(n=>({...n,assignments:{...n.assignments,[e]:{...n.assignments[e],[P.id]:t}}}))},K=e=>{X&&P&&_(X,e)},q=async()=>{L(!0);try{if(x){await (0,Z.saveGuestData)("studentRoles",h);let e=[];Object.entries(h.assignments).forEach(t=>{let[n,i]=t;Object.entries(i).forEach(t=>{let[i,s]=t;if(s&&s.trim()){let t=m.find(e=>e.id===n);e.push({id:"".concat(n,"-").concat(i),studentId:n,studentName:(null==t?void 0:t.name)||"",role:s})}})}),await (0,Z.saveGuestData)("roleAssignments",e)}else{let e=await (0,D.X)("saveTimetable",{type:"student-roles",data:h},r);if(!e.success){d(e.error||"ì ì¥ì ì¤í¨íìµëë¤. ë¤ì ìëí´ì£¼ì¸ì.","error");return}}null==a||a(),l()}catch(e){console.error("[MobileStudentRolesModal] Failed to save roles:",e),d("ì ì¥ ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}finally{L(!1)}},$=(0,s.useMemo)(()=>{if(!G.trim())return m;let e=G.trim().toLowerCase();return m.filter(t=>t.name.toLowerCase().includes(e)||String(t.number).includes(e))},[m,G]);return(0,i.jsx)(M.Z,{isOpen:n,onClose:l,title:"íìë³ ìí ì¤ì ",children:(0,i.jsx)("div",{className:"flex flex-col max-h-full",children:g?(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-zinc-400",children:[(0,i.jsx)(w.Z,{className:"w-8 h-8 animate-spin text-blue-500 mb-2"}),(0,i.jsx)("p",{className:"text-sm",children:"ìí ì 보를 ë¶ë¬ì¤ë ì¤..."})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"flex items-center gap-1.5 overflow-x-auto no-scrollbar py-1 pb-3 mb-2 border-b border-zinc-100",children:[h.columns.map(e=>{let t=e.id===((null==P?void 0:P.id)||b);return O===e.id?(0,i.jsxs)("div",{className:"flex items-center gap-1 bg-zinc-100 rounded-2xl px-2 py-1",children:[(0,i.jsx)("input",{type:"text",value:I,onChange:e=>T(e.target.value),autoFocus:!0,onKeyDown:t=>{"Enter"===t.key&&J(e.id),"Escape"===t.key&&R(null)},className:"w-20 bg-white text-xs px-2 py-0.5 rounded border border-zinc-200 outline-none"}),(0,i.jsx)("button",{onClick:()=>J(e.id),className:"p-1 text-emerald-600 active:scale-95",children:(0,i.jsx)(y.Z,{size:14})})]},e.id):(0,i.jsxs)("div",{onClick:()=>p(e.id),className:(0,o.cn)("flex items-center gap-1.5 px-3.5 py-1.5 rounded-2xl text-[13px] font-semibold whitespace-nowrap transition cursor-pointer active:scale-95 shadow-sm",t?"bg-zinc-900 text-white":"bg-white text-zinc-600 dark:text-zinc-400 border border-zinc-200/60"),children:[(0,i.jsx)("span",{children:e.name}),t&&(0,i.jsx)("button",{onClick:t=>{t.stopPropagation(),U(e)},className:"p-0.5 text-zinc-400 hover:text-white transition",title:"ì´ë¦ ë³ê²½",children:(0,i.jsx)(k.Z,{size:11})}),h.columns.length>1&&t&&(0,i.jsx)("button",{onClick:t=>V(e.id,t),className:"p-0.5 text-zinc-400 hover:text-red-400 transition",title:"ì´ ìì ",children:(0,i.jsx)(N.Z,{size:11})})]},e.id)}),(0,i.jsxs)("button",{onClick:()=>{let e="col-".concat(Date.now()),t=h.columns.length+1;f(n=>({...n,columns:[...n.columns,{id:e,name:"ìí ".concat(t)}]})),p(e)},className:"flex items-center gap-1 px-3 py-1.5 rounded-2xl text-[12px] font-medium bg-zinc-100 text-zinc-600 dark:text-zinc-400 border border-dashed border-zinc-300 whitespace-nowrap active:scale-95 transition",children:[(0,i.jsx)(C.Z,{size:13}),(0,i.jsx)("span",{children:"í목 ì¶ê°"})]})]}),(0,i.jsxs)("div",{className:"mb-3",children:[(0,i.jsxs)("div",{className:"text-[11px] font-medium text-zinc-400 mb-1 px-1 flex items-center justify-between",children:[(0,i.jsx)("span",{children:"ë¹ ë¥¸ ì
ë ¥ 칩 (íìì íí í ì í)"}),X&&(0,i.jsxs)("span",{className:"text-blue-500 font-semibold",children:[null===(t=m.find(e=>e.id===X))||void 0===t?void 0:t.name," ì íë¨"]})]}),(0,i.jsx)("div",{className:"flex gap-1.5 overflow-x-auto no-scrollbar py-0.5",children:A.map(e=>(0,i.jsx)("button",{onClick:()=>K(e),disabled:!X,className:(0,o.cn)("px-2.5 py-1 rounded-lg text-[11px] font-medium whitespace-nowrap transition active:scale-95",X?"bg-blue-50 text-blue-600 border border-blue-200/60 active:bg-blue-100":"bg-zinc-100 text-zinc-400 border border-transparent opacity-60"),children:e},e))})]}),(0,i.jsx)("div",{className:"flex-1 overflow-y-auto space-y-1.5 pr-1 max-h-full custom-scrollbar",children:0===m.length?(0,i.jsx)("div",{className:"py-10 text-center text-zinc-400 text-xs",children:"ë´ì íê¸ íìì´ ììµëë¤."}):$.map(e=>{var t;let n=P&&(null===(t=h.assignments[e.id])||void 0===t?void 0:t[P.id])||"",s=X===e.id;return(0,i.jsxs)("div",{onClick:()=>B(e.id),className:(0,o.cn)("flex items-center gap-2.5 p-2.5 rounded-xl border transition-all",s?"bg-blue-50/50 border-blue-300":"bg-white border-zinc-200/60"),children:[(0,i.jsx)("span",{className:"w-5 text-[11px] font-bold text-zinc-400 text-right shrink-0",children:e.number}),(0,i.jsx)("span",{className:"w-16 text-[13px] font-bold text-zinc-800 dark:text-zinc-200 truncate shrink-0",children:e.name}),(0,i.jsxs)("div",{className:"flex-1 relative",children:[(0,i.jsx)("input",{type:"text",value:n,placeholder:"ìí ì
ë ¥ (ì: ë°ì¥, 주ë²)",onF
1ocus:()=>B(e.id),onChange:t=>_(e.id,t.target.value),className:"w-full h-8 px-2.5 bg-zinc-50 border border-zinc-200 rounded-lg text-[13px] text-zinc-800 dark:text-zinc-200 placeholder:text-zinc-400 focus:outline-none focus:border-blue-500 transition"}),n&&(0,i.jsx)("button",{onClick:t=>{t.stopPropagation(),_(e.id,"")},className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 text-zinc-300 hover:text-zinc-500",children:(0,i.jsx)(W.Z,{size:12})})]})]},e.id)})}),(0,i.jsxs)("div",{className:"pt-4 mt-2 pb-4 border-t border-zinc-100 flex gap-2",children:[(0,i.jsx)("button",{onClick:l,className:"flex-1 py-3 rounded-xl border border-zinc-200 text-zinc-600 dark:text-zinc-400 text-[14px] font-semibold active:scale-[0.98] transition",children:"ë«ê¸°"}),(0,i.jsxs)("button",{onClick:q,disabled:F,className:"flex-1 py-3 rounded-xl bg-blue-600 text-white text-[14px] font-semibold active:scale-[0.98] transition disabled:opacity-50 flex items-center justify-center gap-1.5",children:[F?(0,i.jsx)(w.Z,{size:16,className:"animate-spin"}):(0,i.jsx)(y.Z,{size:16,strokeWidth:2.5}),(0,i.jsx)("span",{children:"ì ì¥í기"})]})]})]})})})}function L(e){let{roleAssignments:t,onReload:n}=e,{openSettings:l}=(0,h.Y)(),[a,r]=(0,s.useState)(!1);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{title:"íìë³ ìí ",className:"md:h-full h-auto",action:(0,i.jsx)("button",{onClick:()=>{window.innerWidth<768?r(!0):l("student-roles",void 0,{onClose:n})},className:"p-1 rounded text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800 transition-colors",title:"ìí ìì ",children:(0,i.jsx)(m.Z,{size:14})}),children:0===t.length?(0,i.jsx)("div",{className:"py-12 text-center text-zinc-500 dark:text-zinc-400 text-xs",children:"ë°°ì ë ìí ìì"}):(0,i.jsx)("div",{className:"md:h-full md:overflow-y-auto h-auto overflow-visible custom-scrollbar pr-1",children:(0,i.jsx)("div",{className:"grid grid-cols-2 gap-2",children:[...t].sort((e,t)=>e.role.localeCompare(t.role,"ko")).map(e=>(0,i.jsxs)("div",{className:"flex justify-between items-center bg-zinc-50 dark:bg-[#27272A] border border-zinc-100 dark:border-transparent px-3 py-2 rounded-md",children:[(0,i.jsx)("span",{className:"text-xs text-zinc-300 truncate",children:e.role}),(0,i.jsx)("span",{className:"text-xs text-zinc-500 truncate max-w-[80px] text-right font-medium",children:e.studentName})]},e.id))})})}),(0,i.jsx)(F,{isOpen:a,onClose:()=>r(!1),onSaved:n})]})}var O=n(33145),R=n(92451),I=n(10407),T=n(60850);function G(e){var t,n;let{schoolCode:l,officeCode:a,isGuest:r=!1}=e,[c,d]=(0,s.useState)(l&&a?{schoolCode:l,officeCode:a}:null),[u,h]=(0,s.useState)(null),{showToast:f}=(0,j.p)(),[b,p]=(0,s.useState)(()=>new Date((0,o.FB)(new Date)+"T00:00:00")),[g,v]=(0,s.useState)(null),[z,y]=(0,s.useState)(!1),[k,N]=(0,s.useState)(null),C=e=>{p(t=>{let n=new Date(t);return n.setDate(n.getDate()+e),n})}
1,[W,D]=(0,s.useState)(!1),[S,H]=(0,s.useState)(""),[E,Z]=(0,s.useState)([]),[M,A]=(0,s.useState)(!1),[F,L]=(0,s.useState)(null),[G,X]=(0,s.useState)(!1),B=(0,s.useRef)(null);(0,s.useEffect)(()=>{l&&a&&d({schoolCode:l,officeCode:a})},[l,a]),(0,s.useEffect)(()=>{let e=async()=>{var e;if(l&&a)return;let t=await (0,T.T9)();t.success&&(null===(e=t.data)||void 0===e?void 0:e.neisSchoolCode)&&(d({schoolCode:t.data.neisSchoolCode,officeCode:t.data.neisOfficeCode}),h(t.data.schoolName||null))};l&&a||e();let t=()=>e();return window.addEventListener("school-settings-updated",t),()=>window.removeEventListener("school-settings-updated",t)},[l,a]),(0,s.useEffect)(()=>{if(!c)return;let e=(0,o.FB)(b).replace(/-/g,""),t=!1;return(async()=>{y(!0),N(null);try{let n=await (0,T.CZ)(c.officeCode,c.schoolCode,e);if(t)return;n.success?v(n.data):N(n.error||"ê¸ì ì 보를 ë¶ë¬ì¤ì§ 못íìµëë¤.")}catch(e){if(t)return;console.error("Failed to fetch meal:",e),N("ê¸ì ì 보를 ë¶ë¬ì¤ì§ 못íìµëë¤.")}finally{t||y(!1)}})(),()=>{t=!0}},[c,b]),(0,s.useEffect)(()=>{if(!W)return;let e=setTimeout(async()=>{if(S.length<2){Z([]);return}A(!0);try{let e=await (0,T.R2)(S);e.success&&Z(e.data)}catch(e){console.error(e)}finally{A(!1)}},300);return()=>clearTimeout(e)},[S,W]);let P=e=>{L(e),H(e.schoolName),Z([])},V=async()=>{if(F){X(!0);try{let e=await (0,T.fk)(F.schoolCode,F.officeCode);e.success?(d({schoolCode:F.schoolCode,officeCode:F.officeCode}),h(F.schoolName),D(!1),H(""),Z([]),L(null),window.dispatchEvent(new CustomEvent("school-settings-updated"))):f(e.error||"íêµ ì ë³´ ì ì¥ ì¤í¨","error")}catch(e){f("ì¤ë¥ê° ë°ìíìµëë¤: ".concat((null==e?void 0:e.message)||e),"error")}finally{X(!1)}}},U=()=>{D(!0),u&&c&&(H(u),L({schoolName:u,schoolCode:c.schoolCode,officeCode:c.officeCode}))},J=()=>{D(!1),H(""),Z([]),L(null)},_=(0,i.jsxs)("div",{className:"flex items-center gap-1.5",children:[c&&!W&&(0,i.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,i.jsx)("button",{onClick:()=>C(-1),"aria-label":"ì´ì ë ",className:"p-0.5 rounded text-zinc-400 hover:text-zinc-700 dark:hover:text-zinc-200 hover:bg-zinc-100 dark:hover:bg-zinc-800 transition-colors",children:(0,i.jsx)(R.Z,{size:15})}),(0,i.jsx)("span",{className:"text-[12px] font-medium text-zinc-600 dark:text-zinc-300 min-w-[52px] text-center tabular-nums",children:"".concat(b.getMonth()+1,"/").concat(b.getDate(),"(").concat(["ì¼","ì","í","ì","목","ê¸","í "][b.getDay()],")")}),(0,i.jsx)("button",{onClick:()=>C(1),"aria-label":"ë¤ì ë ",className:"p-0.5 rounded text-zinc-400 hover:text-zinc-700 dark:hover:text-zinc-200 hover:bg-zinc-100 dark:hover:bg-zinc-800 transition-colors",children:(0,i.jsx)(I.Z,{size:15})})]}),W&&(0,i.jsxs)("div",{className:"relative flex items-center gap-1.5",children:[(0,i.jsxs)("div",{className:"relative",children:[(0,i.jsx)("input",{type:"text",value:S,onChange:e=>{H(e.target.value),L(null)},placeholder:"íêµëª
ê²ì",autoFocus:!0,className:"h-6 w-[140px] bg-zinc-100 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded px-2 text-[12px] text-zinc-900 dark:text-white placeholder:text-zinc-400 focus:outline-none focus:border-blue-500"}),M&&(0,i.jsx)("div",{className:"absolute right-2 top-1/2 -translate-y-1/2",children:(0,i.jsx)(w.Z,{size:10,className:"animate-spin text-zinc-400"})}),E.length>0&&(0,i.jsx)("div",{ref:B,className:"absolute top-[calc(100%+4px)] right-0 z-50 w-[220px] bg-white dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-lg shadow-lg overflow-hidden",children:(0,i.jsx)("div",{className:"flex flex-col max-h-[180px] overflow-y-auto custom-scrollbar",children:E.map(e=>(0,i.jsxs)("button",{onMouseDown:t=>{t.preventDefault(),P(e)},className:"text-left px-3 py-2 hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors border-b border-zinc-100 dark:border-zinc-700 last:border-none",children:[(0,i.jsx)("div",{className:"text-[12px] text-zinc-900 dark:text-white font-medium",children:e.schoolName}),(0,i.jsx)("div",{className:"text-[11px] text-zinc-500",children:e.address})]},e.schoolCode))})})]}),(0,i.jsx)("button",{onClick:V,disabled:!F||G,className:"text-blue-500 text-[12px] font-medium disabled:opacity-40 disabled:cursor-not-allowed hover:text-blue-600 transition-colors whitespace-nowrap",children:G?"ì ì¥...":"ì ì¥"}),(0,i.jsx)("button",{onClick:J,className:"h-6 px-1.5 rounded text-zinc-500 hover:text-zinc-700 dark:hover:text-zinc-300 text-[11px] transition-colors",children:"ì·¨ì"})]}),(0,i.jsx)("button",{onClick:()=>
1{if(r){window.dispatchEvent(new CustomEvent("open-login-modal"));return}W?J():U()},className:"p-1 rounded transition-colors text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800",title:"íêµ ì¤ì ",children:(0,i.jsx)(m.Z,{size:14})})]});return c?(0,i.jsx)(x,{title:"ì¤ëì ê¸ì",className:"md:h-full h-auto",action:_,children:(0,i.jsx)("div",{className:"flex flex-col md:h-full h-auto",children:(0,i.jsx)("div",{className:"flex-1 md:overflow-y-auto overflow-visible custom-scrollbar",children:z?(0,i.jsx)("div",{className:"flex h-full min-h-[80px] items-center justify-center text-zinc-400",children:(0,i.jsx)(w.Z,{className:"animate-spin"})}):k?(0,i.jsx)("div",{className:"flex h-full min-h-[80px] items-center justify-center text-zinc-400 text-sm",children:k}):(0,i.jsxs)("div",{className:"grid grid-cols-2 divide-x divide-zinc-100 dark:divide-zinc-800",children:[(0,i.jsx)(Y,{label:"ì ì¬",icon:(0,i.jsx)(O.default,{src:"/icons/wired-lineal-804-sun.svg",alt:"ì ì¬",width:16,height:16,className:"w-4 h-4 object-contain inline-block shrink-0",unoptimized:!0}),items:null!==(t=null==g?void 0:g.lunch)&&void 0!==t?t:[],className:"pr-3"}),(0,i.jsx)(Y,{label:"ì ë
",icon:(0,i.jsx)(O.default,{src:"/icons/wired-lineal-1821-moon-stars.svg",alt:"ì ë
",width:16,height:16,className:"w-4 h-4 object-contain inline-block shrink-0",unoptimized:!0}),items:null!==(n=null==g?void 0:g.dinner)&&void 0!==n?n:[],className:"pl-3"})]})})})}):(0,i.jsx)(x,{title:"ì¤ëì ê¸ì",className:"md:h-full h-auto",action:_,children:(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center h-full p-4 text-center",children:[(0,i.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"íêµ ì ë³´ê° ììµëë¤."}),(0,i.jsx)("p",{className:"text-xs text-zinc-400 dark:text-zinc-500 mt-1",children:"ì¤ë¥¸ìª½ ì ì°í ìì´ì½ì í´ë¦í´ íêµë¥¼ ì¤ì íì¸ì."})]})})}function Y(e){let{label:t,icon:n,items:s,className:l}=e;return(0,i.jsxs)("div",{className:l,children:[(0,i.jsxs)("div",{className:"flex items-center gap-1 text-[11px] font-semibold text-zinc-400 dark:text-zinc-500 mb-1.5",children:[(0,i.jsx)("span",{children:t}),n]}),s.length>0?(0,i.jsx)("ul",{className:"space-y-1.5",children:s.map((e,t)=>(0,i.jsx)("li",{className:"text-[13px] text-zinc-700 dark:text-zinc-300 font-medium break-keep leading-snug",children:e},t))}):(0,i.jsx)("p",{className:"text-[13px] text-zinc-300 dark:text-zinc-400",children:"ê¸ì ìì"})]})}var X=n(16338),B=n(21235);let P=[{text:"ì£¼ê° ì ìì§ì ë©´ë´",checked:!0},{text:"íë¶ëª¨ ìë´ ìë£ íì¸",checked:!1},{text:"ìííê° ê²°ê³¼ ì
ë ¥",checked:!1}];function V(e){let{isGuest:t=!1}=e,n=(0,X.o)(),l=(0,S.XC)(),a=(0,s.useRef)(l);a.current=l;let[r,c]=(0,s.useState)(!1),d=(0,s.useRef)(new Map),[x,u]=(0,s.useState)(null),[m,h]=(0,s.useState)(()=>P.map(e=>{let{text:t,checked:n}=e;return{id:crypto.randomUUID(),text:t,checked:n}})),f=t?m:n.items;(0,s.useEffect)(()=>{c(!0)},[]),(0,s.useEffect)(()=>{if(t)return;let e=()=>{"hidden"===document.visibilityState&&X.o.getState().flushSync(a.current)},n=()=>{X.o.getState().flushSync(a.current)};return document.addEventListener("visibilitychange",e),window.addEventListener("pagehide",n),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("pagehide",n)}},[t]),(0,s.useEffect)(()=>{if(x&&r){let e=d.current.get(x);e&&(e.focus(),e.style.height="auto",e.style.height="".concat(e.scrollHeight,"px"),u(null))}},[x,f,r]),(0,s.useEffect)(()=>{r&&f.forEach(e=>{let t=d.current.get(e.id);t&&(t.style.height="auto",t.style.height="".concat(t.scrollHeight,"px"))})},[r,f.length]);let b=(0,s.useCallback)(()=>{let e=crypto.randomUUID();h(t=>[...t,{id:e,text:"",checked:!1}]),u(e)},[]),p=(0,s.useCallback)(e=>{h(t=>t.map(t=>t.id===e?{...t,checked:!t.checked}:t))},[]),g=(0,s.useCallback)((e,t)=>{h(n=>n.map(n=>n.id===e?{...n,text:t}:n))},[]),v=(0,s.useCallback)(e=>{h(t=>t.filter(t=>t.id!==e))},[]),j=(0,s.useCallback)((e,i,s)=>{if(!e.nativeEvent.isComposing){if("Enter"===e.key)e.shiftKey||(e.preventDefault(),t?b():u(n.addItem(l)));else if("Backspace"===e.key&&""===i.text){if(e.preventDefault(),t?v(i.id):n.deleteItem(i.id,l),s>0){let e=f[s-1],t=d.current.get(e.id);null==t||t.focus()}}else if("ArrowUp"===e.key){if(0===e.currentTarget.selectionStart&&s>0){e.preventDefault();let t=f[s-1],n=d.current.get(t.id);n&&(n.focus(),n.setSelectionRange(n.value.length,n.value.length))}}else if("ArrowDown"===e.key){let t=e.currentTarget;if(t.selectionStart===t.value.length&&s<f.length-1){e.preventDefault();let t=f[s+1],n=d.current.get(t.id);n&&(n.focus(),n.setSelectionRange(0,0))}}}},[t,n,l,f,b,v]),z=(0,s.useCallback)(()=>{t?b():u(n.addItem(l))},[t,n,l,b]),w=(0,s.useCallback)((e,i,s)=>{let a=s.target;a.style.height="auto",a.style.height="".concat(a.scrollHeight,"px"),t?g(e,i):n.updateItem(e,i,l)},[t,g,n,l]);return r&&(t||!n.isLoading||0!==n.items.length)?(0,i.jsxs)("div",{className:"bg-white dark:bg-[#191919] rounded-lg overflow-hidden flex flex-col shadow-sm dark:shadow-none md:h-full h-auto",children:[(0,i.jsxs)("div",{className:"flex justify-between items-center px-4 py-3 shrink-0",children:[(0,i.jsx)("span",{className:"font-bold text-zinc-900 dark:text-zinc-200 text-sm",children:"ì²´í¬ë¦¬ì¤í¸"}),(0,i.jsx)("button",{onClick:z,className:"text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 transition-colors p-1 -mr-1",title:"í목 ì¶ê°",children:(0,i.jsx)(C.Z,{size:16})})]}
1),(0,i.jsx)("div",{className:"md:flex-1 md:min-h-0 px-4 pb-4 md:overflow-y-auto h-auto overflow-visible custom-scrollbar",children:0===f.length?(0,i.jsx)("button",{onClick:z,className:"w-full text-left text-sm text-zinc-400 hover:text-zinc-500 dark:hover:text-zinc-300 py-1 transition-colors",children:"+ ì í목 ì¶ê°..."}):(0,i.jsx)("div",{className:"space-y-1",children:f.map((e,s)=>(0,i.jsxs)("div",{className:"flex items-start gap-2 group",children:[(0,i.jsx)("input",{type:"checkbox",checked:e.checked,onChange:()=>t?p(e.id):n.toggleItem(e.id,l),className:"w-4 h-4 accent-[#3b82f6] cursor-pointer shrink-0 mt-0.5"}),(0,i.jsx)("textarea",{ref:t=>{t?d.current.set(e.id,t):d.current.delete(e.id)},rows:1,value:e.text,onChange:t=>w(e.id,t.target.value,t),onKeyDown:t=>j(t,e,s),className:(0,o.cn)("flex-1 bg-transparent border-none outline-none text-sm p-0 min-w-0 text-zinc-700 dark:text-zinc-300 resize-none overflow-hidden",e.checked&&"line-through opacity-60"),placeholder:"ì
ë ¥..."})]},e.id))})})]}):(0,i.jsxs)("div",{className:"bg-white dark:bg-[#191919] rounded-lg overflow-hidden flex flex-col shadow-sm dark:shadow-none md:h-full h-auto p-4 space-y-3",children:[(0,i.jsx)(B.Od,{width:80,height:20}),(0,i.jsxs)("div",{className:"space-y-2 mt-2",children:[(0,i.jsx)(B.Od,{height:26,className:"w-full"}),(0,i.jsx)(B.Od,{height:26,className:"w-3/4"}),(0,i.jsx)(B.Od,{height:26,className:"w-5/6"})]})]})}var U=n(86267),J=n(42349),_=n(48736),K=n(53834);function q(e){let{onNavigate:t}=e,n=(0,S.XC)(),l=(0,U.X)(),[a,r]=(0,s.useState)(!1),[c,d]=(0,s.useState)(!1),[o,x]=(0,s.useState)([]),[u,m]=(0,s.useState)(!1);(0,s.useEffect)(()=>{r(!0)},[]);let h=(0,s.useCallback)(async()=>{m(!0);try{let e=await (0,J.X)("getWorkNotes",{},n);e.success&&e.data&&x(e.data)}catch(e){console.error("Failed to load work notes:",e)}finally{m(!1)}},[n]),f=(0,s.useCallback)(()=>{d(!0),h()},[h]),b=(0,s.useCallback)(e=>{l.addLinkedNote(e.id,e.title),d(!1)},[l]),p=(0,s.useCallback)((e,t)=>{e.stopPropagation(),l.removeLinkedNote(t)},[l]),g=(0,s.useCallback)(e=>{l.setTargetNoteId(e),t?t("work-notes"):window.location.hash="work-notes"},[l,t]);if(!a)return(0,i.jsxs)("div",{className:"bg-white dark:bg-[#191919] rounded-lg flex flex-col shadow-sm dark:shadow-none md:h-full h-auto relative p-4 space-y-3",children:[(0,i.jsx)(B.Od,{width:120,height:20}),(0,i.jsxs)("div",{className:"space-y-2 mt-2",children:[(0,i.jsx)(B.Od,{height:28,className:"w-full"}),(0,i.jsx)(B.Od,{height:28,className:"w-4/5"})]})]});let v=l.linkedNotes.map(e=>e.id),j=o.filter(e=>!v.includes(e.id));return(0,i.jsxs)("div",{className:"bg-white dark:bg-[#191919] rounded-lg flex flex-col shadow-sm dark:shadow-none h-full relative",children:[(0,i.jsxs)("div",{className:"flex justify-between items-center px-4 py-3 shrink-0",children:[(0,i.jsx)("h3",{className:"font-bold text-zinc-900 dark:text-zinc-200 text-sm",children:"ì
무 ë
¸í¸"}),(0,i.jsx)("button",{onClick:f,className:"text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 transition-colors p-1 -mr-1",title:"ë
¸í¸ ì¶ê°",children:(0,i.jsx)(C.Z,{size:16})})]}),(0,i.jsxs)("div",{className:"md:flex-1 md:min-h-0 px-4 pb-4 md:overflow-y-auto h-auto overflow-visible custom-scrollbar relative",children:[0===l.linkedNotes.length?null:(0,i.jsx)("div",{className:"space-y-2",children:l.linkedNotes.map(e=>(0,i.jsxs)("button",{onClick:()=>g(e.id),className:"w-full flex items-center justify-between px-3 py-2 rounded-md bg-zinc-50 dark:bg-[#27272A] border border-zinc-100 dark:border-transparent hover:bg-zinc-100 dark:hover:bg-[#323235] transition-colors group text-left",children:[(0,i.jsx)("span",{className:"text-xs text-zinc-800 dark:text-zinc-300 truncate min-w-0 font-medium",children:e.title||"ì 목 ìì"}),(0,i.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,i.jsx)(W.Z,{size:14,className:"text-zinc-300 hover:text-red-500 dark:text-zinc-500 dark:hover:text-red-400 opacity-0 group-hover:opacity-100 transition-opacity cursor-pointer",onClick:t=>p(t,e.id)}),(0,i.jsx)(I.Z,{size:14,className:"text-zinc-300 dark:text-zinc-500"})]})]},e.id))}),c&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"fixed inset-0 z-[100]",onClick:()=>d(!1)}),(0,i.jsxs)("div",{className:"absolute inset-0 z-[101] bg-white dark:bg-[#1a1a1c] rounded-lg shadow-xl border border-zinc-200 dark:border-zinc-700 flex flex-col overflow-hidden",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-zinc-100 dark:border-zinc-800",children:[(0,i.jsx)("span",{className:"text-xs font-medium text-zinc-500 dark:text-zinc-400",children:"ë
¸í¸ ì¶ê°"}),(0,i.jsx)("button",{"aria-label":"ë«ê¸°",onClick:()=>d(!1),className:"p-0.5 hover:bg-zinc-100 dark:hover:bg-zinc-800 rounded transition-colors",children:(0,i.jsx)(W.Z,{size:14,className:"text-zinc-400"})})]}),(0,i.jsx)("div",{className:"flex-1 overflow-y-auto custom-scrollbar py-1 px-1",children:u?(0,i.jsx)("div",{className:"flex justify-center py-4",children:(0,i.jsx)(K.W,{size:18})}):0===j.length?(0,i.jsx)("div",{className:"text-center py-4 text-xs text-zinc-400",children:0===o.length?"ìì±ë ë
¸í¸ê° ììµëë¤.":"모ë ë
¸í¸ê° ì¶ê°ëììµëë¤."}):(0,i.jsx)("div",{children:j.map(e=>(0,i.jsxs)("button",{onClick:()=>b(e),className:"w-full flex items-center gap-2 px-2 py-1.5 rounded text-left transition-colors text-sm hover:bg-zinc-50 dark:hover:bg-zinc-800 text-zinc-700 dark:text-zinc-300",children:[(0,i.jsx)(_.Z,{size:14,className:"shrink-0 opacity-50"}),(0,i.jsx)("span",{className:"truncate",children:e.title||"ì 목 ìì"}),e.isPinned&&(0,i.jsx)("span",{className:"text-[10px] text-yellow-500 ml-auto",children:"PIN"})]},e.id))})})]})]})]})]})}function $(e,t){let n=new Date("".concat(e,"T00:00:00Z")).getTime();return Math.round((new Date("".concat(t,"T00:00:00Z")).getTime()-n)/864e5)}function Q(e,t){let n=e.date,i=e.endDate||e.date;if(t<n){let e=$(t,n);return{status:"upcoming",diffDays:e,label:"D-".concat(e)}}if(t===n)return{status:"today",diffDays:0,label:"D-DAY"};if(t<=i)return{status:"ongoing",diffDays:0,label:"ì§íì¤"};let s=$(i,t);return{status:"past",diffDays:s,label:"D+".concat(s)}}var ee=n(48313);let et=Array.from({length:10},(e,t)=>"dday-".concat(t));function en(e){var t;let{isGuest:n,guestEvents:l,onNavigate:a}=e,r=(0,S.XC)(),c=(0,z.N)(),{showToast:u}=(0,j.p)(),m=(0,d.Ln)(e=>e.widgetConfig),h=(0,d.Ln)(e=>
1e.setWidgetEventConfig),f=(0,d.Ln)(e=>e.clearWidgetEventConfig),b=Array.from(new Set([...et.filter(e=>{var t;return null===(t=m[e])||void 0===t?void 0:t.eventId}),...Object.keys(m).filter(e=>{var t;return e.startsWith("dday-")&&(null===(t=m[e])||void 0===t?void 0:t.eventId)})])),p=b.length<10,[g,v]=(0,s.useState)([]),[y,k]=(0,s.useState)(!n),[N,W]=(0,s.useState)(null),[H,E]=(0,s.useState)(null),[Z,M]=(0,s.useState)(null),[A,F]=(0,s.useState)(null),L=(0,s.useRef)(null),O=(0,s.useRef)(null),R=(0,s.useRef)(null),I=(0,s.useRef)(null),T=n?"2026-03-12":(0,o.RJ)(),G=n?l:g;(0,s.useEffect)(()=>{if(n)return;let e=!1,t=(0,o.RJ)(),i=new Date(t);i.setFullYear(i.getFullYear()-2);let s=new Date(t);s.setFullYear(s.getFullYear()+2);let l=e=>e.toISOString().split("T")[0];return k(!0),(0,D.X)("getScheduleEvents",{startDate:l(i),endDate:l(s)},r).then(t=>{e||(t.success&&t.data?v(t.data):v([]),k(!1))}).catch(()=>{e||k(!1)}),()=>{e=!0}},[n]),(0,s.useEffect)(()=>{if(!N)return;let e=e=>{var t,n;let i=e.target,s=null===(t=L.current)||void 0===t?void 0:t.contains(i),l=null===(n=O.current)||void 0===n?void 0:n.contains(i);s||l||W(null)},t=e=>{var t;null!==(t=L.current)&&void 0!==t&&t.contains(e.target)||W(null)};return document.addEventListener("mousedown",e),window.addEventListener("scroll",t,!0),window.addEventListener("resize",t),()=>{document.removeEventListener("mousedown",e),window.removeEventListener("scroll",t,!0),window.removeEventListener("resize",t)}},[N]);let Y=G.filter(e=>e.date).slice().sort((e,t)=>e.date.localeCompare(t.date)),X=null!==(t=Y.find(e=>(e.endDate||e.date)>=T))&&void 0!==t?t:Y[Y.length-1],B=null==X?void 0:X.id;(0,s.useEffect)(()=>{if(!N||y)return;let e=requestAnimationFrame(()=>{R.current&&I.current&&(R.current.scrollTop=I.current.offsetTop)});return()=>cancelAnimationFrame(e)},[N,y,B]);let P=[...b].sort((e,t)=>(function(e,t,n){let i=e=>{if(!e)return{priority:4,diff:0,date:"9999-99-99"};let t=Q(e,n);return"today"===t.status||"ongoing"===t.status?{priority:1,diff:0,date:e.date}:"upcoming"===t.status?{priority:2,diff:t.diffDays,date:e.date}:{priority:3,diff:t.diffDays,date:e.date}},s=i(e),l=i(t);return s.priority!==l.priority?s.priority-l.priority:s.diff!==l.diff?s.diff-l.diff:s.date.localeCompare(l.date)})(Y.find(t=>{var n;return t.id===(null===(n=m[e])||void 0===n?void 0:n.eventId)}),Y.find(e=>{var n;return e.id===(null===(n=m[t])||void 0===n?void 0:n.eventId)}),T)),V=(e,t)=>{if(n){window.dispatchEvent(new CustomEvent("open-login-modal"));return}let i=t.currentTarget.getBoundingClientRect();E({top:i.bottom+4+330<=window.innerHeight?i.bottom+4:Math.max(8,i.top-4-330),left:Math.max(8,Math.min(i.right-220,window.innerWidth-220-8))}),W(e)},U=e=>{V(et.find(e=>{var t;return!(null===(t=m[e])||void 0===t?void 0:t.eventId)})||"dday-".concat(b.length),e)},J=async e=>{if(N){M(N);try{let t=await (0,D.X)("updateDdayWidgetEvent",{instanceId:N,eventId:e.id},r);t.success?(h(N,e.id),W(null)):u(t.error||"ì¼ì ì ì¥ì ì¤í¨íìµëë¤.","error")}finally{M(null)}}},_=async e=>{if(n){window.dispatchEvent(new CustomEvent("open-login-modal"));return}if(await c({title:"ì´ ì¼ì ì D-DAYìì ëºê¹ì?",description:"ì¼ì ìì²´ë ê·¸ëë¡ ë¨ê³ , D-DAY ìì ¯ììë§ ì¬ë¼ì§ëë¤.",confirmLabel:"빼기",tone:"default"})){F(e);try{let t=await (0,D.X)("removeDdayWidgetEvent",{instanceId:e},r);t.success?f(e):u(t.error||"ìì ì ì¤í¨íìµëë¤.","error")}finally{F(null)}}},K=N&&H&&(0,i.jsx)(ee.Z,{children:(0,i.jsx)("div",{ref:L,style:{top:H.top,left:H.left,width:220},className:"fixed z-50 bg-white dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-lg shadow-lg overflow-hidden",children:y?(0,i.jsx)("div",{className:"flex items-center justify-center py-6 text-zinc-400",children:(0,i.jsx)(w.Z,{size:16,className:"animate-spin"})}):0===Y.length?(0,i.jsxs)("div",{className:"p-3 text-center",children:[(0,i.jsx)("p",{className:"text-[12px] text-zinc-500 dark:text-zinc-400",children:"ë±ë¡ë ì¼ì ì´ ìì´ì."}),(0,i.jsx)("button",{onClick:()=>null==a?void 0:a("work-schedule"),className:"mt-2 text-[12px] text-blue-500 hover:text-blue-600 font-medium",children:"ì¼ì ê´ë¦¬ìì ë§ë¤ê¸°"})]}):(0,i.jsx)("div",{ref:R,className:"relative flex flex-col max-h-[320px] overflow-y-auto custom-scrollbar",children:Y.map(e=>{let t=e.id===B;return(0,i.jsxs)("button",{ref:t?I:void 0,onClick:()=>J(e),className:"text-left px-3 py-2 hover:bg-zinc-100 dark:hover:bg-zinc-700 transition-colors border-b border-zinc-100 dark:border-zinc-700 last:border-none",children:[(0,i.jsx)("div",{className:"text-[12px] text-zinc-900 dark:text-white font-medium truncate",children:e.title}),(0,i.jsxs)("div",{className:"text-[11px] text-zinc-500",children:[e.date,e.endD
1ate&&e.endDate!==e.date?" ~ ".concat(e.endDate):""]})]},e.id)})})})}),q=!n&&y,$=p?(0,i.jsx)("button",{onClick:U,disabled:!!Z,className:"p-1 rounded transition-colors text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800",title:"ì¼ì ì¶ê°",children:Z?(0,i.jsx)(w.Z,{size:14,className:"animate-spin"}):(0,i.jsx)(C.Z,{size:14})}):null;return(0,i.jsxs)("div",{ref:O,className:"md:h-full h-auto",children:[(0,i.jsx)(x,{title:"D-DAY",className:"md:h-full h-auto",action:$,children:0===b.length?q?(0,i.jsx)(ei,{}):0===Y.length?(0,i.jsx)(es,{onNavigate:a}):(0,i.jsx)(el,{onPick:U}):(0,i.jsxs)("div",{className:"flex flex-col divide-y divide-zinc-100 dark:divide-zinc-800 h-full overflow-y-auto custom-scrollbar pr-0.5",children:[P.map(e=>{var t;let n=null===(t=m[e])||void 0===t?void 0:t.eventId,s=Y.find(e=>e.id===n);return(0,i.jsx)(ea,{event:s,loading:q,todayStr:T,removing:A===e,onRemove:()=>_(e),onReselect:t=>V(e,t)},e)}),p&&(0,i.jsx)("div",{className:"pt-2 pb-1 px-1 shrink-0",children:(0,i.jsx)("button",{onClick:U,disabled:!!Z,className:"w-full flex items-center justify-center gap-1.5 py-2 rounded-md border border-dashed border-zinc-200 dark:border-zinc-700 text-[12px] text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 hover:bg-zinc-50 dark:hover:bg-zinc-800/50 transition-colors",children:Z?(0,i.jsx)(w.Z,{size:13,className:"animate-spin"}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(C.Z,{size:13}),(0,i.jsx)("span",{children:"ì D-DAY ì¼ì ì¶ê°"})]})})})]})}),K]})}function ei(){return(0,i.jsx)("div",{className:"flex flex-col items-center justify-center h-full py-6 text-center gap-2",children:(0,i.jsx)(w.Z,{size:18,className:"animate-spin text-zinc-300"})})}function es(e){let{onNavigate:t}=e;return(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center h-full py-6 text-center gap-2",children:[(0,i.jsx)("p",{className:"text-[13px] text-zinc-500 dark:text-zinc-400",children:"ë±ë¡ë ì¼ì ì´ ìì´ì. ì¼ì ê´ë¦¬ìì 먼ì ë§ë¤ì´ì£¼ì¸ì"}),(0,i.jsx)("button",{onClick:()=>null==t?void 0:t("work-schedule"),className:"text-[12px] text-blue-500 hover:text-blue-600 font-medium",children:"ì¼ì ê´ë¦¬ë¡ ì´ë"})]})}function el(e){let{onPick:t}=e;return(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center h-full py-6 text-center gap-2",children:[(0,i.jsx)("p",{className:"text-[13px] text-zinc-500 dark:text-zinc-400",children:"ì±ê¸°ê³ ì¶ì ì¼ì ì ì ííì¸ì"}),(0,i.jsx)("button",{onClick:t,className:"text-[12px] text-blue-500 hover:text-blue-600 font-medium",children:"ì¼ì ì íí기"})]})}function ea(e){let{event:t,loading:n,todayStr:s,removing:l,onRemove:a,onReselect:r}=e;if(!t)return(0,i.jsx)("div",{className:"flex items-center justify-between py-2.5 px-1",children:n?(0,i.jsxs)("div",{className:"flex items-center gap-2 text-zinc-400",children:[(0,i.jsx)(w.Z,{size:14,className:"animate-spin"}),(0,i.jsx)("span",{className:"text-[12px]",children:"ë¶ë¬ì¤ë ì¤"})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:"text-[12px] text-zinc-500 dark:text-zinc-400",children:"ì íí ì¼ì ì´ ìì ëìì´ì"}),(0,i.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,i.jsx)("button",{onClick:r,className:"text-[12px] text-blue-500 hover:text-blue-600 font-medium",children:"ë¤ì ì í"}),(0,i.jsx)("button",{onClick:a,disabled:l,className:"p-1 rounded transition-colors text-zinc-400 hover:text-rose-500 hover:bg-zinc-100 dark:hover:bg-zinc-800",title:"ì ê±°",children:l?(0,i.jsx)(w.Z,{size:12,className:"animate-spin"}):(0,i.jsx)(N.Z,{size:12})})]})]})});let c=Q(t,s),d=new Date(t.date),x=t.endDate?new Date(t.endDate):null,u=!!(x&&t.endDate!==t.date);return(0,i.jsxs)("div",{className:"flex items-center py-2 px-1 group",children:[(0,i.jsx)("div",{className:"w-24 sm:w-28 shrink-0 text-center text-2xl font-bold text-zinc-900 dark:text-white tabular-nums",children:c.label}),(0,i.jsx)("div",{className:"w-px h-9 self-center bg-zinc-200 dark:bg-zinc-700 mx-3 shrink-0"}),(0,i.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,i.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[(0,i.jsx)("span",{className:(0,o.cn)("w-1.5 h-1.5 rounded-full shrink-0","green"===t.tag?"bg-emerald-500":"red"===t.tag?"bg-rose-500":"bg-zinc-400")}),(0,i.jsx)("span",{className:"text-[13px] leading-5 text-zinc-700 dark:text-zinc-300 font-medium whitespace-nowrap overflow-x-hidden text-ellipsis min-w-0",children:t.title})]}),(0,i.jsx)("div",{className:"text-[12px] text-zinc-400",children:u?"".concat(d.getMonth()+1,"ì ").concat(d.getDate(),"ì¼ ~ ").concat(x.getMonth()+1,"ì ").concat(x.getDate(),"ì¼"):"".concat(d.getMonth()+1,"ì ").concat(d.getDate(),"ì¼")})]}),(0,i.jsx)("button",{onClick:a,disabled:l,className:"p-1 ml-2 roun
1ded transition-colors text-zinc-300 hover:text-rose-500 hover:bg-zinc-100 dark:hover:bg-zinc-800 shrink-0",title:"ì ê±°",children:l?(0,i.jsx)(w.Z,{size:12,className:"animate-spin"}):(0,i.jsx)(N.Z,{size:12})})]})}var er=n(45007);n(83079);var ec=(0,n(12119).$)("608d91596c966f5e041c5adc1d2c32e32f953a58");function ed(e,t){let n=Math.round(e);return"pm10"===t?n<=30?{label:"ì¢ì",dotColor:"bg-blue-500",textColor:"text-blue-600 dark:text-blue-400"}:n<=80?{label:"ë³´íµ",dotColor:"bg-emerald-500",textColor:"text-emerald-600 dark:text-emerald-400"}:n<=150?{label:"ëì¨",dotColor:"bg-amber-500",textColor:"text-amber-600 dark:text-amber-400"}:{label:"매ì°ëì¨",dotColor:"bg-rose-500",textColor:"text-rose-600 dark:text-rose-400"}:n<=15?{label:"ì¢ì",dotColor:"bg-blue-500",textColor:"text-blue-600 dark:text-blue-400"}:n<=35?{label:"ë³´íµ",dotColor:"bg-emerald-500",textColor:"text-emerald-600 dark:text-emerald-400"}:n<=75?{label:"ëì¨",dotColor:"bg-amber-500",textColor:"text-amber-600 dark:text-amber-400"}:{label:"매ì°ëì¨",dotColor:"bg-rose-500",textColor:"text-rose-600 dar
1k:text-rose-400"}}function eo(){var e;let[t,n]=(0,s.useState)(null),[l,a]=(0,s.useState)(!0);(0,s.useEffect)(()=>{ec().then(e=>{e.success&&e.data&&n(e.data),a(!1)})},[]);let r=(null==t?void 0:t.regionName)?(0,i.jsx)("span",{className:"text-[12px] font-medium text-zinc-400 dark:text-zinc-500",children:t.regionName}):null,c=t?0===(e=t.weatherCode)?{src:"/lordicons/wired-lineal-804-sun-hover-rays.json",description:"ë§ì"}:1===e||2===e?{src:"/lordicons/wired-lineal-803-cloud-sun-hover-pinch.json",description:"êµ¬ë¦ ì¡°ê¸"}:3===e?{src:"/lordicons/wired-lineal-801-clouds-hover-pinch.json",description:"í림"}:[45,48].includes(e)?{src:"/lordicons/wired-lineal-814-cloud-fog-hover-pinch.json",description:"ìê°"}:[51,53,55,61,63,65,80,81,82].includes(e)?{src:"/lordicons/wired-lineal-808-cloud-rain-hover-pinch.json",description:"ë¹"}:[71,73,75,77,85,86].includes(e)?{src:"/lordicons/wired-lineal-810-cloud-snow-loop-cycle.json",description:"ë"}:[95,96,99].includes(e)?{src:"/lordicons/wired-lineal-806-cloud-bolt-hover-pinch.json",description:"ëì°"}:{src:"/lordicons/wired-lineal-804-sun-hover-rays.json",description:"ë§ì"}:null;return(0,i.jsx)(x,{title:"ì¤ëì ë ì¨",className:"md:h-full h-auto weather-widget-card",action:r,children:l?(0,i.jsxs)("div",{className:"flex flex-col justify-between h-full py-1",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between my-auto px-1",children:[(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(B.Od,{width:80,height:36}),(0,i.jsx)(B.Od,{width:110,height:16})]}),(0,i.jsx)(B.Od,{width:72,height:72,className:"rounded-full"})]}),(0,i.jsxs)("div",{className:"grid grid-cols-2 gap-4 items-center text-xs pb-0.5",children:[(0,i.jsx)(B.Od,{width:90,height:14}),(0,i.jsx)(B.Od,{width:90,height:14})]})]}):t&&c?(0,i.jsxs)("div",{className:"flex flex-col justify-between h-full",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between px-1 my-auto gap-3",children:[(0,i.jsxs)("div",{className:"flex flex-col justify-center min-w-0",children:[(0,i.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,i.jsxs)("span",{className:"text-4xl font-extrabold tracking-tight text-zinc-900 dark:text-zinc-50 tabular-nums",children:[Math.round(t.temp),"\xb0"]}),(0,i.jsx)("span",{className:"text-base font-bold text-zinc-700 dark:text-zinc-200 truncate",children:c.description})]}),(0,i.jsxs)("div",{className:"flex items-center gap-1.5 mt-1.5 text-xs text-zinc-400 dark:text-zinc-500 font-medium",children:[(0,i.jsxs)("span",{children:["ìµê³ ",(0,i.jsxs)("strong",{className:"font-semibold text-zinc-600 dark:text-zinc-300",children:[Math.round(t.tempMax),"\xb0"]})]}),(0,i.jsx)("span",{className:"text-zinc-300 dark:text-zinc-500",children:"\xb7"}),(0,i.jsxs)("span",{children:["ìµì ",(0,i.jsxs)("strong",{className:"font-semibold text-zinc-600 dark:text-zinc-300",children:[Math.round(t.tempMin),"\xb0"]})]})]})]}),(0,i.jsx)("div",{className:"shrink-0 flex items-center justify-center",children:(0,i.jsx)(er.w,{src:c.src,size:74,originalColors:!0,playOnMount:!0,trigger:"hover",target:"div"})})]}),(()=>{let e=ed(t.pm10,"pm10"),n=ed(t.pm25,"pm25");return(0,i.jsxs)("div",{className:"grid grid-cols-2 gap-4 items-center text-xs pb-0.5",children:[(0,i.jsxs)("div",{className:"flex items-center gap-1.5 text-zinc-500 dark:text-zinc-400",children:[(0,i.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500 font-medium",children:"미ì¸ë¨¼ì§"}),(0,i.jsx)("span",{className:(0,o.cn)("w-1.5 h-1.5 rounded-full shrink-0",e.dotColor)}),(0,i.jsx)("span",{className:(0,o.cn)("font-semibold",e.textColor),children:e.label}),(0,i.jsxs)("span",{className:"text-[11px] text-zinc-400 dark:text-zinc-500 tabular-nums",children:[Math.round(t.pm10),"ã"]})]}),(0,i.jsxs)("div",{className:"flex items-center gap-1.5 text-zinc-500 dark:text-zinc-400",children:[(0,i.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500 font-medium",children:"ì´ë¯¸ì¸ë¨¼ì§"}),(0,i.jsx)("span",{className:(0,o.cn)("w-1.5 h-1.5 rounded-full shrink-0",n.dotColor)}),(0,i.jsx)("span",{className:(0,o.cn)("font-semibold",n.textColor),children:n.label}),(0,i.jsxs)("span",{className:"text-[11px] text-zinc-400 dark:text-zinc-500 tabular-nums",children:[Math.round(t.pm25),"ã"]})]})]})})()]}):(0,i.jsx)("div",{className:"flex items-center justify-center h-full text-xs text-zinc-400 text-center py-4",children:"ë ì¨ ì 보를 ë¶ë¬ì¬ ì ììµëë¤."})})}var ex=n(35363);function eu(e){let{data:t,isEditing:n=!1,customLayouts:l,customVisibleWidgets:a,onLayoutChangeOverride:r,onRemoveWidget:x,transformScale:u=1}=e,m=(0,d.Ln)(),h=l||m.layouts,g=a||m.visibleWidgets,j=s.useMemo(()=>(g||[]).filter(e=>e in d.DV),[g]),z=r||m.updateLayout,w=s.useMemo(()=>{let e=(null==h?void 0:h.lg)||(null==h?void 0:h.md)||[],t=new Map;
1e.forEach(e=>{var n,i;t.set(e.i,{x:null!==(n=e.x)&&void 0!==n?n:0,y:null!==(i=e.y)&&void 0!==i?i:99})});let n=[...j].sort((e,n)=>{let i=t.get(e)||{x:0,y:99},s=t.get(n)||{x:0,y:99};return i.y!==s.y?i.y-s.y:i.x-s.x}),i=n.indexOf("meal"),s=n.indexOf("timetable");if(-1!==i&&-1!==s&&i!==s+1){let[e]=n.splice(i,1),t=n.indexOf("timetable");n.splice(t+1,0,e)}return n},[j,h]),[y,k]=(0,s.useState)(!1);if((0,s.useEffect)(()=>k(!0),[]),!y)return null;let N=e=>{var n,s,l;let a=null===(n=h.lg)||void 0===n?void 0:n.find(t=>t.i===e),r=null==a?void 0:a.w,c=null==a?void 0:a.h;switch(e){case"weather":return(0,i.jsx)(eo,{});case"timetable":return(0,i.jsx)(f,{timetableView:t.timetableView,setTimetableView:t.setTimetableView,timetableData:t.timetableData,todayInfo:t.todayInfo,onReload:t.onReload,w:r,h:c});case"memo":return(0,i.jsx)(b,{memo:t.memo,onMemoChange:t.onMemoChange,onMemoBlur:t.onMemoBlur});case"schedule":return(0,i.jsx)(p,{events:t.scheduleEvents,isGuest:t.isGuest});case"attendance":return(0,i.jsx)(v,{stats:t.attendanceStats,records:t.attendanceRecords,isGuest:t.isGuest,homeroomStudents:t.homeroomStudents});case"roles":return(0,i.jsx)(L,{roleAssignments:t.roleAssignments,onReload:t.onReload});case"meal":return(0,i.jsx)(G,{schoolCode:null===(s=t.schoolInfo)||void 0===s?void 0:s.schoolCode,officeCode:null===(l=t.schoolInfo)||void 0===l?void 0:l.officeCode,onOpenSettings:t.onOpenSettings,isGuest:t.isGuest});case"checklist":return(0,i.jsx)(V,{isGuest:t.isGuest});case"work-note-shortcut":return(0,i.jsx)(q,{onNavigate:t.onNavigate});case"dday":return(0,i.jsx)(en,{isGuest:t.isGuest,guestEvents:t.scheduleEvents,onNavigate:t.onNavigate});default:return null}},C=e=>(0,i.jsx)("div",{className:"md:h-full h-auto w-full relative",children:N(e)},e);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"md:hidden flex flex-col gap-4 px-4 pt-4 mobile-scroll-bottom",children:0===w.length?(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4 text-center rounded-2xl border-2 border-dashed border-zinc-200 dark:border-zinc-800 bg-zinc-50/50 dark:bg-zinc-900/20 my-4",children:[(0,i.jsx)("div",{className:"w-10 h-10 rounded-full bg-zinc-100 dark:bg-zinc-800 flex items-center justify-center mb-2.5 text-zinc-400",children:(0,i.jsx)(ex.Z,{size:18})}),(0,i.jsx)("p",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-300 mb-1",children:"íìí ìì ¯ì´ ììµëë¤."}),(0,i.jsx)("p",{className:"text-xs text-zinc-400 dark:text-zinc-500 max-w-xs",children:"íë¨ì ë²í¼ì ëë¬ ìì ¯ì ì¶ê°í´ë³´ì¸ì."})]}):w.map(e=>(0,i.jsx)("div",{className:"flex-shrink-0",children:C(e)},e))}),(0,i.jsx)("div",{className:(0,o.cn)("hidden md:block",n&&"dashboard-editing"),children:0===j.length?(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4 text-center rounded-2xl border-2 border-dashed border-zinc-200 dark:border-zinc-800 bg-zinc-50/50 dark:bg-zinc-900/20 my-6",children:[(0,i.jsx)("div",{className:"w-12 h-12 rounded-full bg-zinc-100 dark:bg-zinc-800 flex items-center justify-center mb-3 text-zinc-400",children:(0,i.jsx)(ex.Z,{size:20})}),(0,i.jsx)("p",{className:"text-sm font-semibold text-zinc-700 dark:text-zinc-200 mb-1",children:"íì ì¤ì¸ ìì ¯ì´ ììµëë¤."}),(0,i.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400 max-w-sm",children:n?"ìë¨ í´ë°ì '+ ìì ¯ ì¶ê°' ë©ë´ë¥¼ ëë¬ íìí ìì ¯ì ì¶ê°í´ë³´ì¸ì.":"íë¨ì 'ìì ¯ ì¶ê° ë° ë°°ì¹ í¸ì§' ë²í¼ì ëë¬ ìì ¯ì ì¶ê°í´ë³´ì¸ì."})]}):(0,i.jsx)(c,{layouts:h,onLayoutChange:(e,t)=>
1{n&&z(t)},isDraggable:n,isResizable:n,transformScale:u,children:j.map(e=>{let t=d.DV[e];return(0,i.jsx)("div",{"data-grid":t?{i:e,x:0,y:0,w:t.defaultW,h:t.defaultH,minW:t.minW,minH:t.minH,maxW:t.maxW,maxH:t.maxH,isResizable:n,isDraggable:n}:void 0,children:(0,i.jsxs)("div",{className:(0,o.cn)("h-full w-full relative",!n&&"transition",n&&"select-none cursor-move dashboard-drag-handle ring-2 ring-blue-500/30 rounded-xl"),children:[n&&x&&(0,i.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),x(e)},className:"no-drag absolute -top-2.5 -right-2.5 z-30 w-6 h-6 rounded-full border border-rose-500 dark:border-rose-400 bg-white dark:bg-zinc-900 text-rose-500 dark:text-rose-400 hover:bg-rose-50 dark:hover:bg-rose-950/40 hover:border-rose-600 dark:hover:border-rose-300 hover:text-rose-600 dark:hover:text-rose-300 shadow-xs flex items-center justify-center transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer group",title:"ìì ¯ ì¨ê¸°ê¸°","aria-label":"".concat(e," ìì ¯ ì¨ê¸°ê¸°"),children:(0,i.jsx)(W.Z,{size:12,strokeWidth:2.2,className:"transition-transform duration-200 group-hover:rotate-90"})}),n&&(0,i.jsx)("div",{className:"absolute inset-0 z-10 bg-transparent"}),(0,i.jsx)("div",{className:"h-full w-full",children:N(e)})]})},e)})})})]})}},21235:function(e,t,n){n.d(t,{Od:function(){return l},R4:function(){return a}});var i=n(57437),s=n(93448);function l(e){let{className:t,variant:n="rect",width:l,height:a,style:r,...c}=e;return(0,i.jsx)("div",{className:(0,s.cn)("relative overflow-hidden bg-zinc-200/70 dark:bg-white/5 animate-shimmer",{text:"h-4 rounded-md",rect:"rounded-xl",circle:"rounded-full",card:"rounded-2xl"}[n],t),style:{width:void 0!==l?"number"==typeof l?"".concat(l,"px"):l:void 0,height:void 0!==a?"number"==typeof a?"".concat(a,"px"):a:void 0,...r},"aria-hidden":"true",...c})}function a(){return(0,i.jsxs)("div",{className:"space-y-3 py-2",children:[(0,i.jsx)(l,{variant:"rect",height:100,className:"w-full rounded-2xl"}),(0,i.jsx)(l,{variant:"rect",height:180,className:"w-full rounded-2xl"}),(0,i.jsx)(l,{variant:"rect",height:90,className:"w-full rounded-2xl"})]})}n(2265)},46173:function(e,t,n){n.d(t,{OL:function(){return i},on:function(){return c}});let i=["ì¡°í","1êµì","2êµì","3êµì","4êµì","5êµì","6êµì","7êµì","ì¢
ë¡"],s={fg:"#5B429E",darkFg:"#B29FEA"},l={ê²°ì:{fg:"#C40000",darkFg:"#FF5A5A"},ì¡°í´:s,ì§ê°:s,ê²°ê³¼:s},a={fg:"#52525B",darkFg:"#A1A1AA"},r={ì§ë³:a,ì¸ì :a,미ì¸ì :a,기í:a},c=e=>{var t;return null!==(t=l[e])&&void 0!==t?t:r[e]}},22606:function(e,t,n){n.d(t,{DV:function(){return l},Gj:function(){return a},Ln:function(){return u},h4:function(){return r}});var i=n(3011),s=n(89134);let l={timetable:{id:"timetable",label:"ìê°í",defaultW:1,defaultH:2,minW:1,minH:1},attendance:{id:"attendance",label:"ì¶ê²° íí©",defaultW:1,defaultH:2,minW:1,minH:1},roles:{id:"roles",label:"íìë³ ìí ",defaultW:1,defaultH:2,minW:1,minH:1},meal:{id:"meal",label:"ì¤ëì ê¸ì",defaultW:1,defaultH:1,minW:1,minH:1},checklist:{id:"checklist",label:"ì²´í¬ë¦¬ì¤í¸",defaultW:1,defaultH:1,minW:1,minH:1},"work-note-shortcut":{id:"work-note-shortcut",label:"ì
무ë
¸í¸ ë°ë¡ê°ê¸°",defaultW:1,defaultH:1,minW:1,minH:1},memo:{id:"memo",label:"ë©ëª¨",defaultW:1,defaultH:2,minW:1,minH:1},schedule:{id:"schedule",label:"ë¤ê°ì¤ë ì¼ì ",defaultW:1,defaultH:4,minW:1,minH:1},dday:{id:"dday",label:"D-DAY",defaultW:1,defaultH:1,minW:1,minH:1},weather:{id:"weather",label:"ì¤ëì ë ì¨",defaultW:1,defaultH:2,minW:1,minH:1}},a={lg:[{i:"timetable",x:0,y:0,w:1,h:2,minW:1,minH:1},{i:"attendance",x:0,y:2,w:1,h:2,minW:1,minH:1},{i:"work-note-shortcut",x:0,y:4,w:1,h:1,minW:1,minH:1},{i:"roles",x:0,y:5,w:1,h:2,minW:1,minH:1},{i:"meal",x:1,y:0,w:1,h:1,minW:1,minH:1},{i:"weather",x:1,y:1,w:1,h:1,minW:1,minH:1},{i:"checklist",x:1,y:2,w:1,h:1,minW:1,minH:1},{i:"memo",x:1,y:3,w:1,h:2,minW:1,minH:1},{i:"dday",x:2,y:0,w:1,h:1,minW:1,minH:1},{i:"schedule",x:2,y:1,w:1,h:4,minW:1,minH:1}],md:[{i:"timetable",x:0,y:0,w:1,h:2,minW:1,minH:1},{i:"attendance",x:0,y:2,w:1,h:2,minW:1,minH:1},{i:"work-note-shortcut",x:0,y:4,w:1,h:1,minW:1,minH:1},{i:"roles",x:0,y:5,w:1,h:2,minW:1,minH:1},{i:"meal",x:1,y:0,w:1,h:1,minW:1,minH:1},{i:"weather",x:1,y:1,w:1,h:1,minW:1,minH:1},{i:"checklist",x:1,y:2,w:1,h:1,minW:1,minH:1},{i:"memo",x:1,y:3,w:1,h:2,minW:1,minH:1},{i:"dday",x:2,y:0,w:1,h:1,minW:1,minH:1},{i:"schedule",x:2,y:1,w:1,h:4,minW:1,minH:1}],sm:[{i:"timetable",x:0,y:0,w:1,h:2,minW:1,minH:1},{i:"attendance",x:0,y:2,w:1,h:2,minW:1,minH:1},{i:"work-note-shortcut",x:0,y:4,w:1,h:1,minW:1,minH:1},{i:"memo",x:0,y:5,w:1,h:2,minW:1,minH:1},{i:"roles",x:0,y:7,w:1,h:2,minW:1,minH:1},{i:"meal",x:1,y:0,w:1,h:1,minW:1,minH:1},{i:"weather",x:1,y:1,w:1,h:1,minW:1,minH:1},{i:"checklist",x:1,y:2,w:1,h:1,minW:1,minH:1},{i:"dday",x:1,y:3,w:1,h:1,minW:1,minH:1},{i:"schedule",x:1,y:4,w:1,h:4,minW:1,minH:1}]},r=["timetable","attendance","meal","checklist","memo","schedule","
1weather","dday","work-note-shortcut"],c=new Set(Object.keys(l));function d(e){if(!Array.isArray(e))return r;let t=[],n=!1,i=!1;for(let s of e)"string"==typeof s&&("dday"===s?(n=!0,t.push("dday")):s.startsWith("dday:")?i=!0:c.has(s)&&t.push(s));return i&&!n&&t.push("dday"),Array.from(new Set(t))}function o(e,t){if(!e||"object"!=typeof e)return a;let n=new Set(t||Object.keys(l)),i={};for(let[t,s]of Object.entries(e))Array.isArray(s)?i[t]=s.filter(e=>e&&"string"==typeof e.i&&(n.has(e.i)||"dday"===e.i)).map(e=>{let t=l[e.i];if(!t)return e;let n={...e,minW:t.minW,minH:t.minH};return void 0!==t.maxW?n.maxW=t.maxW:delete n.maxW,void 0!==t.maxH?n.maxH=t.maxH:delete n.maxH,n}):i[t]=s;return i}let x={},u=(0,i.U)()((0,s.tJ)(e=>({layouts:a,visibleWidgets:r,widgetConfig:x,isLoaded:!1,updateLayout:t=>e({layouts:t}),toggleWidget:t=>e(e=>({visibleWidgets:e.visibleWidgets.includes(t)?e.visibleWidgets.filter(e=>e!==t):[...e.visibleWidgets,t]})),saveConfig:(t,n)=>{let i=d(n);e({layouts:o(t,i),visibleWidgets:i})},setConfig:(t,n)=>{let i=d(n);e({layouts:o(t,i),visibleWidgets:i})},setWidgetEventConfig:(t,n)=>e(e=>({widgetConfig:{...e.widgetConfig,[t]:{eventId:n}}})),clearWidgetEventConfig:t=>e(e=>{let n={...e.widgetConfig};return delete n[t],{widgetConfig:n}}),resetLayout:()=>e({layouts:a,visibleWidgets:r}),initFromData:(t,n,i)=>{let s=d(n||r);e({layouts:o(t||a,s),visibleWidgets:s,widgetConfig:i||x,isLoaded:!0})},loadFromServer:(t,n,i)=>{let s=d(n||r);e({layouts:o(t||a,s),visibleWidgets:s,widgetConfig:i||x,isLoaded:!0})},setLoaded:t=>e({isLoaded:t}),clear:()=>e({layouts:a,visibleWidgets:r,widgetConfig:x,isLoaded:!1})}),{name:"dashboard-storage-v1",version:2,migrate:e=>{var t;return{layouts:a,visibleWidgets:r,widgetConfig:null!==(t=null==e?void 0:e.widgetConfig)&&void 0!==t?t:x}},partialize:e=>({layouts:e.layouts,visibleWidgets:e.visibleWidgets,widgetConfig:e.widgetConfig}),onRehydrateStorage:()=>e=>{e&&(e.visibleWidgets=d(e.visibleWidgets),e.layouts=o(e.layouts,e.visibleWidgets))}}))}}]);
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.