PageSourceSearch

https://drivingteacher.co.kr/_next/static/chunks/pages/my-academy/schedule-10f0e8977d5deadc.js

js drivingteacher.co.kr collected 2026-10-01 15:26:03 UTC 70,396 bytes, 2 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[90338],{30381:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/my-academy/schedule",function(){return n(59844)}])},57168:function(e,t,n){"use strict";n.d(t,{h:function(){return r},w:function(){return l}});let r=e=>{let{history:t,pathname:n,queryName:r,search:l}=e,a=new URLSearchParams(l);a.set(r,"true");let i="".concat(n,"?").concat(a.toString()),s=t.state?{...t.state,as:i,url:i}:{as:i,url:i};try{return t.pushState(s,"",i),!0}catch(e){if(e instanceof DOMException&&"InvalidStateError"===e.name)return!1;throw e}},l=(e,t)=>"true"===new URLSearchParams(e).get(t)},18227:function(e,t,n){"use strict";n.d(t,{I:function(){return a}});var r=n(14237),l=n(16407);function a(e,t){let{data:n,isLoading:a,error:i}=(0,r.a)({queryKey:["neo","my-schedule",e,t],queryFn:async()=>{if(!e)return{success:!1,error:"Student ID required"};let n=await l.hi.neo["my-schedule"].$get({query:{studentId:e,...t&&{month:t}}}),r=await n.json();if(!n.ok&&!r.errorCode)throw Error("Failed to fetch schedule data");return r},enabled:!!e,staleTime:3e5,gcTime:6e5});return{schedules:(null==n?void 0:n.schedules)||{},isLoading:a,error:i,errorCode:null==n?void 0:n.errorCode}}},18095:function(e,t,n){"use strict";function r(e,t){return t.map(t=>{var n;return{id:"".concat(e,"-").concat(t.part,"-").concat(t.index),type:"theory"===(n=t.part)?"theory":"skill"===n?"skill":"exam"===n?"road_test":"road",date:t.date,startTime:t.time,endTime:function(e,t){let[n,r]=e.split(":").map(Number);if(!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(t))return e;let l=60*n+r+Math.round(60*t);return"".concat(String(Math.floor(l/60)%24).padStart(2,"0"),":").concat(String(l%60).padStart(2,"0"))}(t.time,t.hours),instructor:"",period:"".concat(t.index,"/").concat(t.total),part:t.index}})}function l(e){return function(e){let t={};for(let n of e){let e=t[n.date];e?e.push(n):t[n.date]=[n]}return t}(e.filter(e=>!e.isClosed).flatMap(e=>r(e.bookingId,e.sessions)))}function a(e){return e?e.isClosed?"closed":2===e.progressStep?"confirmed":"unconfirmed":"none"}n.d(t,{Am:function(){return a},Tz:function(){return r},i6:function(){return l}})},59844:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return eV}});var r=n(31549),l=n(44194),a=n(73840),i=n(32672),s=n(27009),o=n(3029),c=n(16010),d=n(9480),u=n(27614),m=n(18053);let f=["PENDING","PROCESSING","COORDINATING"];function p(e){return null!=e&&f.includes(e)}function x(e){let t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(n,"-").concat(r)}function h(e,t){let n=null;for(let r of e)r.type===t&&(!n||r.date>n.date||r.date===n.date&&r.startTime>n.startTime)&&(n=r);return n}n(62202);var g=n(14237),v=n(16407),y=n(91448);function b(e){return(0,g.a)({queryKey:["schedule-change","my-list",e],queryFn:async()=>{let t=await (0,y.p)(),n=await v.hi["schedule-change"]["my-list"].$get({query:{neoStudentId:e,limit:"100"}},{headers:t?{Authorization:"Bearer ".concat(t)}:void 0});if(!n.ok)throw Error("Failed to fetch schedule change requests");return n.json()},enabled:!!e,staleTime:0,refetchOnMount:"always"})}var w=n(39431),j=n(4031),S=n(39052),N=n(45107),T=n(23250),k=n(74295);function D(e){let{title:t,iconSrc:n,selected:l,onClick:a}=e;return(0,r.jsxs)("button",{type:"button",onClick:a,className:(0,T.cn)("flex h-[150px] flex-1 flex-col justify-between rounded-[24px] pb-16 pl-20 pr-20 pt-20 text-left",l?"bg-Yellow-100 border-Yellow-400 border-2":"bg-White-100 border-Gray-300 border-[1px]"),children:[(0,r.jsx)("span",{className:"text-16-normal-bold whitespace-pre-line text-Gray-900",children:t}),(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsx)("img",{src:n,alt:"",className:"h-[36px] w-[50px]"})})]})}function E(e){let{selectedMode:t,onSelectMode:n,onConfirm:a,onBack:i}=e;return(0,r.jsxs)("div",{className:"bg-White-100 flex h-full flex-col",children:[(0,r.jsx)(k.l,{title:"예약 변경",onClickBackButton:i}),(0,r.jsxs)("div",{className:"flex flex-1 flex-col items-start gap-32 px-16 pt-32",children:[(0,r.jsx)("h2",{className:"text-[24px] font-bold leading-[34px] text-Gray-900",children:"어떻게 일정을\n변경하고 싶으세요?".split("\n").map((e,t)=>(0,r.jsxs)(l.Fragment,{children:[e,0===t&&(0,r.jsx)("br",{})]},t))}),(0,r.jsxs)("div",{className:"flex w-full flex-row gap-8",children:[(0,r.jsx)(D,{mode:"advance",title:"예정보다\n땡기기",iconSrc:"/icons/change-mode-advance.svg",selected:"advance"===t,onClick:()=>n("advance")}),(0,r.jsx)(D,{mode:"postpone",title:"예정보다\n미루기",iconSrc:"/icons/change-mode-postpone.svg",selected:"postpone"===t,onClick:()=>n("postpone")})]})]}),(0,r.jsx)("div",{className:"flex gap-8 px-16 py-10",children:(0,r.jsx)(N.W,{styles:"filled-yellow",size:"xLarge",fill:!0,disabled:null===t,onClick:a,children:"확인"})})]})}var C=n(17488);function M(e){let{isOpen:t,schedules:n,onPrev:l,onConfirm:a,isSubmitting:i=!1}=e;
1return t?(0,r.jsx)(C.h,{onClickBackground:l,children:(0,r.jsxs)("div",{className:"bg-White-100 absolute left-1/2 top-1/2 flex w-[312px] -translate-x-1/2 -translate-y-1/2 flex-col gap-24 rounded-3xl px-16 pb-24 pt-32",children:[(0,r.jsxs)("p",{className:"text-center text-[21px] font-bold leading-[29px] text-Gray-900",children:["아래 일정으로",(0,r.jsx)("br",{}),"예약 변경을 요청해요."]}),(0,r.jsx)("div",{className:"flex max-h-[360px] flex-col gap-4 overflow-y-auto",children:n.map((e,t)=>{let n=(0,S.A)(e.type);return(0,r.jsxs)("div",{className:"border-Gray-300 flex flex-row items-center gap-12 rounded-lg border-[1px] p-14",children:[(0,r.jsx)("span",{className:"flex h-40 w-40 shrink-0 items-center justify-center rounded-full text-[14px] font-bold ".concat(n.className),children:n.label}),(0,r.jsxs)("span",{className:"flex flex-col gap-2",children:[(0,r.jsx)("span",{className:"text-16-normal-bold text-Gray-900",children:e.title}),(0,r.jsx)("span",{className:"text-14-normal-medium text-Gray-500",children:e.timeLabel?"".concat(e.dateLabel," \xb7 ").concat(e.timeLabel):e.dateLabel})]})]},"".concat(e.id,"-").concat(t))})}),(0,r.jsxs)("div",{className:"flex w-full gap-8",children:[(0,r.jsx)(C.W,{label:"이전",size:"large",styles:"filled-gray",fill:!0,onClick:l}),(0,r.jsx)(C.W,{label:i?"신청 중…":"확인",size:"large",styles:"filled-yellow",fill:!0,disabled:i,onClick:a})]})]})}):null}function _(e){let{isOpen:t,onConfirm:n}=e;return t?(0,r.jsx)(C.h,{onClickBackground:n,children:(0,r.jsxs)("div",{className:"bg-White-100 absolute left-1/2 top-1/2 flex w-[312px] -translate-x-1/2 -translate-y-1/2 flex-col items-center gap-24 rounded-3xl px-16 pb-24 pt-32 shadow-[0px_0px_8px_0px_rgba(0,0,0,0.08)]",children:[(0,r.jsxs)("div",{className:"flex w-full flex-col items-center gap-8 px-16",children:[(0,r.jsx)("div",{className:"bg-Yellow-400 flex h-[72px] w-[72px] items-center justify-center rounded-full",children:(0,r.jsx)("svg",{width:"36",height:"36",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:(0,r.jsx)("path",{d:"M5 12.5L10 17.5L19 7.5",stroke:"#242523",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,r.jsx)("p",{className:"text-center text-[24px] font-bold leading-[1.4] tracking-[-0.72px] text-Gray-900",children:"예약 변경 신청 완료!"}),(0,r.jsx)("p",{className:"text-center text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-Gray-500",children:"승인되면 알림으로 알려드려요."})]}),(0,r.jsx)("div",{className:"flex w-full",children:(0,r.jsx)(C.W,{label:"변경 내역으로 가기",size:"large",styles:"filled-yellow",fill:!0,onClick:n})})]})}):null}var L=n(40361),G=n(47968),I=n(59770),O=n(28570),R=n(20203),F=n(38315);let P=["일","월","화","수","목","금","토"];function A(e){switch(e.type){case"theory":return"학과 교육";case"skill_test":return"기능 시험";case"road_test":return"도로 시험";case"road":case"road_large":case"road_small":return e.part?"도로 수업 ".concat(e.part,"차"):"도로 수업";default:return e.part?"기능 교육 ".concat(e.part,"차"):"기능 교육"}}function Y(e){let[t,n,r]=e.split("-").map(Number);return t&&n&&r?"".concat(n,"월 ").concat(r,"일(").concat(P[new Date(t,n-1,r).getDay()],")"):e}function q(e){let[t,n]=e.split("-");return"".concat(t,"-").concat(n)}let W=["skill","skill_large","skill_small","theory"],z=["road","road_large","road_small"];function B(e,t,n){var r;let l=new Map(t.map(e=>[e.lesson.id,e.newDate])),a=e.filter(e=>n.includes(e.type)).map(e=>{var t;return null!==(t=l.get(e.id))&&void 0!==t?t:e.date});return 0===a.length?null:null!==(r=a.sort().at(-1))&&void 0!==r?r:null}function Q(e,t){var n;let r=e.filter(e=>t.includes(e.type)).map(e=>e.date);return 0===r.length?null:null!==(n=r.sort().at(-1))&&void 0!==n?n:null}function X(e,t,n,r){var l,a;let i=new Map(t.map(e=>[e.lesson.id,e])),s=e.filter(e=>n.includes(e.type)).map(e=>{var t,n;let l=r?i.get(e.id):void 0;return{date:null!==(t=null==l?void 0:l.newDate)&&void 0!==t?t:e.date,endTime:null!==(n=null==l?void 0:l.newEndTime)&&void 0!==n?n:e.endTime}});return 0===s.length?null:(s.sort((e,t)=>
1e.date.localeCompare(t.date)||e.endTime.localeCompare(t.endTime)),null!==(a=null===(l=s.at(-1))||void 0===l?void 0:l.endTime)&&void 0!==a?a:null)}function V(e){var t,n;let{picks:a,allSchedules:i,academyId:s,neoStudentId:o,test:c=!1,selectedExamIds:d,onResolved:u,onBack:m}=e,f=l.useMemo(()=>h(i,"skill_test"),[i]),p=l.useMemo(()=>h(i,"road_test"),[i]),x=l.useMemo(()=>(function(e){let{existingSkillTest:t,existingRoadTest:n,finalLastSkillDate:r,finalLastRoadDate:l,originalLastSkillDate:a,originalLastRoadDate:i,finalLastSkillEndTime:s,finalLastRoadEndTime:o,originalLastSkillEndTime:c,originalLastRoadEndTime:d,selectedExamIds:u}=e,m=[],f=(e,t,n,r,l,a)=>{var i,s,o;if(!t)return;let c=u.includes(t.id),d=null!=n&&null!=r&&n!==r;if(!c&&!d)return;let f=null!==(s=null!==(i=d?n:r)&&void 0!==i?i:r)&&void 0!==s?s:t.date,p=null!==(o=d?l:a)&&void 0!==o?o:null,x=t.date<f||t.date===f&&null!=p&&null!=t.startTime&&t.startTime<p;m.push({examType:e,existingId:t.id,existingDate:t.date,lastLessonDateAfter:f,lastLessonEndTime:p,mustMove:x})};return f("skill_test",t,r,a,s,c),f("road_test",n,l,i,o,d),m})({existingSkillTest:f&&{id:f.id,date:f.date,startTime:f.startTime},existingRoadTest:p&&{id:p.id,date:p.date,startTime:p.startTime},finalLastSkillDate:B(i,a,W),finalLastRoadDate:B(i,a,z),originalLastSkillDate:Q(i,W),originalLastRoadDate:Q(i,z),finalLastSkillEndTime:X(i,a,W,!0),finalLastRoadEndTime:X(i,a,z,!0),originalLastSkillEndTime:X(i,a,W,!1),originalLastRoadEndTime:X(i,a,z,!1),selectedExamIds:d}),[f,p,i,a,d]),g=null!==(t=x.find(e=>"skill_test"===e.examType))&&void 0!==t?t:null,v=null!==(n=x.find(e=>"road_test"===e.examType))&&void 0!==n?n:null,y=g?q(g.lastLessonDateAfter):"",b=v?q(v.lastLessonDateAfter):"",{slots:w,isLoading:j}=(0,O.D)({academyId:s,month:y,lessonType:"skill_test",test:c,neoStudentId:o}),{slots:S,isLoading:N}=(0,O.D)({academyId:s,month:y?(0,R.DS)(y):"",lessonType:"skill_test",test:c,neoStudentId:o}),{slots:T,isLoading:k}=(0,O.D)({academyId:s,month:b,lessonType:"road_test",test:c,neoStudentId:o}),{slots:D,isLoading:E}=(0,O.D)({academyId:s,month:b?(0,R.DS)(b):"",lessonType:"road_test",test:c,neoStudentId:o}),C=l.useMemo(()=>({...w,...S}),[w,S]),M=l.useMemo(()=>({...T,...D}),[T,D]),_=(!g||!(j||N))&&(!v||!(k||E)),L=l.useMemo(()=>x.map(e=>{var t,n;let r="skill_test"===e.examType?C:M,l=(0,R.G$)({lastLessonDateAfter:e.lastLessonDateAfter,lastLessonEndTime:null!==(t=e.lastLessonEndTime)&&void 0!==t?t:void 0,examSlotsByDate:r}),a=null!==(n=i.find(t=>t.id===e.existingId))&&void 0!==n?n:null;return{trigger:e,rec:l,existing:a}}),[x,C,M,i]),G=l.useMemo(()=>L.filter(e=>e.rec&&e.rec.options.length>0),[L]),[P,V]=l.useState(0),[U,$]=l.useState([]),[J,K]=l.useState([]),[H,Z]=l.useState([]),[ee,et]=l.useState([]),en=l.useMemo(()=>{let e=[],t=[];for(let r of a){var n;e.push({originalDate:r.lesson.date,originalTime:r.lesson.startTime,originalEndTime:r.lesson.endTime,originalCourse:A(r.lesson),newDate:r.newDate,newTime:r.newStartTime,newEndTime:r.newEndTime}),t.push({id:r.lesson.id,type:"theory"===(n=r.lesson.type)?"theory":"skill_test"===n?"skill_test":"road_test"===n?"road_test":"road"===n||"road_large"===n||"road_small"===n?"road":"skill",title:A(r.lesson),dateLabel:Y(r.newDate),timeLabel:"".concat(r.newStartTime," ~ ").concat(r.newEndTime)})}return{changes:e,affected:t}},[a]),er=l.useRef(!1);if(l.useEffect(()=>{if(!_||er.current||P<G.length)return;er.current=!0;let e=L.filter(e=>!e.rec||0===e.rec.options.length).filter(e=>e.trigger.mustMove&&e.existing),t=e.map(e=>({examType:e.trigger.examType,date:function(e){let[t,n,r]=e.split("-").map(Number),l=new Date(t,n-1,r+1);return"".concat(l.getFullYear(),"-").concat(String(l.getMonth()+1).padStart(2,"0"),"-").concat(String(l.getDate()).padStart(2,"0"))}(e.trigger.lastLessonDateAfter),startTime:e.existing.startTime,endTime:e.existing.endTime,originalDate:e.existing.date,originalStartTime:e.existing.startTime,originalEndTime:e.existing.endTime})),n=e.map(e=>({id:e.trigger.existingId,type:e.trigger.examType,title:"road_test"===e.trigger.examType?"도로 시험":"기능 시험",dateLabel:"담당자와 상의 후 확정",timeLabel:""}));u({changes:[...en.changes,...U],affected:[...en.affected,...J,...n],rejectedExams:[...ee,...t],examMoves:H})},[_,P,G.length,L,en,U,J,H,ee,u]),!_)return(0,r.jsx)("div",{className:"flex h-[100dvh] items-center justify-center bg-White-100",children:(0,r.jsx)(I.Z,{size:32})});if(P<G.length){let e=G[P],t=e.rec,n=e.existing,l=e.trigger.examType,a="road_test"===l?"도로 시험":"기능 시험",i=t.options.map(t=>({id:e.trigger.existingId,type:l,title:a,dateLabel:Y(t.newDate),timeLabel:"".concat(t.newTime," ~ ").concat(t.newEndTime)})),s=()=>V(e=>e+1);return(0,r.jsx)("div",{className:"flex h-[100dvh] items-center justify-center bg-Black-100/40",children:(0,r.jsx)(F.h,{isOpen:!0,toleranceOptions:i,onConfirm:r=>{let i=t.options[r];i&&n&&($(e=>[...e,{originalDate:n.date,originalTime:n.startTime,originalEndTime:n.endTime,originalCourse:a,newDate:i.newDate,newTime:i.newTime,newEndTime:i.newEndTime}]),Z(t=>[...t,{lessonId:e.trigger.existingId,newDate:i.newDate,newStartTime:i.newTime}]),K(t=>[...t,{id:e.trigger.existingId,type:l,title:a,dateLabel:Y(i.newDate),timeLabel:"".concat(i.newTime," ~ ").concat(i.newEndTime)}])),s()},onCoordinate:()=>{let r=t.options[0];et(e=>[...e,{examType:l,date:t.recommendedDate,startTime:r.newTime,endTime:r.newEndTime,...n&&{originalDate:n.date,originalStartTime:n.startTime,originalEndTime:n.endTime}}]),e.trigger.mustMove&&n&&$(e=>[...e,{originalDate:n.date,originalTime:n.startTime,originalEndTime:n.endTime,originalCourse:a,newDate:r.newDate,newTime:r.newTime,newEndTime:r.newEndTime}]),K(t=>[...t,{id:e.trigger.existingId,type:l,title:a,dateLabel:"담당자와 상의 후 확정",timeLabel:""}]),s()},onClose:m})})}return(0,r.jsxs)("div",{className:"flex h-[100dvh] items-center justify-center bg-White-100",children:[(0,r.jsx)("button",{type:"button",className:"sr-only",onClick:m,children:"뒤로"}),(0,r.jsx)(I.Z,{size:32})]})}var U=n(66657);let $=new Set(["skill_test","road_test"]);function J(e){return"theory"===e?"theory":"skill"===e||"skill_large"===e||"skill_small"===e?"skill":"road"===e||"road_large"===e||"road_small"===e?"road":"skill_test"===e?"skill_test":"road_test"===e?"road_test":null}let K=new Set(["road","road_large","road_small"]),H=["일","월","화","수","목","금","토"];function Z(e){return"theory"===e?"theory":"skill_test"===e?"skill_test":"road_test"===e?"road_test":"road"===e||"road_large"===e||"road_small"===e?"road":"skill"}function ee(e){return"skill_test"===e||"road_test"===e}function et(e){return"skill_test"===e||"road_test"===e}function en(e){switch(e){case"theory":return"학과 교육";case"road":return"도로 교육";case"road_test":return"도로 시험";case"skill_test":return"기능 시험";default:return"기능 교육"}}function er(e){let t=Z(e.type),n=e.part&&!ee(t)?"".concat(en(t)," ").concat(e.part,"차"):en(t);return{id:e.id,type:t,title:n,dateLabel:function(e){let[t,n,r]=e.split("-").map(Number);if(!t||!n||!r)return e;let l=H[new Date(t,n-1,r).getDay()];return"".concat(n,"월 ").concat(r,"일(").concat(l,")")}(e.date),timeLabel:"".concat(e.startTime," ~ ").concat(e.endTime)}}function el(e){let[t,n,r]=e.split("-").map(Number),l=new Date(t,n-1,r+1);return"".concat(l.getFullYear(),"-").concat(String(l.getMonth()+1).padStart(2,"0"),"-").concat(String(l.getDate()).padStart(2,"0"))}function ea(e){let[t,n,r]=e.split("-").map(Number),l=new Date(t,n-1,r-1);return"".concat(l.getFullYear(),"-").concat(String(l.getMonth()+1).padStart(2,"0"),"-").concat(String(l.getDate()).padStart(2,"0"))}function ei(e){var t,n;let{schedules:a,academyId:s,academyPhone:o,neoStudentId:c,bookingId:d,test:f=!1,onClose:x}=e,g=(0,m.useRouter)(),[N,T]=l.useState("mode"),[k,D]=l.useState(null),[C,I]=l.useState([]),{data:O}=b(null!=c?c:""),R=l.useMemo(()=>{var e;return null!==(e=null==O?void 0:O.requests)&&void 0!==e?e:[]},[O]),F=l.useMemo(()=>{let e=new Date,t="".concat(e.getFullYear(),"-").concat(String(e.getMonth()+1).padStart(2,"0"),"-").concat(String(e.getDate()).padStart(2,"0"));return a.filter(e=>e.date>=t).sort((e,t)=>
1{let n=e.date.localeCompare(t.date);return 0!==n?n:e.startTime.localeCompare(t.startTime)})},[a]),P=l.useMemo(()=>F.map(er),[F]),A=l.useMemo(()=>F.filter(e=>R.some(t=>p(t.status)&&t.scheduleChanges.some(t=>t.originalDate===e.date&&t.originalTime===e.startTime))).map(e=>e.id),[F,R]),Y=l.useMemo(()=>F.filter(e=>C.includes(e.id)&&!et(e.type)),[F,C]),q=l.useMemo(()=>F.filter(e=>C.includes(e.id)&&et(e.type)).map(e=>e.id),[F,C]),[W,z]=l.useState([]),[B,Q]=l.useState(0),[X,H]=l.useState(new Set),[en,ei]=l.useState([]),[es,eo]=l.useState([]),[ec,ed]=l.useState([]),[eu,em]=l.useState(null),{mutate:ef,isPending:ep}=function(){let e=(0,w.NL)();return(0,j.D)({mutationFn:async e=>{let t=await (0,y.p)(),n=await v.hi["schedule-change"].$post({json:e},{headers:t?{Authorization:"Bearer ".concat(t)}:void 0});if(!n.ok)throw Error((await n.json()).error||"REQUEST_FAILED");return n.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["schedule-change"]})}})}(),{mutate:ex,isPending:eh}=function(){let e=(0,w.NL)();return(0,j.D)({mutationFn:async e=>{let{bookingId:t,changes:n}=e,r=await (0,y.p)(),l=await v.hi.booking["change-sessions"].$post({json:{bookingId:t,changes:n}},{headers:r?{Authorization:"Bearer ".concat(r)}:void 0});if(!l.ok){let e=await l.json().catch(()=>({})),t=Error(e.message||"일정을 변경하지 못했어요. 잠시 후 다시 시도해 주세요.");throw t.code=e.error,t}return l.json()},onSuccess:()=>{e.invalidateQueries({queryKey:[...i.Ye]})}})}(),[eg,ev]=l.useState(null),ey=null!==(t=W[B])&&void 0!==t?t:null,eb=l.useMemo(()=>a.map(e=>{if(e.id===(null==ey?void 0:ey.id))return e;let t=en.find(t=>t.lesson.id===e.id);return t?{...e,date:t.newDate,startTime:t.newStartTime,endTime:t.newEndTime,period:String(t.newPeriod)}:e}),[a,en,ey]),ew=l.useMemo(()=>{let e;for(let t of a)"skill"===Z(t.type)&&(!e||t.date>e)&&(e=t.date);return e},[a]),ej=l.useMemo(()=>{let e;for(let n of a){var t;if("skill"!==Z(n.type))continue;let r=en.find(e=>e.lesson.id===n.id),l=null!==(t=null==r?void 0:r.newDate)&&void 0!==t?t:n.date;(!e||l>e)&&(e=l)}return e},[a,en]),eS=l.useMemo(()=>{let e;if(!ey)return;let t=Z(ey.type);if(ee(t))return;let n=(t,n)=>{(!e||t>e.date||t===e.date&&n>e.time)&&(e={date:t,time:n})},r="".concat(ey.date,"T").concat(ey.startTime);for(let e of en)e.lesson.id!==ey.id&&Z(e.lesson.type)===t&&("".concat(e.lesson.date,"T").concat(e.lesson.startTime)>=r||n(e.newDate,e.newEndTime));if("road"===t){var l;let e=h(a,"skill_test"),t=e?(null!==(l=null==eu?void 0:eu.examMoves)&&void 0!==l?l:[]).find(t=>t.lessonId===e.id):void 0,r=ej&&ej!==ew;t?n(el(t.newDate),"00:00"):e&&!r?n(el(e.date),"00:00"):ej&&n(el(el(ej)),"00:00")}return e},[ey,a,en,eu,ej,ew]),eN=l.useMemo(()=>{var e;if(!ey||"theory"!==Z(ey.type))return;let t=h(a,"skill_test");if(!t)return;let n=(null!==(e=null==eu?void 0:eu.examMoves)&&void 0!==e?e:[]).find(e=>e.lessonId===t.id);return n?ea(n.newDate):ej&&ej!==ew?ej:ea(t.date)},[ey,a,eu,ej,ew]),eT=l.useMemo(()=>{var e,t;if(!ey||"road"!==Z(ey.type))return;let n=h(a,"skill_test");if(!n)return;let r=(null!==(e=null==eu?void 0:eu.examMoves)&&void 0!==e?e:[]).find(e=>e.lessonId===n.id);return el(null!==(t=null==r?void 0:r.newDate)&&void 0!==t?t:n.date)},[ey,a,eu]),ek=l.useCallback(e=>{I(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]);if("mode"===N)return(0,r.jsx)(E,{selectedMode:k,onSelectMode:D,onConfirm:()=>T("select"),onBack:x});if("select"===N)return(0,r.jsx)(S.l,{schedules:P,selectedIds:C,disabledIds:A,onToggle:ek,onConfirm:()=>{0!==C.length&&(z(Y),H(new Set(Y.map(e=>e.id))),Q(0),ei([]),eo([]),em(null),T(Y.length>0?"calendar":"resolve"))},onBack:()=>T("mode")});if("calendar"===N&&ey){let e=B>=W.length-1,t=!X.has(ey.id);return(0,r.jsx)(G.u,{lesson:ey,allSchedules:eb,academyId:s,academyPhone:o,neoStudentId:c,test:f,stepIndex:B+1,stepTotal:W.length,mode:t?void 0:null!=k?k:void 0,earliestSlotFloor:eS,latestSlotCeiling:eN,warnOnDate:eT,pickOnly:!0,onBack:()=>{B>0?Q(e=>e-1):T("select")},onExit:x,onPick:t=>{if(ei([...en.filter(e=>e.lesson.id!==ey.id),{lesson:ey,newDate:t.newDate,newPeriod:t.newPeriod,newStartTime:t.newStartTime,newEndTime:t.newEndTime}]),!e){Q(e=>e+1);return}T("resolve")}},"".concat(ey.id,"-").concat(B))}if("cascadeConfirm"===N)return(0,r.jsx)(L.G,{isOpen:!0,schedules:es.map(er),onPrev:()=>{eo([]),T("calendar")},onConfirm:()=>{Q(W.length),z(e=>[...e,...es]),eo([]),T("calendar")}});if("cascadeBlocked"===N){let e=ec.map(e=>er(e).title).join(", "),t=()=>{ed([]),T("calendar")};return(0,r.jsx)(u.V,{isOpen:!0,title:"변경 신청 중인 일정과 겹쳐요",body:"".concat(e,"이(가) 이미 변경 신청 중이라 함께 옮길 수 없어요. 먼저 처리된 뒤 다시 시도하거나 학원으로 문의해주세요."),close:t,buttons:[...o?[(0,r.jsx)(u.Q,{buttonType:"box",text:"문의하기",color:"filled-gray",onClick:()=>{window.location.href="tel:".concat(o)}},"call")]:[],(0,r.jsx)(u.Q,{buttonType:"box",text:"확인",color:"filled-yellow",onClick:t},"ok")]})}
1return"resolve"===N?(0,r.jsx)(V,{picks:en,allSchedules:a,academyId:s,neoStudentId:c,test:f,selectedExamIds:q,onResolved:e=>{var t,n,r,l;let i=function(e){let{schedules:t,picks:n}=e,r=new Map(n.map(e=>[e.lessonId,e])),l=[],a=new Map;for(let e of t){var i,s;let t=J(e.type);if(!t)continue;let n=r.get(e.id),o=null!==(i=null==n?void 0:n.newDate)&&void 0!==i?i:e.date,c=null!==(s=null==n?void 0:n.newStartTime)&&void 0!==s?s:e.startTime,d=new Date("".concat(o,"T").concat(c,":00")).getTime();Number.isNaN(d)||(l.push({id:e.id,stage:t,datetimeMin:d}),a.set(e.id,t))}let o=new Set;for(let e of n)if(a.has(e.lessonId))for(let t of(0,U.a)(l,e.lessonId))o.add(t.id);let c=new Set(n.map(e=>e.lessonId));return t.filter(e=>{if(!o.has(e.id)||c.has(e.id))return!1;let t=J(e.type);return!(!t||$.has(t))})}({schedules:a,picks:[...((null!==(t=e.rejectedExams)&&void 0!==t?t:[]).some(e=>"skill_test"===e.examType)?en.filter(e=>{var t;return t=e.lesson.type,!K.has(t)}):en).map(e=>({lessonId:e.lesson.id,newDate:e.newDate,newStartTime:e.newStartTime})),...null!==(n=e.examMoves)&&void 0!==n?n:[]]}),s=new Set(W.map(e=>e.id)),o=i.filter(e=>!s.has(e.id)),c=function(e){let{rejectedExams:t,pickedLessons:n,newFriends:r,affected:l,changes:a,toCard:i}=e,s=t.some(e=>"skill_test"===e.examType),o=e=>{var t;return t=e.type,K.has(t)&&s},c=r.filter(o),d=r.filter(e=>!o(e)),u=n.filter(o),m=new Set(u.map(e=>e.id)),f=new Set(u.map(e=>"".concat(e.date,"|").concat(e.startTime))),p=[...c,...u],x=p.map(e=>({...i(e),dateLabel:"담당자와 상의 후 확정",timeLabel:""}));return{pickable:d,gatedCards:x,gatedLessons:p.map(e=>({course:i(e).title,originalDate:e.date,originalTime:e.startTime,originalEndTime:e.endTime})),cleanedAffected:l.filter(e=>!m.has(e.id)),cleanedChanges:a.filter(e=>!f.has("".concat(e.originalDate,"|").concat(e.originalTime))),hasGated:x.length>0}}({rejectedExams:null!==(r=e.rejectedExams)&&void 0!==r?r:[],pickedLessons:en.map(e=>e.lesson),newFriends:o,affected:e.affected,changes:e.changes,toCard:er}),{pickable:d}=c;em(c.hasGated?{...e,changes:c.cleanedChanges,affected:[...c.cleanedAffected,...c.gatedCards],coordinationLessons:c.gatedLessons}:e);let u=new Set;for(let t of null!==(l=e.examMoves)&&void 0!==l?l:[]){let e=a.find(e=>e.id===t.lessonId);if(e)for(let n of en){let r=Z(n.lesson.type);"skill_test"===e.type?"theory"===r&&n.newDate>=t.newDate?u.add(n.lesson.id):"road"===r&&n.newDate<=t.newDate&&u.add(n.lesson.id):"road_test"===e.type&&"road"===r&&n.newDate>=t.newDate&&u.add(n.lesson.id)}}let m=[...d,...en.filter(e=>u.has(e.lesson.id)).map(e=>e.lesson).filter(e=>!d.some(t=>t.id===e.id))],f=new Set(A),p=m.filter(e=>f.has(e.id));p.length>0?(ed(p),T("cascadeBlocked")):m.length>0?(u.size>0&&ei(e=>e.filter(e=>!u.has(e.lesson.id))),eo(m),T("cascadeConfirm")):T("review")},onBack:()=>{W.length>0?T("calendar"):T("select")}}):"review"===N?(0,r.jsx)(M,{isOpen:!0,schedules:function(e){let t=e=>{let t=e.dateLabel.match(/(\d+)월\s*(\d+)일/);if(!t)return Number.MAX_SAFE_INTEGER;let n=e.timeLabel.match(/(\d{1,2}):(\d{2})/),r=n?60*Number(n[1])+Number(n[2]):0;return 1e5*Number(t[1])+1e3*Number(t[2])+r};return[...e].sort((e,n)=>t(e)-t(n))}(null!==(n=null==eu?void 0:eu.affected)&&void 0!==n?n:[]),isSubmitting:ep||eh,onPrev:()=>T(W.length>0?"calendar":"select"),onConfirm:()=>{if(!eu){T("submitted");return}if(!c){if(!d){if(f){T("submitted");return}ev("보다 정확한 안내를 위해 학원으로 연락 주시면 빠르고 정확하게 도와드릴게요.");return}ex({bookingId:d,changes:eu.changes},{onSuccess:()=>T("submitted"),onError:e=>{ev(e instanceof Error?e.message:"일정을 변경하지 못했어요. 잠시 후 다시 시도해 주세요.")}});return}ef({neoStudentId:c,academyId:s,scheduleChanges:eu.changes,...eu.rejectedExams.length>0&&{coordinationReason:"EXAM_RECOMMEND",recommendedExams:eu.rejectedExams},...eu.coordinationLessons&&eu.coordinationLessons.length>0&&{coordinationLessons:eu.coordinationLessons}},{onSuccess:()=>T("submitted")})}}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(_,{isOpen:"submitted"===N,onConfirm:()=>{x(),g.push("/my-academy/schedule?tab=change")}}),(0,r.jsx)(u.V,{isOpen:null!==eg,close:()=>ev(null),title:"일정을 변경하지 못했어요",body:null!=eg?eg:"",buttons:[(0,r.jsx)(u.Q,{buttonType:"box",text:"확인",color:"filled-gray",onClick:()=>ev(null)},"close"),(0,r.jsx)(u.Q,{buttonType:"box",text:"문의하기",color:"filled-yellow",onClick:()=>{o&&(window.location.href="tel:".concat(o)),ev(null)},disabled:!o},"call")]})]})}var es=n(53571),eo=n(85086),ec=n(34036),ed=n(81595);function eu(e){let{academyId:t,academyName:n}=e,l=(0,ed.U)(t);return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mt-24",children:(0,r.jsx)(ec.f,{})}),(0,r.jsx)("div",{className:"bg-Gray-100 my-24 h-8 w-full"}),(0,r.jsx)(eo.K,{academyName:n,academyBaseUrl:null==l?void 0:l.homepageUrl}),(0,r.jsx)("div",{className:"h-80"})]})}var em=n(75455),ef=n(6372);let ep=["일","월","화","수","목","금","토"],ex={theory:{bg:"bg-Purple-100",text:"text-Purple-500",label:"학과"},skill:{bg:"bg-Orange-100",text:"text-Orange-400",label:"기능"},skill_large:{bg:"bg-Orange-100",text:"text-Orange-400",label:"기능"},skill_small:{bg:"bg-Orange-100",text:"text-Orange-400",label:"기능"},road:{bg:"bg-Skyblue-100",text:"text-Skyblue-600",label:"도로"},road_large:{bg:"bg-Skyblue-100",text:"text-Skyblue-600",label:"도로"},road_small:{bg:"bg-Skyblue-100",text:"text-Skyblue-600",label:"도로"},skill_test:{bg:"bg-Orange-400",text:"text-Orange-100",label:"기능"},road_test:{bg:"bg-Skyblue-400",text:"text-Skyblue-100",label:"도로"}};function eh(e){let{schedules:t,hasPendingChange:n=!1,showUnconfirmedBanner:
1a=!1}=e,i=l.useRef(null),s=l.useRef(null),{ref:o}=(0,ef.mL)(),c=l.useCallback(e=>{i.current=e,o(e)},[o]),d=new Date,u=x(d),m="".concat(String(d.getHours()).padStart(2,"0"),":").concat(String(d.getMinutes()).padStart(2,"0")),f=l.useMemo(()=>Object.values(t).flat().sort((e,t)=>{let n=e.date.localeCompare(t.date);return 0!==n?n:e.startTime.localeCompare(t.startTime)}),[t]),p=l.useMemo(()=>f.findIndex(e=>e.date>u||e.date===u&&e.endTime>m),[f,u,m]);return(l.useEffect(()=>{let e=i.current,t=s.current;e&&t&&(e.scrollLeft=t.offsetLeft-16)},[p,f.length]),0===f.length)?null:(0,r.jsxs)("div",{className:"flex flex-col gap-10 p-16",children:[(0,r.jsx)("p",{className:"text-Gray-900 text-[18px] font-bold leading-[1.4] tracking-[-0.54px]",children:"예약된 수업"}),n&&(0,r.jsx)("div",{className:"bg-Yellow-100 flex items-center rounded-xs border-l-2 border-solid border-Yellow-500 px-16 py-8",children:(0,r.jsx)("p",{className:"text-Gray-800 text-[12px] font-normal leading-[1.3] tracking-[-0.36px]",children:"예약 변경 요청이 승인되면 알림을 보내드려요."})}),!n&&a&&(0,r.jsx)("div",{className:"bg-Yellow-100 flex items-center rounded-xs border-l-2 border-solid border-Yellow-500 px-16 py-8",children:(0,r.jsx)("p",{className:"text-14-normal-medium text-Gray-800",children:"예약이 확정되면 알림을 보내드려요!"})}),(0,r.jsx)("div",{ref:c,className:"scrollbar-all-hide relative -mx-16 flex gap-8 overflow-x-auto px-16",children:f.map((e,t)=>{var n;let l=null!==(n=ex[e.type])&&void 0!==n?n:ex.skill,a=e.date<u||e.date===u&&e.endTime<=m;return(0,r.jsxs)("div",{ref:t===p?s:void 0,className:"border-Gray-200 shadow-card flex w-[208px] flex-shrink-0 flex-col gap-8 rounded-lg border-[1px] bg-White-100 p-16",children:[(0,r.jsx)("div",{className:a?"flex opacity-[0.38]":"flex",children:(0,r.jsx)("span",{className:"rounded-full px-8 py-2 text-11-bold ".concat(l.bg," ").concat(l.text),children:l.label})}),(0,r.jsxs)("div",{className:a?"flex flex-col gap-2 opacity-[0.38]":"flex flex-col gap-2",children:[(0,r.jsx)("p",{className:"text-16-normal-bold text-Gray-900",children:function(e){switch(e.type){case"theory":return"학과 교육";case"skill":case"skill_large":case"skill_small":return e.part?"기능 교육 ".concat(e.part,"차"):"기능 교육";case"road":case"road_large":case"road_small":return e.part?"도로 수업 ".concat(e.part,"차"):"도로 수업";case"skill_test":return"기능 시험";case"road_test":return"도로 시험";default:return"교육"}}(e)}),(0,r.jsx)("p",{className:"text-14-normal-medium text-Gray-500",children:function(e){let[t,n,r]=e.split("-").map(Number),l=new Date(t,n-1,r);return"".concat(n,"월 ").concat(r,"일(").concat(ep[l.getDay()],")")}(e.date)})]}),(0,r.jsx)("div",{className:"bg-Gray-200 h-px w-full"}),(0,r.jsxs)("div",{className:a?"flex items-center gap-4 opacity-[0.38]":"flex items-center gap-4",children:[(0,r.jsxs)("span",{className:"text-12-medium text-Gray-500",children:[e.startTime," ~ ",e.endTime]}),(0,r.jsx)("span",{className:"bg-Gray-500 h-2 w-2 rounded-full"}),(0,r.jsx)("span",{className:"text-12-medium text-Gray-500",children:e.instructor?"".concat(e.instructor," 선생님"):"-"})]})]},e.id)})})]})}let eg=[{value:"request",label:"예약 신청"},{value:"confirmed",label:"예약 완료"},{value:"completed",label:"수업 완료"}];function ev(){let e=(0,m.useRouter)(),[t,n]=l.useState(!0),a="string"==typeof e.query.scheduleQaState?e.query.scheduleQaState:"",i=l.useCallback(t=>{let n={...e.query,qa:"1"};t?n.scheduleQaState=t:delete n.scheduleQaState,e.replace({pathname:e.pathname,query:n},void 0,{scroll:!1})},[e]);return t?(0,r.jsxs)("div",{className:"fixed bottom-16 right-16 z-[9999] flex w-[280px] flex-col overflow-hidden rounded-xl border-[1px] border-Gray-300 bg-White-100 shadow-2xl",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b-[1px] border-Gray-200 bg-Gray-900 px-16 py-12",children:[(0,r.jsx)("span",{className:"text-14-normal-bold text-White-100",children:"\uD83E\uDDEA 예약된 수업 QA"}),(0,r.jsx)("button",{type:"button",onClick:()=>n(!1),"aria-label":"패널 접기",className:"text-11-bold rounded-sm bg-Gray-700 px-8 py-4 text-White-100 active:opacity-70",children:"접기"})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-8 p-16",children:[(0,r.jsx)("p",{className:"text-12-medium text-Gray-500",children:"8종 카드(학과\xb7기능1/2차\xb7기능시험\xb7도로1/2/3차\xb7도로시험)를 아래 3상태로 강제 렌더합니다."}),(0,r.jsx)("div",{className:"flex flex-col gap-4",children:eg.map(e=>{let t=a===e.value;return(0,r.jsx)("button",{type:"button",onClick:()=>i(e.value),className:"text-12-bold rounded-md border-[1px] px-8 py-8 text-left ".concat(t?"border-Yellow-400 bg-Yellow-100 text-Gray-900":"border-Gray-300 bg-White-100 text-Gray-700 active:bg-Gray-100"),children:e.label},e.value)})}),(0,r.jsx)("button",{type:"button",onClick:()=>i(void 0),className:"text-12-bold rounded-md border-[1px] border-Gray-300 py-8 text-Gray-600 active:bg-Gray-100",children:"해제 (실제 일정 보기)"})]})]}):(0,r.jsx)("button",{type:"button",onClick:()=>n(!0),className:"text-12-bold fixed bottom-16 right-16 z-[9999] rounded-[20px] bg-Gray-900 px-16 py-10 text-White-100 shadow-lg",children:"\uD83E\uDDEA QA"})}let ey=[{type:"theory"},{type:"skill",part:1},{type:"skill",part:2},{type:"skill_test"},{type:"road",part:1},{type:"road",part:2},{type:"road",part:3},{type:"road_test"}];var eb=n(11588),ew=n(65530);let ej=["일","월","화","수","목","금","토"],eS={PENDING:{label:"대기중",styles:"filled-gray"},PROCESSING:{label:"처리중",styles:"filled-gray"},COORDINATING:{label:"조율 필요",styles:"filled-purple"},COMPLETED:{label:"승인 완료",styles:"filled-green"},ADJUSTED:{label:"조율 완료",styles:"filled-green"}
1,REJECTED:{label:"반려",styles:"filled-red"},CANCELLED:{label:"취소됨",styles:"filled-gray"}};function eN(e){let t=e.replace(/\./g,"-").split("-");if(t.length<3)return e;let n=new Date(Number(t[0]),Number(t[1])-1,Number(t[2])),r=String(n.getFullYear()).slice(2),l=String(n.getMonth()+1).padStart(2,"0"),a=String(n.getDate()).padStart(2,"0"),i=ej[n.getDay()];return"".concat(r,".").concat(l,".").concat(a,"(").concat(i,")")}function eT(e,t){return t?"".concat(e,"~").concat(t):e}function ek(e){var t,n;let{request:a}=e;return(0,r.jsxs)("div",{className:"border-Gray-200 flex flex-col gap-16 rounded-xl border-[1px] p-16",children:[(0,r.jsx)(ew._,{className:"w-fit",label:eS[a.status].label,styles:eS[a.status].styles}),"COMPLETED"===a.status&&(0,r.jsx)("p",{className:"text-12-medium text-Gray-400 -mt-8",children:"승인되어도 내 교육 일정 반영에는 시간이 조금 걸릴 수 있습니다."}),a.scheduleChanges.map((e,t)=>(0,r.jsxs)(l.Fragment,{children:[t>0&&(0,r.jsx)("div",{className:"bg-Gray-100 h-px w-full"}),(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)("p",{className:"text-[18px] font-bold leading-[1.4] tracking-[-0.54px] text-Gray-900",children:e.originalCourse||"예약 변경"}),(0,r.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-Gray-500",children:"변경 전"}),(0,r.jsxs)("span",{className:"text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-[#242523]",children:[eN(e.originalDate),"ㆍ",eT(e.originalTime,e.originalEndTime)]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-Gray-500",children:"변경 후"}),(0,r.jsxs)("span",{className:"text-[14px] font-bold leading-[1.5] tracking-[-0.42px] text-[#242523]",children:[eN(e.newDate),"ㆍ",eT(e.newTime,e.newEndTime)]})]})]})]})]},"".concat(e.originalDate,"-").concat(e.originalTime,"-").concat(t))),(null!==(t=a.recommendedExams)&&void 0!==t?t:[]).map((e,t)=>{var n;let i="road_test"===e.examType?"도로 시험":"기능 시험",s="ADJUSTED"===a.status||"COMPLETED"===a.status,o=a.scheduleChanges.length>0||t>0;return(0,r.jsxs)(l.Fragment,{children:[o&&(0,r.jsx)("div",{className:"bg-Gray-100 h-px w-full"}),(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)("p",{className:"text-[18px] font-bold leading-[1.4] tracking-[-0.54px] text-Gray-900",children:i}),(0,r.jsxs)("div",{className:"flex flex-col gap-8",children:[e.originalDate&&(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-Gray-500",children:"변경 전"}),(0,r.jsxs)("span",{className:"text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-[#242523]",children:[eN(e.originalDate),"ㆍ",eT(null!==(n=e.originalStartTime)&&void 0!==n?n:"",e.originalEndTime)]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-Gray-500",children:"변경 후"}),(0,r.jsx)("span",{className:"text-[14px] font-bold leading-[1.5] tracking-[-0.42px] text-[#242523]",children:s?"".concat(eN(e.date),"ㆍ").concat(eT(e.startTime,e.endTime)):"미정"})]})]})]})]},"exam-".concat(e.examType,"-").concat(t))}),(null!==(n=a.coordinationLessons)&&void 0!==n?n:[]).map((e,t)=>(0,r.jsxs)(l.Fragment,{children:[(0,r.jsx)("div",{className:"bg-Gray-100 h-px w-full"}),(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)("p",{className:"text-[18px] font-bold leading-[1.4] tracking-[-0.54px] text-Gray-900",children:e.course||"예약 변경"}),(0,r.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-Gray-500",children:"변경 전"}),(0,r.jsxs)("span",{className:"text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-[#242523]",children:[eN(e.originalDate),"ㆍ",eT(e.originalTime,e.originalEndTime)]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-[14px] font-medium leading-[1.5] tracking-[-0.42px] text-Gray-500",children:"변경 후"}),(0,r.jsx)("span",{className:"text-[14px] font-bold leading-[1.5] tracking-[-0.42px] text-[#242523]",children:"미정"})]})]})]})]},"coord-lesson-".concat(e.originalDate,"-").concat(e.originalTime,"-").concat(t))),a.coordinationMemo&&(0,r.jsxs)("div",{className:"bg-Gray-50 rounded-lg px-16 py-8",children:[(0,r.jsx)("p",{className:"text-14-normal-bold text-Gray-600",children:"학원의 답변"}),(0,r.jsx)("p",{className:"text-12-medium text-Gray-600 mt-2",children:a.coordinationMemo})]}),"REJECTED"===a.status&&a.rejectionReason&&(0,r.jsxs)("div",{className:"bg-Gray-50 rounded-lg px-16 py-8",children:[(0,r.jsx)("p",{className:"text-14-normal-bold text-Gray-600",children:"학원의 답변"}),(0,r.jsx)("p",{className:"text-12-medium text-Gray-600 mt-2",children:a.rejectionReason})]})]})}function eD(e){var t;let{neoStudentId:n}=e,{data:l,isLoading:a}=b(null!=n?n:"");if(a)return(0,r.jsx)("div",{className:"flex items-center justify-center pt-80",children:(0,r.jsx)(I.Z,{size:48})});let i=null!==(t=null==l?void 0:l.requests)&&void 0!==t?t:[];return 0===i.length?(0,r.jsxs)("div",{className:"flex h-full flex-col items-center justify-center ",children:[(0,r.jsx)(eb.u,{icon:"checkCalendar-filled",size:80,className:"fill-Gray-300 mb-12"}),(0,r.jsx)("p",{className:"text-16-normal-bold text-Gray-900 mb-4",children:"일정 변경 내역이 없습니다"}),(0,r.jsx)("p",{className:"text-14-normal-medium text-Gray-500",children:"변경 신청 후 내역을 확인해주세요."})]}):(0,r.jsx)("div",{className:"flex flex-col gap-12 px-16 pb-32 pt-16",children:i.map(e=>(0,r.jsx)(ek,{request:e},e.id))})}function eE(e){let{neoStudentId:t}=e;return(0,r.jsx)(eD,{neoStudentId:t})}var eC=n(77329);let eM=[{label:"교육 일정",value:"schedule"},{label:"변경 내역",value:"change"},{label:"후기/혜택",value:"review"}];function e_(e){let{value:t,onValueChange:n}=e;return(0,r.jsx)(eC.fC,{value:t,onValueChange:e=>n(e),children:(0,r.jsx)(eC.aV,{className:"border-Gray-100 flex border-b",children:eM.map(e=>(0,r.jsx)(eC.xz,{value:e.value,className:(0,T.cn)("flex-1 -mb-px border-b-2 py-12","data-[state=inactive]:border-transparent","data-[state=inactive]:text-16-normal-medium data-[state=inactive]:text-Gray-400","data-[state=active]:border-Gray-900 data-[state=active]:text-16-normal-bold data-[state=active]:text-Gray-900"),children:e.label},e.value))})})}var eL=n(15582),eG=n(62910),eI=n(18227),eO=n(18095),eR=n(14797),eF=n(17556),eP=n(8263),eA=n(33759),eY=n(68022),eq=n(71416),eW=n.n(eq),ez=n(70593);let eB=["request","confirmed","completed"];function eQ(e){let{selectedDate:t,schedules:n,onDateClick:a,onWeekChange:i}=e,s=new Date,o=l.useRef(0),c=l.useRef(0),[d,u]=l.useState(0),[m,f]=l.useState(!1),[p,x]=l.useState(!1),h=l.useRef(null),g=l.useRef(null),v=l.useRef(null),y=(e=>{let t=new Date(e);return t.setDate(t.getDate()-t.getDay()),t.setHours(0,0,0,0),t.getTime()})(t);l.useEffect(()=>{if(null===v.current||p||m){v.current=y;return}if(v.current!==y){var e;let t=y>v.current?"next":"prev",n=(null===(e=g.current)||void 0===e?void 0:e.offsetWidth)||window.innerWidth;u("next"===t?n:-n),requestAnimationFrame(()=>{x(!0),u(0),setTimeout(()=>{x(!1)},250)}),v.current=y}},[y,p,m]);let b=(0,eA.J$)(t,-1),w=(0,eA.J$)(t,0),j=(0,eA.J$)(t,1),S=e=>{let t=(0,eA.$x)(e);return n[t]&&n[t].length>0},N=(e,n)=>(0,r.jsx)("div",{className:"flex w-1/3 shrink-0 items-start justify-between px-16",children:e.map((e,n)=>{let l=(0,eA.KC)(e,t),i=(0,eA.KC)(e,s),o=S(e);return(0,r.jsxs)("button",{type:"button",onClick:()=>a(e),className:"flex w-40 flex-col items-center gap-4",children:[(0,r.jsx)("div",{className:"flex h-32 w-32 items-center justify-center rounded-xs ".concat(l?"bg-Yellow-400":i?"bg-Gray-50":""),children:(0,r.jsx)("span",{className:"text-[14px] tracking-[-0.42px] ".concat(l?"text-Gray-900 font-bold":"text-Gray-900 font-medium"),children:e.getDate()})}),o&&(0,r.jsx)("div",{className:"bg-Orange-400 h-3 w-3 rounded-full"})]},n)})},n);return(0,r.jsxs)("div",{ref:g,className:"flex flex-col overflow-hidden bg-White-100",onTouchStart:e=>{o.current=e.touches[0].clientX,c.current=e.touches[0].clientY,h.current=null,f(!0)},onTouchMove:e=>{if(!m||p)return;let t=e.touches[0].clientX,n=e.touches[0].clientY,r=t-o.current,l=n-c.current;null===h.current&&(Math.abs(r)>10||Math.abs(l)>10)&&(h.current=Math.abs(r)>1.5*Math.abs(l)),!0===h.current&&u(r)},onTouchEnd:()=>{var e;if(!m)return;let t=(null===(e=g.current)||void 0===e?void 0:e.offsetWidth)||window.innerWidth;if(!0===h.current&&Math.abs(d)>60){let e=d>0?"prev":"next";u("next"===e?-t:t),f(!1),x(!0),setTimeout(()=>{x(!1),u(0),i(e)},250)}else f(!1),x(!0),u(0),setTimeout(()=>{x(!1)},250);h.current=null},children:[(0,r.jsx)("div",{className:"flex items-center justify-between px-16",children:["일","월","화","수","목","금","토"].map((e,t)=>(0,r.jsx)("div",{className:"flex h-32 w-40 items-center justify-center text-[12px] font-medium leading-[1.5] tracking-[-0.36px] ".concat(0===t?"text-Red-400":"text-Gray-500"),children:e},t))}),(0,r.jsx)("div",{className:"relative w-full overflow-hidden",children:(0,r.jsxs)("div",{className:"flex w-[300%]",style:{transform:"translateX(calc(-33.333% + ".concat(d,"px))"),transition:p?"transform 0.25s ease-out":"none"},children:[N(b,"prev"),N(w,"current"),N(j,"next")]})}),(0,r.jsx)("div",{className:"bg-Gray-100 mt-8 h-1 w-full"})]})}function eX(){var e,t,n;let d=(0,m.useRouter)(),f="true"===d.query.test,h=ez.J&&"1"===d.query.qa,g=h&&"string"==typeof d.query.scheduleQaState&&eB.includes(d.query.scheduleQaState)?d.query.scheduleQaState:void 0,{openToast:v}=(0,eY.p)(),{data:w,isLoading:j,refetchUser:S}=(0,a.pgb)(),N=null==w?void 0:w.neoStudentId,{reservations:D,isLoading:E}=(0,i.dJ)(),{academyId:C}=(0,eP.m)(N),M=(f&&"string"==typeof d.query.academy?d.query.academy:void 0)||C||(null==w?void 0:w.academyUid)||(null===(e=D[0])||void 0===e?void 0:e.academyId)||void 0,{data:_}=(0,a.kB3)(M),{location:L}=(0,eG.P)(C||void 0),[G,O]=l.useState(!1),[R,F]=l.useState("schedule");l.useEffect(()=>{let e=d.query.tab;("change"===e||"review"===e)&&(F(e),Q(!1))},[d.query.tab]);let[P,A]=l.useState(null);l.useEffect(()=>{null===P&&A(new Date)},[P]);let[Y,q]=l.useState(!1),[W,z]=l.useState(null),[B,Q]=l.useState(!1),[X,V]=l.useState(!1),[U,$]=l.useState(null),{schedules:J,isLoading:K,error:H,errorCode:Z}=(0,eI.I)(N),ee=D.length>0,et=l.useMemo(()=>D.filter(e=>!e.isClosed),[D]),en=l.useMemo(()=>(0,eO.i6)(et),[et]),er=D[0],el=(0,eO.Am)(er),{data:ea}=b(null!=N?N:""),eo=l.useMemo(()=>{var e;return(null!==(e=null==ea?void 0:ea.requests)&&void 0!==e?e:[]).some(e=>p(e.status))},[ea]),ec=l.useMemo(()=>new Date,[]),{shuttles:ed,isLoading:ef}=(0,eF.fR)(N,ec,C||void 0);l.useEffect(()=>{("STUDENT_DEPRECATED"===Z||"STUDENT_NOT_FOUND"===Z)&&(async()=>{try{let e=await (0,y.p)();if(!e){console.error("[NEO] Failed to get ID token for unlinking");return}let t=await fetch("/api/v2/neo/unlink-student",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)}});if(!t.ok){console.error("[NEO] Unlink API failed:",t.status);return}await S(),v({title:"STUDENT_DEPRECATED"===Z?"학원 정보가 변경되어 재연동이 필요합니다.":"학원 연동 정보를 찾을 수 없습니다. 다시 연동해주세요."}),d.push("/")}catch(e){console.error("[NEO] Error handling invalid student:",e)}})()},[Z,S,v,d]);let ep=!K&&!H&&Object.keys(J).length>0,ex=f?function(){let e=new Date,t=e.getFullYear(),n=e.getMonth(),r=[new Date(t,n,e.getDate()),new Date(t,n,e.getDate()+1),new Date(t,n,e.getDate()+3),new Date(t,n,e.getDate()+5),new Date(t,n,e.getDate()+7),new Date(t,n,e.getDate()+10)].map(e=>{let t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(n,"-").concat(r)});return{[r[0]]:[{id:"mock-1",type:"skill",date:r[0],startTime:"12:00",endTime:"12:50",instructor:"김성준",vehicle:"경기12가3456",period:"3"},{id:"mock-2",type:"road",date:r[0],startTime:"13:00",endTime:"13:50",instructor:"김성준",vehicle:"경기12가3456",period:"4"}],[r[1]]:[{id:"mock-3",type:"road",date:r[1],startTime:"14:00",endTime:"14:50",instructor:"김철수",vehicle:"456나7890",period:"1"}],[r[2]]:[{id:"mock-4",type:"theory",date:r[2],startTime:"10:00",endTime:"11:50",instructor:"이영희",room:"101호",period:"1",part:1},{id:"mock-5",type:"theory",date:r[2],startTime:"13:00",endTime:"14:50",instructor:"이영희",room:"101호",period:"2",part:2}],[r[3]]:[{id:"mock-6",type:"skill",date:r[3],startTime:"09:00",endTime:"09:50",instructor:"박민수",vehicle:"789다1234",period:"1"}],[r[5]]:[{id:"mock-7",type:"road",date:r[5],startTime:"15:00",endTime:"15:50",instructor:"최도로",vehicle:"321라8765",period:"7"}]}}():ep?J:en,eg=f?function(){let e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()+1),n=e=>{let t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(n,"-").concat(r)};return{[n(e)]:{studentName:"정승아",studentPhone:"010-7646-6367",driverName:"김성준",driverPhone:"010-1234-5678",vehicleNumber:"경기12가3456",stationName:"당수초등학교",stationAddress:"경기도 수원시 장안구 탑동",stationLatitude:37.312,stationLongitude:126.995,boardingTime:"11:50",routeNumber:"1호차",routeDescription:"성균관대/정자동/탑동/금곡동/호매실",date:n(e),shuttleId:"shuttle-route-1",stationId:"station-dangsu",stationOrder:3,driverId:"driver-kim"},[n(t)]:{studentName:"정승아",studentPhone:"010-7646-6367",driverName:"김성준",driverPhone:"010-1234-5678",vehicleNumber:"경기12가3456",stationName:"당수초등학교",stationAddress:"경기도 수원시 장안구 탑동",stationLatitude:37.312,stationLongitude:126.995,boardingTime:"09:20",routeNumber:"1호차",routeDescription:"성균관대/정자동/탑동/금곡동/호매실",date:n(t),shuttleId:"shuttle-route-1",stationId:"station-dangsu",stationOrder:3,driverId:"driver-kim"}}}():ed,ew=l.useMemo(()=>g?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date,n=new Date(t);n.setDate(n.getDate()+("completed"===e?-1:7));let r=x(n),l="request"===e?"":"전기봉",a=ey.map((t,n)=>{let{type:a,part:i}=t;return{id:"qa-".concat(e,"-").concat(n),type:a,date:r,startTime:"13:40",endTime:"15:30",instructor:l,period:String(n+1),...i?{part:i}:{}}});return{[r]:a}}(g):ex,[g,ex]),[ej,eS]=l.useState(0),eN=l.useRef(null),eT=l.useCallback(e=>{let t=new Date(e);isNaN(t.getTime())||A(t)},[]),ek=l.useCallback(e=>{A(t=>{if(!t)return new Date;let n=new Date(t),r=n.getDay();return"prev"===e?n.setDate(n.getDate()-r-7):n.setDate(n.getDate()-r+7),n})},[]),eD=l.useCallback(e=>{z(e),q(!0)},[]),eC=l.useCallback(()=>{d.push("/my-academy/shuttle-tracking")},[d]);l.useMemo(()=>{let e=new Date,t="".concat(e.getFullYear(),"-").concat(String(e.getMonth()+1).padStart(2,"0"),"-").concat(String(e.getDate()).padStart(2,"0"));return!!(null==eg?void 0:eg[t])},[eg]);let eM=(0,o.u)();"tracking"===eM.phase&&eM.session,eM.session;let eq=l.useMemo(()=>{var e;return eg&&null!==(e=eg["".concat(new Date().getFullYear(),"-").concat(String(new Date().getMonth()+1).padStart(2,"0"),"-").concat(String(new Date().getDate()).padStart(2,"0"))])&&void 0!==e?e:null},[eg]),[eX,eV]=l.useState(()=>new Date);l.useEffect(()=>{let e=setInterval(()=>eV(new Date),6e4);return()=>clearInterval(e)},[]);let eU=l.useMemo(()=>{let e=f?eq:eM.reservation||eq;if(!(null==e?void 0:e.boardingTime))return!1;let[t,n]=e.boardingTime.split(":").map(Number),r=new Date(eX.getFullYear(),eX.getMonth(),eX.getDate(),t-1,n),l=new Date(eX.getFullYear(),eX.getMonth(),eX.getDate(),t+1,n);return eX>=r&&eX<l},[f,eq,eM.reservation,eX]),e$=l.useCallback(()=>{V(!0)},[]),eJ=l.useCallback(()=>{(null==_?void 0:_.phoneNum)&&(window.location.href="tel:".concat(_.phoneNum)),V(!1)},[null==_?void 0:_.phoneNum]),eK=l.useCallback(()=>{let e=fu
1nction(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return{allowed:!0};let l=(0,eR.MG)({sessions:e.sessions.map(e=>({part:e.part,hours:e.hours,date:e.date||null,time:e.time||null})),now:t,approved:!!e.orderId});return l.allowed?(null===(n=r.hasNeoFlow)||void 0===n||!n)&&e.orderId?{allowed:!1,reason:"no-online-path"}:{allowed:!0}:l}(er,new Date,{hasNeoFlow:!!N});if(!e.allowed){$(e.reason);return}Q(!0)},[N,er]),eH=l.useRef(!1),eZ=l.useCallback(()=>{(null==_?void 0:_.phoneNum)&&(window.location.href="tel:".concat(_.phoneNum)),$(null)},[null==_?void 0:_.phoneNum]);l.useEffect(()=>{!eH.current&&"change"===d.query.action&&(j||E||(eH.current=!0,eK()))},[d.query.action,j,E,eK]);let e0=!!N||"closed"!==el,e1=l.useMemo(()=>Object.values(ex).flat(),[ex]),e2=l.useMemo(()=>{if(H)return!1;let e="".concat(eX.getFullYear(),"-").concat(String(eX.getMonth()+1).padStart(2,"0"),"-").concat(String(eX.getDate()).padStart(2,"0"));return!e1.some(t=>t.date>=e)},[e1,eX,H]),e4=f||N||ee,e5=f||(N?!K&&!H:ee),e3=P?(0,eA.TI)(P):"",e6=l.useCallback(()=>{"home"===d.query.from?d.push("/"):d.push("/profile")},[d]),e8=G?()=>{O(!1),setTimeout(()=>{var e;null===(e=eN.current)||void 0===e||e.scrollTo({top:0,behavior:"instant"})},0)}:e6,e9=(null==_?void 0:_.name)&&e4?_.name.includes("학원")?_.name:"".concat(_.name," 학원"):"";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(eW(),{children:(0,r.jsx)("title",{children:"내 교육 일정 관리 - 운전선생"})}),(0,r.jsxs)("div",{className:"flex flex-col bg-White-100",style:{height:"calc(100dvh - var(--top-web-to-app-banner-height, 0px))"},children:[G?(0,r.jsx)(k.l,{title:e3,onClickBackButton:e8}):(0,r.jsxs)("div",{className:"flex h-56 items-center justify-between px-16",children:[(0,r.jsx)("button",{type:"button",onClick:e8,className:"flex h-36 w-36 items-center justify-center",children:(0,r.jsx)(eb.u,{icon:"arrowline-outlined",size:24,className:"fill-Gray-900"})}),(0,r.jsx)("p",{className:"text-16-normal-bold text-Gray-900",children:e9}),(null==_?void 0:_.phoneNum)?(0,r.jsx)("a",{href:"tel:".concat(_.phoneNum),className:"flex h-36 w-36 items-center justify-center",children:(0,r.jsx)(eb.u,{icon:"phone-outlined",size:24,className:"fill-Gray-900"})}):(0,r.jsx)("div",{className:"h-36 w-36"})]}),!G&&(0,r.jsx)(e_,{value:R,onValueChange:F}),G&&e4&&P&&(0,r.jsx)("div",{className:"sticky top-0 z-10 bg-White-100 pt-16",children:(0,r.jsx)(eQ,{selectedDate:P,schedules:ex,onDateClick:e=>{A(e),eS(e=>e+1)},onWeekChange:ek})}),!f&&(j||(N?K:E))&&(0,r.jsx)("div",{className:"flex h-[calc(100dvh-var(--app-bar-height,56px)-var(--top-web-to-app-banner-height,0px))] items-center justify-center pb-[var(--app-bar-height,56px)]",children:(0,r.jsx)(I.Z,{size:48})}),!(j||(N?K:E))&&(0,r.jsxs)("main",{ref:eN,className:(0,T.cn)("scrollbar-all-hide flex-1","schedule"!==R||G?"overflow-y-auto snap-y snap-proximity":"overflow-y-auto"),children:[!f&&!j&&!e4&&(0,r.jsx)("div",{className:"px-16 pt-16",children:(0,r.jsx)("p",{className:"text-16-normal-medium text-Gray-600",children:"학원 연동이 필요합니다."})}),!f&&N&&H&&(0,r.jsx)("div",{className:"px-16 pt-16",children:(0,r.jsx)("p",{className:"text-16-normal-medium text-Red-400",children:"일정을 불러오지 못했습니다."})}),G&&e5&&P&&(0,r.jsx)(c.Y,{schedules:ex,shuttles:eg,selectedDate:P,scrollToDateTrigger:ej,scrollContainerRef:eN,onDateSectionVisible:eT,onShuttleChange:e$,onViewLocation:eD,onTrackShuttle:eC,isShuttleRunning:eU}),!G&&(0,r.jsxs)(r.Fragment,{children:["schedule"===R&&e5&&P&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{children:(0,r.jsx)(eh,{schedules:ew,hasPendingChange:eo,showUnconfirmedBanner:"unconfirmed"===el})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"bg-Gray-100 h-8 w-full"}),(0,r.jsx)("div",{className:"pt-16",children:(0,r.jsx)(em.b,{schedules:ex,shuttles:eg,selectedDate:P,onDateClick:e=>{A(e),O(!0)},viewMode:"month"})})]}),(0,r.jsx)(es.G,{academyId:M,onOpenGuide:e=>d.push("/blog/".concat(e))}),(0,r.jsx)("div",{className:"h-[250px]"})]}),"change"===R&&(0,r.jsx)(eE,{neoStudentId:N}),"review"===R&&(0,r.jsx)(eu,{academyId:M,academyName:e4?null==_?void 0:_.name:void 0})]})]}
1),"schedule"===R&&e4&&(0,r.jsx)(s.G,{onReservationChangeClick:eK,reservationChangeDisabled:e2,showReservationChangeButton:e0,isShuttleActive:eU,onTrackShuttleClick:eC,shuttleEtaMinutes:f?8:null===(t=eM.eta)||void 0===t?void 0:t.minutes,shuttleStationName:f?null==eq?void 0:eq.stationName:null===(n=eM.reservation)||void 0===n?void 0:n.stationName,shuttleDriverInfo:f?"".concat(null==eq?void 0:eq.driverName,"님 \xb7 ").concat((null==eq?void 0:eq.vehicleNumber)||""):eM.driver?"".concat(eM.driver.name,"님 \xb7 ").concat(eM.driver.vehiclePlate||""):void 0})]}),h&&(0,r.jsx)(ev,{}),W&&(0,r.jsx)(eL.p,{isOpen:Y,onClose:()=>{q(!1),z(null)},station:{name:W.stationName,address:W.stationAddress,latitude:W.stationLatitude||0,longitude:W.stationLongitude||0,roadviewPov:W.stationRoadviewPov},academy:L||void 0}),B&&(0,r.jsx)("div",{className:"fixed inset-0 z-50",children:(0,r.jsx)(ei,{schedules:e1,academyId:M||"",academyPhone:null==_?void 0:_.phoneNum,neoStudentId:N,bookingId:null==er?void 0:er.bookingId,test:f,onClose:()=>Q(!1)})}),(0,r.jsx)(u.V,{isOpen:null!==U,close:()=>$(null),title:"within-48h"===U?"48시간 이내로 다가온 수업은 전화로 변경해 드리고 있어요.":"일정 변경은 전화로 안내해 드리고 있어요.",body:"보다 정확한 안내를 위해 학원으로 연락 주시면 빠르고 정확하게 도와드릴게요.",buttons:[(0,r.jsx)(u.Q,{buttonType:"box",text:"취소",color:"filled-gray",onClick:()=>$(null)},"cancel"),(0,r.jsx)(u.Q,{buttonType:"box",text:"문의하기",color:"filled-yellow",onClick:eZ,disabled:!(null==_?void 0:_.phoneNum)},"call")]}),(0,r.jsx)(u.V,{isOpen:X,close:()=>V(!1),title:"셔틀 변경은 전화로 안내해 드리고 있어요.",body:"보다 정확한 안내를 위해 학원으로 연락 주시면 빠르고 정확하게 도와드릴게요.",buttons:[(0,r.jsx)(u.Q,{buttonType:"box",text:"취소",color:"filled-gray",onClick:()=>V(!1)},"cancel"),(0,r.jsx)(u.Q,{buttonType:"box",text:"문의하기",color:"filled-yellow",onClick:eJ},"call")]})]})}function eV(){return(0,r.jsx)(d.u,{fallbackRoute:"/profile",children:(0,r.jsx)(eX,{})})}},70885:function(e,t,n){"use strict";n.d(t,{_:function(){return a}});var r=n(44194),l=n(51009);let a=()=>{let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t("IOS app"===(0,l.h)())},[]),e}},70593:function(e,t,n){"use strict";n.d(t,{J:function(){return r}});let r=!1},45107:function(e,t,n){"use strict";n.d(t,{W:function(){return r.W}});var r=n(44974)},65530:function(e,t,n){"use strict";n.d(t,{_:function(){return r._}});var r=n(14083)},66657:function(e,t,n){"use strict";n.d(t,{a:function(){return r.a}});var r=n(6662)},98428:function(e,t,n){"use strict";n.d(t,{P:function(){return r.Pg}});var r=n(65296)},6372:function(e,t,n){"use strict";n.d(t,{l$:function(){return h},mL:function(){return x}});var r,l,a=n(44194),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var l in t=arguments[n])Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l]);return e}).apply(this,arguments)};function s(e,t,n,r,l){var a=Math.min(Math.max(e+n-(n>0?Math.max(0,Math.min(n,-t)):Math.min(0,Math.max(n,-t))),r),l)-Math.min(Math.max(e,r),l);return[a,n-a]}function o(e,t,n){return 0===Math.abs(t)&&Math.abs(n)>0||Math.sign(t)===Math.sign(n)?.3*e*Math.sign(n)*Math.log10(1+.5*Math.abs(n)/e):n}function c(e){return!!e&&e.scrollWidth>e.clientWidth}function d(e){return!!e&&e.scrollHeight>e.clientHeight}function u(e){return"function"==typeof e}function m(e,t){var n,r,l=function(){for(var a=[],i=0;i<arguments.length;i++)a[i]=arguments[i];var s=Date.now()-n,o=u(t)?t():t||0;s<o&&s>=0?r=setTimeout(function(){return l.apply(void 0,a)},o-s):e.apply(void 0,a)},a=function(){for(var e=[],a=0;a<arguments.length;a++)e[a]=arguments[a];n=Date.now(),r=setTimeout(function(){return l.apply(void 0,e)},u(t)?t():t||0)};return a.clear=function(){clearTimeout(r)},a}function f(e){var t=(0,a.useRef)(e);return(0,a.useEffect)(function(){t.current=e},[e]),t}(r=l||(l={}))[r.Left=1]="Left",r[r.Middle=4]="Middle",r[r.Right=2]="Right";var p=function(){function e(e,t){var n,r,l,a,i=this;
1this.getScrollMode=function(e){if(i.getOptions().overscroll&&i.reference.current&&e){var t=i.reference.current,n=t.scrollLeft,r=t.scrollTop,l=t.clientHeight,a=t.clientWidth,s=t.scrollHeight,o=t.scrollWidth;return e.left<0&&n>0||e.left>0&&n<o-a||e.top<0&&r>0||e.top>0&&r<s-l?"local":"global"}return"local"},this.clearStyles=function(){i.reference.current&&i.reference.current.childNodes.forEach(function(e,t){e.style.transition=i.originalStyles.transition[t],e.style.transform=i.originalStyles.transform[t],e.style.pointerEvents=i.originalStyles.pointerEvents[t]}),i.overflow.left=0,i.overflow.top=0,i.overflow.prevent=!1},this.inertia=function(e,t){var n=i.calculateScroll({left:i.inertiaSpeed.left*e,top:i.inertiaSpeed.top*e});i.inertiaSpeed.left=(n.left.local+n.left.overflow)/e*.95,i.inertiaSpeed.top=(n.top.local+n.top.overflow)/e*.95,i.applyScroll(n),.05>Math.abs(i.inertiaSpeed.left)&&.05>Math.abs(i.inertiaSpeed.top)&&(null==t||t())},this.reference=e,this.options=t,this.originalStyles={transform:[],transition:[],pointerEvents:[]},this.overflow={left:0,top:0,prevent:!1},this.inertiaSpeed={left:0,top:0},this.mode=null,this.active=!1,this.loopedInertia=(n=this.inertia,l=!1,a={run:function(e){l=!1;var t=performance.now(),i=function(){a.cancel(),null==e||e()},s=function(e){l||(n(e-t,i),t=e,r=window.requestAnimationFrame(function(e){return s(e)}))};r=window.requestAnimationFrame(function(e){return s(e)})},cancel:function(){l=!0,window.cancelAnimationFrame(r)}}),this.debouncedClearStyles=m(this.clearStyles,300)}return e.prototype.getOptions=function(){return i({inertia:!0,rubberBand:!0},this.options.current)},e.prototype.start=function(e){var t=this;this.active&&this.cancel(),this.mode=this.getScrollMode(e),this.reference.current&&this.reference.current.childNodes.forEach(function(e){e.addEventListener("click",t.preventEvent);var n=window.getComputedStyle(e),r=n.transform,l=n.transition,a=n.pointerEvents;t.originalStyles.transition.push(l),t.originalStyles.transform.push(r),t.originalStyles.pointerEvents.push(a),e.style.pointerEvents="none"}),this.active=!0},e.prototype.scroll=function(e){this.applyScroll(this.calculateScroll(e))},e.prototype.end=function(e,t){var n=this,r=this.getOptions().inertia,l=function(){n.cancel(),null==t||t()};this.inertiaSpeed.left=e?e.left:0,this.inertiaSpeed.top=e?e.top:0,r?this.loopedInertia.run(l):l()},e.prototype.cancel=function(){var e,t=this;null===(e=this.reference.current)||void 0===e||e.childNodes.forEach(function(e){e.removeEventListener("click",t.preventEvent)}),this.resetOverflow(),this.loopedInertia.cancel(),this.mode=null,this.active=!1},e.prototype.resetOverflow=function(){var e,t=this.overflow.left||this.overflow.top;t&&(this.overflow.prevent=!0,(null===(e=this.reference.current)||void 0===e?void 0:e.childNodes).forEach(function(e){e.style.transform="translate3d(0px, 0px, 0px)",e.style.transition="300ms"})),t?this.debouncedClearStyles():this.clearStyles()},e.prototype.preventEvent=function(e){e.preventDefault(),e.stopImmediatePropagation()},e.prototype.applyScroll=function(e){var t=this,n=e.left,r=e.top;(n.global||r.global)&&window.scrollTo({left:window.scrollX+n.global,top:window.scrollY+r.global,behavior:"auto"}),this.reference.current&&(this.reference.current.scrollLeft+=n.local,this.reference.current.scrollTop+=r.local,!this.overflow.prevent&&(n.overflow||r.overflow)&&(this.overflow.left+=n.overflow,this.overflow.top+=r.overflow,this.reference.current.childNodes.forEach(function(e){e.style.transform="translate3d("+-t.overflow.left+"px, "+-t.overflow.top+"px, 0px)",e.style.transition="0ms"})))},e.prototype.calculateScroll=function(e){var t=this.getOptions().rubberBand,n={local:0,global:0,overflow:0},r={local:0,global:0,overflow:0};if("global"===this.mode)n.global=e.left,r.global=e.top;else if(this.reference.current){var l=this.reference.current,a=l.scrollLeft,i=l.scrollTop,u=l.scrollWidth,m=l.clientWidth,f=l.scrollHeight,p=l.clientHeight;if(c(this.reference.current)){var x=s(a,this.overflow.left,e.left,0,u-m),h=x[0],g=x[1];n.local=h,t&&(n.overflow=o(m,this.overflow.left,g))}if(d(this.reference.current)){var v=s(i,this.overflow.top,e.top,0,f-p);h=v[0],g=v[1],r.local=h,t&&(r.overflow=o(m,this.overflow.top,g))}}return{left:n,top:r}},e}();function x(e){void 0===e&&(e={mouseScroll:!0});var t,n,r,s=(0,a.useRef)(null),o=1/60*1e3,u=(0,a.useRef)({scrolling:!1,started:!1,pressed:!1,artificial:!1,mou
1se:!1}),x=(0,a.useRef)({active:{left:!1,top:!1},initialClick:{left:0,top:0},speedX:0,speedY:0,clientX:0,clientY:0}),h=(0,a.useRef)({body:{},reference:{}}),g=f(e),v=f(i({activationDistance:20,cursor:!0,buttons:[l.Left]},null!==(t=g.current.mouseScroll)&&"object"==typeof t?g.current.mouseScroll:{})),y=(0,a.useState)("mouseScrollImplementation"in e&&e.mouseScrollImplementation?e.mouseScrollImplementation(s,v):new p(s,v))[0],b=function(){var e=function(){window.requestAnimationFrame(function(){var e,t;null===(t=(e=g.current).onEndScroll)||void 0===t||t.call(e),u.current.started=!1,u.current.scrolling=!1,u.current.artificial=!1})};u.current.artificial?y.end({left:x.current.speedX,top:x.current.speedY},e):e()},w=function(e){var t,n,r=v.current.ignoreElements;g.current.mouseScroll&&function(e,t,n){if(n&&e&&t){var r=e.closest(n);return null===r||r.contains(t)}return!!(e&&t)}(e.target,s.current,r)&&(c(s.current)||d(s.current))&&-1!==v.current.buttons.indexOf(e.buttons)&&(t=e.clientX,n=e.clientY,x.current.speedY=0,x.current.speedX=0,x.current.clientX=t,x.current.clientY=n,x.current.active.left=!1,x.current.active.top=!1,x.current.initialClick.top=n,x.current.initialClick.left=t,u.current.mouse=!0,u.current.pressed=!0,y.cancel())},j=function(e){var t,n,r,l,a,i;g.current.mouseScroll&&u.current.pressed&&u.current.mouse&&(t=e.clientX,n=e.clientY,l=(r=v.current).activationDistance,a=r.cursor,Math.abs(t-x.current.initialClick.left)>l&&(x.current.active.left=!0),Math.abs(n-x.current.initialClick.top)>l&&(x.current.active.top=!0),i={left:x.current.active.left?x.current.clientX-t:0,top:x.current.active.top?x.current.clientY-n:0},y.active?u.current.pressed&&(x.current.speedX=i.left/o,x.current.speedY=i.top/o,x.current.clientX=t,x.current.clientY=n,y.scroll(i),window.requestAnimationFrame(function(){x.current.speedX=0,x.current.speedY=0})):(x.current.active.top||x.current.active.left)&&(y.start(i),x.current.clientX=t,x.current.clientY=n,u.current.artificial=!0,a&&(h.current.body.cursor=document.body.style.cursor,document.body.style.cursor="grabbing",s.current&&(h.current.reference.cursor=s.current.style.cursor,s.current.style.cursor="grabbing")),s.current&&(h.current.reference.userSelect=s.current.style.userSelect,s.current.style.userSelect="none")),e.preventDefault(),e.stopPropagation())},S=function(){u.current.pressed&&(y.active&&b(),u.current.pressed=!1,u.current.mouse=!1,N())},N=function(){v.current.cursor&&(document.body.style.cursor=h.current.body.cursor||"",s.current&&(s.current.style.cursor=h.current.reference.cursor||"")),s.current&&(s.current.style.userSelect=h.current.reference.userSelect||"")},T=function(){u.current.artificial=!1,u.current.pressed=!0},k=function(){u.current.pressed&&(u.current.started&&!u.current.scrolling&&b(),u.current.pressed=!1)},D=function(){var e,t,n,r;u.current.scrolling=!0,u.current.started?null===(t=(e=g.current).onScroll)||void 0===t||t.call(e):(u.current.started=!0,null===(r=(n=g.current).onStartScroll)||void 0===r||r.call(n)),E()},E=(n=f(function(){var e=u.current,t=e.pressed,n=e.started,r=e.artificial;t||!n||r||b(),u.current.scrolling=!1}),r=f(250),(0,a.useRef)(m(function(){var e;null===(e=n.current)||void 0===e||e.call(n)},function(){return r.current})).current),C=(0,a.useCallback)(function(e){s.current!==e&&(s.current&&(s.current.removeEventListener("mousedown",w),s.current.removeEventListener("scroll",D),s.current.removeEventListener("touchstart",T)),s.current=e,s.current&&(s.current.addEventListener("mousedown",w,{passive:!1}),s.current.addEventListener("scroll",D,{passive:!1}),s.current.addEventListener("touchstart",T)))},[]);return(0,a.useEffect)(function(){return window.addEventListener("mouseup",S),window.addEventListener("mousemove",j),window.addEventListener("touchend",k),function(){window.removeEventListener("mouseup",S),window.removeEventListener("mousemove",j),window.removeEventListener("touchend",k),N()}},[]),{ref:C}}var h=(0,a.forwardRef)(function(e,t){var n,r=i({mouseScrollImplementation:void 0},e),l=r.children,s=r.className,o=r.component,c=r.hideScrollbars,d=r.mouseScroll,u=r.mouseScrollImplementation,m=r.onStart
1Scroll,f=r.onEndScroll,p=r.onScroll,h=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(r=Object.getOwnPropertySymbols(e);l<r.length;l++)0>t.indexOf(r[l])&&Object.prototype.propertyIsEnumerable.call(e,r[l])&&(n[r[l]]=e[r[l]])}return n}(r,["children","className","component","hideScrollbars","mouseScroll","mouseScrollImplementation","onStartScroll","onEndScroll","onScroll"]),g=x({mouseScroll:void 0===d||d,mouseScrollImplementation:u,onStartScroll:m,onEndScroll:f,onScroll:p});return a.createElement(o||"div",i({className:[s,"indiana-scroll-container",(void 0===c||c)&&"indiana-scroll-container--hide-scrollbars"].filter(function(e){return e}).join(" "),ref:(n=[t,g.ref],function(e){n.forEach(function(t){"function"==typeof t?t(e):null!=t&&(t.current=e)})})},h),l)});t.ZP=h},62118:function(e){"use strict";e.exports=function(){}},77329:function(e,t,n){"use strict";n.d(t,{aV:function(){return E},fC:function(){return D},xz:function(){return C}});var r=n(44194),l=n(39501),a=n(10317),i=n(33689),s=n(80830),o=n(85073),c=n(79279),d=n(61440),u=n(60143),m=n(31549),f="Tabs",[p,x]=(0,a.b)(f,[i.Pc]),h=(0,i.Pc)(),[g,v]=p(f),y=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:l,defaultValue:a,orientation:i="horizontal",dir:s,activationMode:p="automatic",...x}=e,h=(0,c.gm)(s),[v,y]=(0,d.T)({prop:r,onChange:l,defaultProp:a??"",caller:f});return(0,m.jsx)(g,{scope:n,baseId:(0,u.M)(),value:v,onValueChange:y,orientation:i,dir:h,activationMode:p,children:(0,m.jsx)(o.WV.div,{dir:h,"data-orientation":i,...x,ref:t})})});y.displayName=f;var b="TabsList",w=r.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...l}=e,a=v(b,n),s=h(n);return(0,m.jsx)(i.fC,{asChild:!0,...s,orientation:a.orientation,dir:a.dir,loop:r,children:(0,m.jsx)(o.WV.div,{role:"tablist","aria-orientation":a.orientation,...l,ref:t})})});w.displayName=b;var j="TabsTrigger",S=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:a=!1,...s}=e,c=v(j,n),d=h(n),u=T(c.baseId,r),f=k(c.baseId,r),p=r===c.value;return(0,m.jsx)(i.ck,{asChild:!0,...d,focusable:!a,active:p,children:(0,m.jsx)(o.WV.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":f,"data-state":p?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:u,...s,ref:t,onMouseDown:(0,l.Mj)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(r)}),onKeyDown:(0,l.Mj)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(r)}),onFocus:(0,l.Mj)(e.onFocus,()=>{let e="manual"!==c.activationMode;p||a||!e||c.onValueChange(r)})})})});S.displayName=j;var N="TabsContent";function T(e,t){return`${e}-trigger-${t}`}function k(e,t){return`${e}-content-${t}`}r.forwardRef((e,t)=>{let{__scopeTabs:n,value:l,forceMount:a,children:i,...c}=e,d=v(N,n),u=T(d.baseId,l),f=k(d.baseId,l),p=l===d.value,x=r.useRef(p);return r.useEffect(()=>{let e=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,m.jsx)(s.z,{present:a||p,children:({present:n})=>(0,m.jsx)(o.WV.div,{"data-state":p?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":u,hidden:!n,id:f,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:x.current?"0s":void 0},children:n&&i})})}).displayName=N;var D=y,E=w,C=S}}
1,function(e){e.O(0,[62276,14797,89009,1621,15582,52719,3029,92888,49774,40179],function(){return e(e.s=30381)}),_N_E=e.O()}]);
2//# sourceMappingURL=schedule-10f0e8977d5deadc.js.map

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.