1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6248],{48313:function(e,t,n){n.d(t,{Z:function(){return r}});var i=n(2265),a=n(54887);function r(e){let{children:t}=e,[n,r]=(0,i.useState)(!1);return(0,i.useEffect)(()=>(r(!0),()=>r(!1)),[]),n?(0,a.createPortal)(t,document.body):null}},80664:function(e,t,n){n.d(t,{g:function(){return y}});var i=n(57437),a=n(2265),r=n(29827),s=n(73369),l=n(32489),c=n(54001),o=n(49322),d=n(33245),u=n(51817),m=n(30401),x=n(82023),f=n(83008),p=n(34137),h=n(36950),v=n(71719),b=n(40291),g=n(31235),k=n(45007),N=n(39561);let w=["ì´ë¯¸ ì¬ì©ë ì½ëì
ëë¤.","ë§ë£ë ì½ëì
ëë¤."];function y(e){let{isOpen:t,onClose:n,onSuccess:y}=e,j=(0,N.g)(),R=(0,r.NL)(),[I,z]=(0,a.useState)(""),[_,O]=(0,a.useState)(!1),[C,D]=(0,a.useState)(null),[A,S]=(0,a.useState)("input"),[E,Z]=(0,a.useState)(null),[L,X]=(0,a.useState)(0),[M,H]=(0,a.useState)(null);if((0,a.useEffect)(()=>{if(!t){let e=setTimeout(()=>{z(""),D(null),S("input"),Z(null),X(0),H(null),O(!1)},200);return()=>clearTimeout(e)}},[t]),(0,p.j)(n,t),!t)return null;let G=async e=>{if(e.preventDefault(),I.replace(/-/g,"").trim()){O(!0),D(null);try{var t,n,i,a,r,l;let e=(0,v.q)(I),[c,o]=await Promise.all([j?Promise.resolve(null):(0,f.X)("validateLicenseCode",{code:I},{}).catch(()=>null),e?(0,h.F)({action:"preview-invite",token:e}).catch(()=>null):Promise.resolve(null)]);if(!(null==c?void 0:c.success)&&(null==o?void 0:o.success)&&!Array.isArray(o.data)&&"invitationPreview"in o.data){let t=o.data.invitationPreview,n=await (0,h.F)({action:"join",token:e});if(!n.success){D(n.error);return}R.invalidateQueries({queryKey:s.bs.all}),R.invalidateQueries({queryKey:s.ic.all}),H({schoolName:t.schoolName,seats:t.roles.map(e=>(0,g.S4)(e,t)).join(" \xb7 ")}),S("school");return}if(!(null==c?void 0:c.success)){let e=!o||o.success||["INVITE_NOT_FOUND","INPUT","NOT_READY"].includes(null!==(t=o.code)&&void 0!==t?t:"")?null:o.error,i=c&&!c.success&&w.includes(null!==(n=c.error)&&void 0!==n?n:"")?c.error:null;D(i||e||"ë±ë¡í ì ìë ì½ëì
ëë¤. ë°ì ì½ë를 ë¤ì íì¸í´ 주ì¸ì.");return}let d=await (0,f.X)("redeemLicenseCode",{code:I},{});d.success?(Z(null!==(r=null===(i=d.data)||void 0===i?void 0:i.paidUntil)&&void 0!==r?r:null),X(null!==(l=null===(a=d.data)||void 0===a?void 0:a.bonusCredits)&&void 0!==l?l:0),S("success")):D(d.error||"ë±ë¡í ì ìë ì½ëì
ëë¤. ë¤ì íì¸í´ 주ì¸ì.")}catch(e){D("ì½ë ë±ë¡ ì¤ ì¤ë¥ê° ë°ìíìµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.")}finally{O(!1)}}},P=I.replace(/-/g,"").length>0;return(0,i.jsx)("div",{className:"modal-viewport z-[120000] flex items-center justify-center bg-black/60 backdrop-blur-sm p-4 animate-in fade-in duration-200",onClick:e=>e.target===e.currentTarget&&n(),children:(0,i.jsxs)("div",{className:"relative w-full max-w-[400px] bg-white dark:bg-[#121212] border border-zinc-200 dark:border-white/10 rounded-2xl shadow-2xl overflow-hidden animate-in zoom-in-95 duration-150 flex flex-col",children:[(0,i.jsx)("button",{type:"button",onClick:n,"aria-label":"ë«ê¸°",className:"absolute top-4 right-4 p-1.5 text-zinc-400 hover:text-zinc-600 dark:hover:text-white rounded-lg hover:bg-zinc-100 dark:hover:bg-white/5 transition-colors",children:(0,i.jsx)(l.Z,{size:18})}),(0,i.jsx)("div",{className:"p-7",children:"input"===A?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"w-11 h-11 rounded-xl flex items-center justify-center bg-zinc-100 dark:bg-white/5 border border-zinc-200 dark:border-white/10 text-zinc-800 dark:text-zinc-100 mb-4",children:(0,i.jsx)(c.Z,{size:20})}),(0,i.jsx)("h2",{className:"text-lg font-bold tracking-tight text-zinc-900 dark:text-white mb-1.5",children:j?"íêµ ì´ë":"ì½ë ì
ë ¥"}),(0,i.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400 leading-relaxed mb-6",children:j?"íêµ ê´ë¦¬ìê° ë³´ë¸ ì´ë ì½ë를 ì
ë ¥íì¸ì. íêµ ì°¸ì¬ë ì ë£ íë 구매ì ë³ê°ì
ëë¤.":"ì´ì©ê¶ ì½ëë ì´ë ì½ëë ë°ì ì½ë를 ê·¸ëë¡ ë£ì´ 주ì¸ì. ë´ëª¨ê° ììì ë§ê² ì ì©í©ëë¤."}),(0,i.jsxs)("form",{onSubmit:G,className:"space-y-4",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("label",{className:"block text-xs font-semibold text-zinc-700 dark:text-zinc-300 mb-2",children:"ì½ë (12ì리)"}),(0,i.jsx)("div",{className:"relative",children:(0,i.jsx)("input",{type:"text",value:I,onChange:e=>{let t=e.target.value;/[ã±-ã
ã
-ã
£ê°-í£]/.test(t)?D("ì½ëë ì문과 ì«ìë§ ì
ë ¥í ì ììµëë¤. (í/ì í¤ë¥¼ íì¸í´ 주ì¸ì)"):C&&C.includes("í/ì í¤")?D(null):C&&D(null),z((0,b.HL)(t.replace(/[ã±-ã
ã
-ã
£ê°-í£]/g,"")))},placeholder:"XXXX-XXXX-XXXX",autoFocus:!0,autoComplete:"off",spellCheck:!1,className:["w-full bg-zinc-50 dark:bg-white/5 rounded-xl px-4 py-3.5","text-base text-zinc-900 dark:text-white font-mono tracking-widest text-center uppercase font-medium","placeholder:text-zinc-300 dark:placeholder:text-zinc-600 placeholder:tracking-widest placeholder:font-normal","border outline-none transition duration-150",C?"border-red-500/80 dark:border-red-500/80 ring-2 ring-red-500/20 bg-red-50/20 dark:bg-red-950/10":"border-zinc-200 dark:border-white/10 focus:border-zinc-900 dark:focus:border-white focus:ring-2 focus:ring-zinc-900/10 dark:focus:ring-white/10 focus:bg-white dark:focus:bg-[#181818]"].join(" ")})}),(0,i.jsx)("div",{className:"mt-2.5 min-h-[20px] flex items-start gap-1.5",children:C?(0,i.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-medium text-red-600 dark:text-red-400 animate-in fade-in duration-150",children:[(0,i.jsx)(o.Z,{size:14,className:"shrink-0 mt-0.5"}),(0,i.jsx)("span",{children:C})]}):(0,i.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-zinc-400 dark:text-zinc-500",children:[(0,i.jsx)(d.Z,{size:13,className:"shrink-0"}),(0,i.jsx)("span",{children:"ê¸ìë§ ì
ë ¥íë©´ íì´í(-)ì ìëì¼ë¡ ë¤ì´ê°ëë¤."})]})})]}),(0,i.jsx)("div",{className:"pt-2",children:(0,i.jsx)("button",{type:"submit",disabled:_||!P,className:["license-btn-primary w-full py-3.5 rounded-xl text-sm font-semibold transition duration-150 flex items-center justify-center gap-2",_||!P?"opacity-40 cursor-not-allowed":"hover:opacity-90 active:scale-[0.99] cursor-pointer"].join(" "),children:_?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(u.Z,{size:16,className:"animate-spin"}),"ì½ë íì¸ ì¤..."]}):"ë±ë¡í기"})})]})]}):"school"===A?(0,i.jsxs)("div",{className:"pt-1 text-center",role:"status",children:[(0,i.jsx)("div",{className:"flex justify-center mb-2",children:(0,i.jsx)(k.w,{src:"/lordicons/collaboration-confetti.json",size:104,trigger:"in",originalColors:!0})}),(0,i.jsx)("h2",{className:"text-lg font-bold tracking-tight text-zinc-900 dark:text-white mb-1.5",children:"íêµì ì°ê²°ëììµëë¤"}),(0,i.jsxs)("p",{className:"text-sm font-semibold text-zinc-800 dark:text-zinc-100 mb-6",children:[null==M?void 0:M.schoolName,(null==M?void 0:M.seats)?" \xb7 ".concat(M.seats):""]}),(0,i.jsx)("button",{type:"button",onClick:()=>{null==y||y(),"/"===window.location.pathname?(window.location.hash="student-management",window.location.reload()):window.location.assign("/#student-management")},className:"license-btn-primary w-full py-3.5 rounded-xl text-sm font-semibold hover:opacity-90 active:scale-[0.99] transition duration-150",children:"íì ê´ë¦¬ë¡ ì´ë"})]}):(0,i.jsxs)("div",{className:"pt-1 text-center sm:text-left",children:[(0,i.jsx)("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center bg-emerald-500/10 border border-emerald-500/20 text-emerald-600 dark:text-emerald-400 mb-4",children:(0,i.jsx)(m.Z,{size:24,strokeWidth:2.5})}),(0,i.jsx)("h2",{className:"text-lg font-bold tracking-tight text-zinc-900 dark:text-white mb-1.5",children:"ì´ì©ê¶ì´ ë±ë¡ëììµëë¤!"}),(0,i.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400 leading-relaxed mb-6",children:"ì ë£ íëì´ ì ì©ëì´ ëª¨ë 기ë¥ì ì í ìì´ ì´ì©íì¤ ì ììµëë¤."}),(E||L>0)&&(0,i.jsxs)("div",{className:"bg-zinc-50 dark:bg-white/5 border border-zinc-200 dark:border-white/10 rounded-xl p-4 mb-6 space-y-3",children:[E&&(0,i.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,i.jsx)("span",{className:"text-zinc-500 dark:text-zinc-400 font-medium",children:"ì´ì© ë§ë£ì¼"}),(0,i.jsx)("span",{className:"font-semibold text-zinc-900 dark:text-white",children:new Date(E).toLocaleDateString("ko-KR",{year:"numeric",month:"long",day:"numeric"})+"ê¹ì§"})]}),L>0&&(0,i.jsxs)("div",{className:"flex items-center justify-between text-sm pt-2.5 border-t border-zinc-200/60 dark:border-white/5",children:[(0,i.jsxs)("span",{className:"flex items-center gap-1.5 text-zinc-500 dark:text-zinc-400 font-medium",children:[(0,i.jsx)(x.Z,{size:14,className:"text-amber-500"}),"ë³´ëì¤ í¬ë ë§"]}
1),(0,i.jsxs)("span",{className:"font-bold text-blue-600 dark:text-blue-400",children:["+",L,"ê° ì§ê¸ ìë£"]})]})]}),(0,i.jsx)("button",{type:"button",onClick:()=>{null==y||y(),window.location.reload()},className:"license-btn-primary w-full py-3.5 rounded-xl text-sm font-semibold hover:opacity-90 active:scale-[0.99] transition duration-150",children:"ë°ë¡ ììí기"})]})})]})})}},39561:function(e,t,n){n.d(t,{g:function(){return r}});var i=n(2265),a=n(9244);function r(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{t((0,a.Ig)())},[]),e}},71719:function(e,t,n){n.d(t,{P:function(){return a},q:function(){return r}});var i=n(40291);function a(e,t){return"".concat(e,"/school-collaboration/invite#token=").concat(encodeURIComponent(t))}function r(e){let t=e.trim(),n=(0,i.B$)(t);if(n)return n;try{var a;let e=new URL(t);if("/school-collaboration/invite"!==e.pathname)return"";return(0,i.B$)(null!==(a=new URLSearchParams(e.hash.slice(1)).get("token"))&&void 0!==a?a:"")}catch(e){return""}}},40291:function(e,t,n){n.d(t,{Aw:function(){return s},B$:function(){return r},HL:function(){return l}});let i=/^[23456789ABCDEFGHJKMNPQRSTUVWXYZ]{12}$/,a=/^[A-Za-z0-9_-]{43}$/;function r(e){let t=e.replace(/\s+/g,"");if(a.test(t))return t;let n=t.replace(/-/g,"").toUpperCase();return i.test(n)?n:""}function s(e){return i.test(e)?e.match(/.{4}/g).join("-"):e}function l(e){var t,n;if(/[/:]/.test(e))return e;let i=e.replace(/[^A-Za-z0-9]/g,"").toUpperCase();return i.length>12||/[_]/.test(e)?e:null!==(n=null===(t=i.match(/.{1,4}/g))||void 0===t?void 0:t.join("-"))&&void 0!==n?n:""}},31235:function(e,t,n){n.d(t,{S4:function(){return l},cM:function(){return s},fU:function(){return r}});var i=n(85461),a=n(55369);let r=[{value:"SCHOOL",label:"íêµ ì´ì\xb7ê³µíµ ì
무"},{value:"GRADE_1",label:"1íë
êµë¬´ì¤"},{value:"GRADE_2",label:"2íë
êµë¬´ì¤"},{value:"GRADE_3",label:"3íë
êµë¬´ì¤"},{value:"",label:"ìì 미배ì "}],s=e=>{var t;return(null===(t=r.find(t=>t.value===(e||"")))||void 0===t?void 0:t.label)||"ìì 미배ì "};function l(e,t){if("SCHOOL_ADMIN"===e.kind&&e.title)return(0,i.aQ)(e.title);if("GRADE_ADMIN"===e.kind)return"".concat(e.grade,"íë
ê´ë¦¬ì");let n=t.classes.find(t=>t.id===e.classId);return"".concat("HOMEROOM"===e.kind&&n?"".concat(n.grade,"íë
").concat(n.classNum,"ë° "):e.grade?"".concat(e.grade,"íë
"):"").concat(a.LI[e.kind]||e.kind)}},85461:function(e,t,n){n.d(t,{aQ:function(){return b},oX:function(){return h},s4:function(){return g},PO:function(){return v}});var i=n(91351),a=n(29133),r=n(55369),s=n(40291);let l=i.Z_().max(200).transform(s.B$).refine(Boolean,"ì´ë ì½ë를 ë¤ì íì¸í´ 주ì¸ì."),c=i.Km(["SCHOOL","GRADE_1","GRADE_2","GRADE_3"]).nullable(),o=i.Z_().min(1).max(100),d=i.Rx().int().min(2e3).max(2100),u=i.Rx().int().min(1).max(3),m=i.Z_().trim().min(1).max(60).transform(e=>e.normalize("NFC")),x=i.Z_().regex(/^(school|none|grade:[123]|class:.{1,100})$/).nullable(),f=i.Z_().trim().min(1,"ìí ì´ë¦ì ì
ë ¥í´ ì£¼ì¸ì.").max(30,"ìí ì´ë¦ì 30ì ì´ë´ë¡ ì
ë ¥í´ ì£¼ì¸ì.").transform(e=>e.normalize("NFC")),p=i.Ry({kind:i.Km(r.F5),viewScope:x.optional(),grade:u.nullable().default(null),classId:o.nullable().default(null),title:f.nullable().optional()}).strict().superRefine((e,t)=>{e.title&&"SCHOOL_ADMIN"!==e.kind&&t.addIssue({code:a.NL.custom,message:"ì´ë¦ì íêµ ê´ë¦¬ì ìí ìë§ ë¶ì¼ ì ììµëë¤."}),("HOMEROOM"===e.kind?null!==e.classId&&null===e.grade:"GRADE_ADMIN"===e.kind||"MOCK_COORDINATOR"===e.kind?null!==e.grade&&null===e.classId:null===e.grade&&null===e.classId)||t.addIssue({code:a.NL.custom,message:"ìí ì ë§ë íë
ëë ë°ì ì íí´ ì£¼ì¸ì."})});function h(e){return"SCHOOL_ADMIN"===e.kind?b(e.title)||"íêµ ê´ë¦¬ì":"GRADE_ADMIN"===e.kind?"".concat(e.grade,"íë
ê´ë¦¬ì"):"".concat(e.grade,"íë
").concat(e.classNum,"ë° ë´ì")}function v(e){return"SCHOOL_ADMIN"===e.kind?"íêµ ì ì²´ íì":"GRADE_ADMIN"===e.kind?"".concat(e.grade,"íë
ì ì²´ íì"):"".concat(e.grade,"íë
").concat(e.classNum,"ë° íì")}i.IX(p).max(3),i.VK("action",[i.Ry({action:i.i0("list")}
1).strict(),i.Ry({action:i.i0("create"),schoolCode:i.Z_().regex(/^\d{5,12}$/),officeCode:i.Z_().regex(/^[A-Z]\d{2}$/)}).strict(),i.Ry({action:i.i0("preview-invite"),token:l}).strict(),i.Ry({action:i.i0("join"),token:l}).strict(),i.Ry({action:i.i0("detail"),spaceId:o}).strict(),i.Ry({action:i.i0("class"),spaceId:o,academicYear:d,grade:u,classNum:i.Rx().int().min(1).max(99)}).strict(),i.Ry({action:i.i0("reissue-invite"),spaceId:o,invitationId:o}).strict(),i.Ry({action:i.i0("suggest-structure"),spaceId:o}).strict(),i.Ry({action:i.i0("setup-structure"),spaceId:o,grades:i.IX(i.Ry({grade:u,classCount:i.Rx().int().min(0).max(20)}).strict()).min(1).max(3).refine(e=>new Set(e.map(e=>e.grade)).size===e.length,"íë
ì´ ì¤ë³µëììµëë¤.").refine(e=>e.some(e=>e.classCount>0),"í íë
ì´ì ë° ì를 ì
ë ¥í´ ì£¼ì¸ì.")}).strict(),i.Ry({action:i.i0("add-seats"),spaceId:o,count:i.Rx().int().min(1).max(10)}).strict(),i.Ry({action:i.i0("rename-seat"),spaceId:o,assignmentId:o.optional(),invitationId:o.optional(),title:f}).strict(),i.Ry({action:i.i0("remove-seat"),spaceId:o,assignmentId:o.optional(),invitationId:o.optional()}).strict(),i.Ry({action:i.i0("claim-seat"),spaceId:o,invitationId:o}).strict(),i.Ry({action:i.i0("issue-seat"),spaceId:o,kind:i.Km(["HOMEROOM","GRADE_ADMIN"]),grade:u.optional(),classId:o.optional()}).strict(),i.Ry({action:i.i0("reissue-expired"),spaceId:o}).strict(),i.Ry({action:i.i0("revoke-invite"),spaceId:o,invitationId:o}).strict(),i.Ry({action:i.i0("move-directory"),spaceId:o,entryId:i.Z_().min(1).max(220),directoryRevision:i.Rx().int().nonnegative(),office:c.optional(),anchorId:i.Z_().min(1).max(220).nullable(),placement:i.Km(["before","after"])}).strict(),i.Ry({action:i.i0("roles"),spaceId:o,office:c.optional(),memberId:o,revision:i.Rx().int().nonnegative(),operator:i.O7().optional(),roles:i.IX(p).max(4).superRefine((e,t)=>{let n=e.map(e=>e.kind);new Set(n).size!==n.length&&t.addIssue({code:a.NL.custom,message:"ë´ì\xb7íë
ê´ë¦¬ì ëë íêµ ê´ë¦¬ì\xb7ì±ì ì
무ë ê°ê° íëì© ë°°ì í´ ì£¼ì¸ì."})})}).strict(),i.Ry({action:i.i0("leave"),spaceId:o,memberId:o,revision:i.Rx().int().nonnegative()}).strict(),i.Ry({action:i.i0("register-roster"),spaceId:o,classId:o,revision:i.Rx().int().nonnegative(),rows:i.IX(i.Ry({number:i.Rx().int().min(1).max(999),name:m}).strict()).min(1).max(100)}).strict()]);let b=e=>null==e?void 0:e.replace(/^ì ì²´\s*ì¡°í(\s*\d+)?$/,"íêµ ê´ë¦¬ì"),g=e=>{var t;return(null===(t=e.invitation)||void 0===t?void 0:t.office)!==void 0?e.invitation.office||"":"SCHOOL_ADMIN"===e.kind?"SCHOOL":"GRADE_".concat(e.grade)}},2665:function(e,t,n){n.d(t,{Om:function(){return i}});function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date,n=e?e instanceof Date?e:new Date(e):null;return!!n&&n.getTime()>t.getTime()}}}]);
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.