PageSourceSearch

https://www.superschool.link/assets/StudentMypage-DxzdtslB.js

js superschool.link collected 2026-10-02 15:46:28 UTC 21,200 bytes, 1 lines download raw bytes

1import{r as v,j as e}from"./vendor-react-wpXF2Dvf.js";import{a2 as U,e as Z,Q as ee,V as se,W as te,L as u,ad as W,Y as l,ae as E,af as F,az as O,ag as z,aj as $,ai as B,b as ae,H as K,s as re,P as C,A as T,i as le,g as de,c as ne,S as ue,O as pe,a as xe,T as he,ah as _,l as fe,x as me,G as je,y as ge,z as M,j as Ne,ab as be,h as q}from"./superschool-ui-ijQK0qhP.js";import{u as G,j as we}from"./main-C1IJdISs.js";import{aY as D,aH as Q,aL as A,S as H,a6 as ve,U as ye,Q as ke,a5 as ie,bq as Se,b3 as Ce,b5 as Pe,bU as Le}from"./superschool-sdk-B9p352qX.js";import{P as Ue}from"./ParentsInfoSection-DrogQx2K.js";import{u as Re}from"./useFileUpload-BkBxBVFO.js";import{g as I}from"./fileUpload-CHm2xRRi.js";import"./vendor-radix-DCMKLCCS.js";import"./vendor-react-pdf-C3KUfZHm.js";import"./vendor-recharts-ecE23-P5.js";import"./vendor-tiptap-cyOKIKhB.js";import"./modulepreload-polyfill-B5Qt9EMX.js";import"./vendor-query-fYiNqPbw.js";import"./vendor-i18n-BUJziXlB.js";import"./fileNameGuard-KgH4Sovk.js";function Ee({isChangePasswordDialogOpen:s,setIsChangePasswordDialogOpen:n}){const{me:t,setMe:o}=G(),i=D({schema:Q.changePasswordSchema,defaultValues:{newPassword:"",confirmPassword:""},mode:"onSubmit"}),{watch:p,trigger:m}=i,h=p("newPassword"),x=p("confirmPassword"),d=!h||!x||!!i.formState.errors.newPassword||!!i.formState.errors.confirmPassword||h.length<8||x.length<8,{mutate:f}=A().useUserUpdateMe({onSuccess:c=>{o({...t,...c}),U({title:"안내",description:"비밀번호 변경이 완료되었습니다.",onConfirm:()=>n(!1)})},onError:()=>{U({title:"안내",description:"비밀번호 변경에 실패했습니다."})}}),a=async c=>{var j,r,g,S;const{newPassword:k}=c,N={name:(t==null?void 0:t.name)||"",nickName:(t==null?void 0:t.nickName)||"",phone:(t==null?void 0:t.phone)||"",profile:(t==null?void 0:t.profile)||"",position:(j=t==null?void 0:t.teacherProperty)==null?void 0:j.position,department:(r=t==null?void 0:t.teacherProperty)==null?void 0:r.department,chatStartTime:(g=t==null?void 0:t.teacherProperty)==null?void 0:g.chatStartTime,chatEndTime:(S=t==null?void 0:t.teacherProperty)==null?void 0:S.chatEndTime};await f({data:{...N,password:k}})};return v.useEffect(()=>{s&&i.reset()},[s,i]),v.useEffect(()=>{x&&x.length>=8&&(m("confirmPassword"),m())},[h,x,m]),e.jsx(Z,{open:s,onOpenChange:n,children:e.jsxs(ee,{className:"h-[370px] w-[632px] sm:max-w-[632px]",preventOutsideClose:!0,children:[e.jsx(se,{children:e.jsx(te,{className:"text-left",children:e.jsx(u,{variant:"title",children:"비밀번호 변경"})})}),e.jsx(W,{...i,children:e.jsx("form",{onSubmit:i.handleSubmit(a),className:"w-full",children:e.jsxs(l,{direction:"col",gap:"2",className:"w-full",children:[e.jsx(E,{control:i.control,name:"newPassword",render:({field:c,fieldState:k})=>e.jsx(F,{className:"w-full",children:e.jsxs(l,{items:"center",className:"w-full gap-2",children:[e.jsx(O,{className:"w-[160px] shrink-0 text-[16px]",children:"비밀번호"}),e.jsxs(l,{direction:"col",className:"flex-1 gap-1",children:[e.jsx(z,{children:e.jsx($,{size:"lg",placeholder:"비밀번호를 입력해 주세요.",className:H("w-full border-gray-200 pl-4 text-[15px]","placeholder:text-[15px] placeholder:text-gray-400","focus:border-gray-700 focus:caret-blue-800",k.error&&"border-primary-red-800 focus:border-primary-red-800"),...c,onChange:N=>{const j=String(N.target.value).replace(/ /g,"").replace(/•/g,"").replace(/\t/g,"");c.onChange(j),j.length>=8?(m("newPassword"),x&&x.length>=8&&m()):i.clearErrors("newPassword")}})}),e.jsx(B,{})]})]})})}),e.jsx(E,{control:i.control,name:"confirmPassword",render:({field:c,fieldState:k})=>e.jsx(F,{className:"w-full",children:e.jsxs(l,{items:"center",className:"w-full gap-2",children:[e.jsx(O,{className:"w-[160px] shrink-0 text-[16px]",children:"비밀번호 확인"}),e.jsxs(l,{direction:"col",className:"flex-1 gap-1",children:[e.jsx(z,{children:e.jsx($,{size:"lg",placeholder:"비밀번호를 한번 더 입력해 주세요.",className:H("w-full border-gray-200 pl-4 text-[15px]","placeholder:text-[15px] placeholder:text-gray-400","focus:border-gray-700 focus:caret-blue-800",k.error&&"border-primary-red-800 focus:border-primary-red-800"),...c,onChange:N=>{const j=String(N.target.value).replace(/ /g,"").replace(/•/g,"").replace(/\t/g,"");c.onChange(j),j.length>=8?(m("confirmPassword"),h&&h.length>=8&&m()):i.clearErrors("confirmPassword")}})}),e.jsx(B,{})]})]})})})]})})}),e.jsxs(ae,{children:[e.jsxs(l,{direction:"row",items:"center",gap:"1",children:[e.jsx(K,{name:"bullet",className:"w-[2px]"}),e.jsx(u,{variant:"dim",children:"안전한 개인정보의 보호를 위해 문자, 숫자, 특수문자가 포함된 8자 이상의 비밀번호를 입력하세요."})]}),e.jsxs(l,{direction:"row",items:"center",gap:"1",children:[e.jsx(K,{name:"bullet",className:"w-[2px]"}),e.jsx(u,{variant:"dim",children:"사용 가능한 특수문자는 !, @, #, $, %, &, *, ? 입니다."})]})]}),e.jsx(re,{children:e.jsx(C,{variant:"solid",size:"lg",color:"primary",disabled:d,onClick:i.handleSubmit(a),children:"비밀번호 변경하기"})})]})})}const Y="소속 그룹",J="반/번호",Fe="별명",ze="전화번호";function Be({control:s}){return e.jsx(E,{control:s,name:"nickName",render:({field:n})=>e.jsxs(F,{className:"mr-4 w-full",children:[e.jsx(z,{children:e.jsx(_,{value:n.value??"",className:"h-8",onChange:n.onChange,placeholder:"별명을 입력해주세요"})}),e.jsx(B,{})]})})}function Ae({control:s}){return e.jsx(E,{control:s,name:"phone",render:({field:n})=>e.jsxs(F,{className:"w-full",children:[e.jsx(z,{children:e.jsx(_.Tel,{value:n.value??"",onChange:t=>{const o=t.target.value.replace(/[^0-9]/g,"");n.onChange(o)}})}),e.jsx(B,{})]})})}function Me({info:s,isEditMode:n,isNicknameField:t,isPhoneField:o,isEditableField:i,control:p}){return!n||!i?e.jsx(u,{variant:"default",className:"mr-4 text-[16px]",children:s.value}):t?e.jsx(Be,{control:p}):o?e.jsx(Ae,{control:p}):null}function Oe({info:s,isEditMode:n,control:t}){const o=s.label===Fe,i=s.label===ze,p=o||i;return e.jsxs(l,{width:"1/2",items:"center",children:[e.jsx(u,{variant:"dim",className:"w-[120px] shrink-0 text-[16px]",children:s.label}),e.jsx(Me,{info:s,isEditMode:n,isNicknameField:o,isPhoneField:i,isEditableField:p,control:t})]},s.label)}function Te(s){var n;return e.jsxs(l,{className:"my-4",children:[e.jsx(u,{variant:"dim",className:"w-[120px] shrink-0 text-[16px]",children:s.label}),e.jsx(l,{direction:"row",wrap:!0,items:"center",gap:"2",children:Array.isArray(s.value)?(n=s.value)==null?void 0:n.map(t=>
1e.jsx(u,{className:"w-fit rounded-md border border-gray-200 px-2 py-1 text-[16px]",children:t},t)):e.jsx(u,{variant:"dim",className:"text-[16px]",children:s.value})})]},s.label)}function Ge(s){var n;return e.jsxs(l,{children:[e.jsx(u,{variant:"dim",className:"w-[120px] shrink-0 text-[16px]",children:s.label}),e.jsx(l,{direction:"col",gap:"1",children:Array.isArray(s.value)?(n=s.value)==null?void 0:n.map(t=>e.jsx(u,{children:t},t)):e.jsx(u,{variant:"dim",className:"text-[16px]",children:s.value})})]},s.label)}function Ie(s){return e.jsxs(l,{className:"my-2",children:[e.jsxs(l,{items:"center",gap:"2",direction:"row",className:"w-[120px] shrink-0",children:[e.jsx(u,{className:"text-[16px]",variant:"dim",children:"본인인증 계정"}),e.jsxs(ue,{children:[e.jsx(pe,{asChild:!0,children:e.jsx("button",{className:"flex items-center justify-center",children:e.jsx(K,{name:"tooltip",customSize:{width:"20px",height:"20px"}})})}),e.jsx(xe,{className:"w-fit",side:"top",children:e.jsxs(l,{direction:"col",gap:"2",children:[e.jsx(u,{size:"sm",weight:"lg",children:"본인인증 계정이란?"}),e.jsxs(u,{size:"xs",variant:"sub",children:["휴대폰 본인인증을 통해 안전하게 보호되는 계정이에요.",e.jsx("br",{}),"하나의 계정으로 여러 학교를 추가할 수 있어요.",e.jsx("br",{}),"졸업 후에도 학교 기록을 유지하고, 새 학교를 추가할 수 있어요."]})]})})]})]}),e.jsx(he,{title:s?"연결 완료":"미연결",variant:"sub",color:s?"green":"gray",size:"lg"})]})}function $e({me:s,groups:n,klassHistory:t}){const{setMe:o}=G(),[i,p]=v.useState(!1),[m,h]=v.useState(!1),x=D({schema:Q.updateUserSchema,defaultValues:{name:(s==null?void 0:s.name)||"",phone:(s==null?void 0:s.phone)||"",nickName:(s==null?void 0:s.nickName)||"",profile:(s==null?void 0:s.profile)||"",position:null,department:null,chatStartTime:"",chatEndTime:""},mode:"onChange"}),{mutate:d}=A().useUserUpdateMe({onSuccess:r=>{o({...s,...r}),p(!1),x.reset({name:r.name||"",phone:r.phone||"",nickName:r.nickName||"",profile:r.profile||"",position:null,department:null,chatStartTime:"",chatEndTime:""}),T({message:"변경하신 정보가 저장되었습니다.",type:"success"})},onError:()=>{T({message:"정보 저장에 실패했습니다.",type:"error"})}}),f=()=>{p(!i),x.reset({name:(s==null?void 0:s.name)||"",phone:(s==null?void 0:s.phone)||"",nickName:(s==null?void 0:s.nickName)||"",profile:(s==null?void 0:s.profile)||"",position:null,department:null,chatStartTime:"",chatEndTime:""})},a=x.handleSubmit(r=>{d({data:{...s,nickName:r.nickName||"",phone:r.phone}})}),c=[{label:"이름",value:(s==null?void 0:s.name)||"-"},{label:"학번",value:s!=null&&s.klassGroupName&&(s!=null&&s.studentNumber)?ve(`${(s==null?void 0:s.klassGroupName)||""}${(s==null?void 0:s.studentNumber)||""}`):"-"},{label:"별명",value:(s==null?void 0:s.nickName)||"-"},{label:"생년월일",value:ye((s==null?void 0:s.birthDate)||"",ke["YYYY년 MM월 DD일"])||"-"},{label:"이메일 주소",value:(s==null?void 0:s.email)||"-"},{label:"전화번호",value:(s==null?void 0:s.phone.replace(/(\d{3})(\d{4})(\d{4})/,"$1-$2-$3"))||"-"},{label:"소속 그룹",value:(()=>{const r=(n==null?void 0:n.map(g=>g.name||"").filter(Boolean))||[];return r.length>0?r:"설정된 소속 그룹이 없습니다. 담임선생님께 문의해 주세요."})(),width:"full"},{label:"반/번호",value:t&&t.length>0?t.sort((r,g)=>{var S,P;return+(((S=r==null?void 0:r.group)==null?void 0:S.year)||0)-+(((P=g==null?void 0:g.group)==null?void 0:P.year)||0)}).map(r=>{var g,S,P;return`${((g=r.group)==null?void 0:g.year)||""} ${((S=s==null?void 0:s.school)==null?void 0:S.name)||""} ${((P=r.group)==null?void 0:P.name)||""} ${r.studentNumber||""}번`}).filter(Boolean):"설정된 반/번호가 없습니다. 담임선생님께 문의해 주세요.",width:"full"}],k=c.filter(r=>r.label!==Y&&r.label!==J),N=c.find(r=>r.label===Y),j=c.find(r=>r.label===J);return s?e.jsxs(e.Fragment,{children:[e.jsxs(le,{shadow:"none",className:"w-full gap-3 rounded-[12px]",children:[e.jsx(de,{className:"w-full",children:e.jsxs(l,{justify:"between",items:"center",children:[e.jsx(u,{variant:"title",className:"font-bold",children:"내 정보"}),e.jsx(l,{justify:"end",items:"center",gap:"2",className:"w-fit",children:i?e.jsxs(e.Fragment,{children:[e.jsx(C,{variant:"outline",size:"sm",color:"primary",onClick:a,disabled:!x.formState.isValid,children:"정보 저장"}),e.jsx(C,{variant:"outline",size:"sm",color:"tertiary",onClick:f,children:"취소"})]}):e.jsxs(e.Fragment,{children:[e.jsx(C,{variant:"outline",size:"sm",color:"tertiary",onClick:f,children:"정보 수정"}),e.jsx(C,{variant:"solid",size:"sm",color:"secondary",onClick:()=>h(!0),children:"비밀번호 변경"})]})})]})}),e.jsx(ne,{children:e.jsx(W,{...x,children:e.jsxs(l,{direction:"row",className:"flex-wrap",children:[e.jsx(l,{items:"center",className:"flex-wrap gap-y-1",children:k.map(r=>
1Oe({info:r,isEditMode:i,control:x.control}))}),N&&Te(N),j&&Ge(j),Ie((s==null?void 0:s.unifiedUserId)!==null)]})})})]}),e.jsx(Ee,{isChangePasswordDialogOpen:m,setIsChangePasswordDialogOpen:h})]}):null}function Ke(){const{me:s,setMe:n}=G(),[t,o]=v.useState(!1),{UploadFileTypeEnum:i}=ie,[p,m]=v.useState(s==null?void 0:s.customProfile),[h,x]=v.useState(s==null?void 0:s.customBackground),[d,f]=v.useState(void 0),[a,c]=v.useState(void 0),{handleUploadFile:k}=Re(),N=v.useRef(null),j=v.useRef(null),{mutate:r,isPending:g}=A().useUserUpdateMe({onSuccess:()=>{o(!1),T({message:"변경하신 프로필이 저장되었습니다.",type:"success"})},onError:()=>{T({message:"프로필 저장에 실패했습니다.",type:"error"})}}),S=()=>d||(typeof p=="string"?p:t?"":(s==null?void 0:s.customProfile)??(s==null?void 0:s.profile)??void 0),P=()=>{if(a&&a.trim()!=="")return a.startsWith("blob:")?a:I(a);if(typeof h=="string"&&h.trim()!=="")return I(h)},V=(b,R)=>{if(!R.target.files)return;const L=R.target.files;if(!L||!L.length)return;let w=L[0];if(Se(w)){U({title:"업로드한 사진을 확인해주세요.",description:"지원하지 않는 파일 형식입니다. 다른 이미지 형식(JPG, PNG 등)으로 변환 후 업로드해 주세요."});return}if(!Ce.fileNameRule(w.name)){U({title:"업로드한 사진을 확인해주세요.",description:"특수문자(%, &, ?, ~)가 포함된 파일명은 사용할 수 없습니다.",onConfirm:()=>{}});return}if(!Pe([w])){U({title:"업로드한 사진을 확인해주세요.",description:"100MB 이하의 이미지 파일을 첨부할 수 있습니다.",onConfirm:()=>{}});return}if(b==="profile"){d!=null&&d.startsWith("blob:")&&URL.revokeObjectURL(d);const y=URL.createObjectURL(w);f(y),m(w)}else{a!=null&&a.startsWith("blob:")&&URL.revokeObjectURL(a);const y=URL.createObjectURL(w);c(y),x(w)}},ce=async()=>{const b={};let R,L;if(!p)b.customProfile="",d!=null&&d.startsWith("blob:")&&URL.revokeObjectURL(d),f(void 0),m(void 0),R="";else if(p instanceof File){const w=await k(i.profiles,[p]);b.customProfile=w[0];const y=w[0];d!=null&&d.startsWith("blob:")&&URL.revokeObjectURL(d),f(y),m(y),R=y}if(!h)b.customBackground="",a!=null&&a.startsWith("blob:")&&URL.revokeObjectURL(a),c(void 0),x(void 0),L="";else if(h instanceof File){const w=await k(i["profiles/custombackground"],[h]);b.customBackground=w[0];const y=w[0];a!=null&&a.startsWith("blob:")&&URL.revokeObjectURL(a),c(y),x(y),L=y}Object.keys(b).length>0&&(r({data:b}),s&&n({...s,...R!==void 0&&{customProfile:R},...L!==void 0&&{customBackground:L}})),o(!1)},oe=p instanceof File||typeof p=="string"&&p.trim()!=="";return e.jsxs(le,{className:"h-[418px] w-full gap-0 overflow-hidden rounded-[12px] py-0 shadow-[0_4px_8px_0_#F4F6F8]",children:[e.jsxs(ne,{className:"relative flex h-full flex-col items-center gap-[56px] bg-transparent px-0",children:[P()?e.jsx("img",{className:"h-[362px] w-full object-cover",src:P(),alt:"",loading:"lazy"}):e.jsx("div",{className:"h-full w-full bg-slate-700 bg-cover bg-center bg-no-repeat"}),e.jsxs(l,{direction:"col",items:"center",className:"absolute mt-[64px] gap-[56px] px-6",children:[e.jsx("div",{className:"relative h-[160px] w-[160px]",children:e.jsx(fe,{src:S(),alt:"학생 프로필",size:"full",rounded:"full",className:"h-[160px] w-[160px]"})}),e.jsxs(l,{justify:"between",items:"center",children:[e.jsxs(l,{direction:"col",gap:"1",className:"w-fit",children:[e.jsx(u,{size:"md",weight:"sm",className:"text-white",children:s!=null&&s.klassGroupName&&(s!=null&&s.studentNumber)?`${(s==null?void 0:s.klassGroupName)||""} ${(s==null?void 0:s.studentNumber)||""}번`:"-"}),e.jsx(u,{size:"xl",weight:"lg",className:"text-white",children:s==null?void 0:s.name})]}),e.jsx(l,{gap:"1",className:"w-fit",children:t?e.jsxs(e.Fragment,{children:[e.jsx("input",{ref:N,id:"profile-upload",type:"file",accept:".png, .jpeg, .jpg",className:"hidden",onChange:b=>V("profile",b)}),e.jsx("input",{ref:j,type:"file",id:"bg-upload",className:"hidden",accept:".png, .jpeg, .jpg",onChange:b=>V("background",b)}),e.jsxs(me,{onOpenChange:b=>{b&&!t&&o(!0)},children:[e.jsx(je,{asChild:!0,children:e.jsx(C,{variant:"outline",size:"sm",color:"tertiary",className:"w-fit min-w-[64px]",disabled:g,children:"사진 변경"})}),e.jsxs(ge,{side:"bottom",align:"start",className:"mt-2 w-[109px] min-w-[109px]",children:[e.jsx(M,{onClick:()=>{N.current&&N.current.click()},className:"cursor-pointer",children:e.jsx(u,{weight:"md",children:"프로필 변경"})}),e.jsx(M,{onClick:()=>{j.current&&j.current.click()},className:"cursor-pointer",children:e.jsx(u,{weight:"md",children:"배경 변경"})}),e.jsx(M,{onClick:()=>{d!=null&&d.startsWith("blob:")&&URL.revokeObjectURL(d),f(void 0),m(void 0),N.current&&(N.current.value="")},disabled:!oe,className:"cursor-pointer",children:e.jsx(u,{weight:"md",children:"프로필 초기화"})}),e.jsx(M,{onClick:()=>{a!=null&&a.startsWith("blob:")&&URL.revokeObjectURL(a),c(void 0),x(void 0),j.current&&(j.current.value="")},disabled:!h,className:"cursor-pointer",children:e.jsx(u,{weight:"md",children:"배경 초기화"})})]})]}),e.jsx(C,{variant:"solid",size:"sm",color:"primary",className:"w-16",onClick:ce,disabled:g,children:"저장"})]}):e.jsx(C,{variant:"outline",size:"sm",color:"tertiary",className:"w-16",onClick:()=>o(!0),disabled:g,children:"수정"})})]})]})]}),e.jsx(Ne,{className:"py-4",children:e.jsxs(l,{justify:"center",items:"center",gap:"1",children:[(s==null?void 0:s.school.mark)&&e.jsx("img",{src:I(s==null?void 0:s.school.mark),alt:"학교 마크",className:"h-6 w-6 rounded-full"}),e.jsx(u,{variant:"default",size:"sm",children:s==null?void 0:s.school.name})]})})]})}const We=s=>typeof s=="object"&&s!==null&&"name"in s&&"type"in s&&"message"in s&&"status"in s;function _e({isDeleteAccountDialogOpen:s,setIsDeleteAccountDialogOpen:n}){const t=we(),o=D({schema:Q.deleteAccountSchema,defaultValues:{password:"",reason:""}}),{watch:i}=o,p=i("password"),m=i("reason"),h=!p||!m,{mutate:x}=A().useUserDeleteUser({onSuccess:()=>{t(),U({title:"회원탈퇴가 완료되었습니다.",description:"그동안 슈퍼스쿨을 이용해 주셔서 감사합니다.",onConfirm:()=>n(!1)})},onError:f=>{var a;console.log(f),We(f)&&((a=f.data)==null?void 0:a.code)==="1001100"?U({title:"비밀번호가 일치하지 않습니다.",description:"비밀번호를 확인해주세요."}):U({title:"회원탈퇴에 실패했습니다.",description:"재시도 또는 선생님께 문의 해주세요."})}}),d=()=>{const f=o.getValues();be({type:"confirm",title:"회원탈퇴",description:"탈퇴하시겠습니까? 탈퇴 후 복구가 불가능합니다.",confirmText:"확인",cancelText:"취소",onConfirm:()=>x({data:f})}).show()};return v.useEffect(()=>{s&&o.reset()},[s,o]),e.jsx(Z,{open:s,onOpenChange:n,children:e.jsxs(ee,{className:"h-[280px] w-[632px] sm:max-w-[632px]",preventOutsideClose:!0,children:[e.jsx(se,{children:e.jsx(te,{className:"text-left",children:e.jsx(u,{variant:"title",className:"text-left",children:"회원탈퇴"})})}),e.jsx(W,{...o,children:e.jsx("form",{className:"w-full",children:e.jsxs(l,{direction:"col",gap:"2",children:[e.jsx(E,{control:o.control,name:"password",render:({field:f})=>e.jsx(F,{className:"w-full",children:e.jsxs(l,{items:"center",className:"gap-2",children:[e.jsx(O,{className:"w-[160px] shrink-0 text-[16px]",children:"비밀번호"}),e.jsx(z,{children:e.jsx($,{size:"lg",placeholder:"비밀번호를 입력해 주세요.",...f,onChange:a=>f.onChange(String(a.target.value).replace(/ /g,"").replace(/•/g,"").replace(/\t/g,""))})}),e.jsx(B,{})]})})}),e.jsx(E,{control:o.control,name:"reason",render:({field:f})=>e.jsx(F,{className:"w-full",children:e.jsxs(l,{items:"center",className:"gap-2",children:[e.jsx(O,{className:"w-[160px] shrink-0 text-[16px]",children:"탈퇴 사유"}),e.jsx(z,{children:e.jsx(_,{size:"lg",placeholder:"탈퇴 사유를 입력해 주세요.",...f})}),e.jsx(B,{})]})})})]})})}),e.jsx(re,{children:e.jsx(C,{variant:"solid",size:"lg",color:"primary",disabled:h,onClick:d,children:"회원탈퇴"})})]})})}const{GroupType:X}=ie;function ns(){const{me:s}=G(),[n,t]=v.useState(!1),{useGroupsFindAllByUser:o}=A(),{useStudentGroupsFindKlassHistoryByStudent:i}=Le(),{data:p}=i({query:{queryKey:["klassHistory"]}}),{data:m}=o(X.KLASS,{query:{queryKey:["klassGroups"]}}),{data:h}=o(X.KLUB,{query:{queryKey:["klubGroups"]}}),x=m==null?void 0:m.filter(a=>{var c;return(((c=a.studentGroups)==null?void 0:c.length)||0)>0}).sort((a,c)=>(a.name||"").localeCompare(c.name||"")),d=h==null?void 0:h.filter(a=>{var c;return(((c=a.studentGroups)==null?void 0:c.length)||0)>0}).sort((a,c)=>(a.name||"").localeCompare(c.name||"")),f=[...x||[],...d||[]];return e.jsxs(q,{className:"h-full w-full overflow-x-auto",children:[e.jsxs(l,{direction:"col",items:"center",className:"h-full",children:[e.jsx("div",{className:"w-full flex-none bg-white px-8 pt-14 pb-6",children:e.jsx("div",{className:"mx-auto w-full max-w-[1280px]",children:e.jsx(u,{variant:"title",className:"text-[32px] font-bold",children:"내 정보 관리"})})}),e.jsx(q,{className:"w-full flex-1 bg-gray-50",children:e.jsx(l,{direction:"col",items:"start",className:"mx-auto max-w-[1280px] min-w-[1080px]",children:e.jsx(ae,{className:"w-full px-8 pt-6 pb-12",children:e.jsxs(l,{gap:"4",className:"mx-auto w-full max-w-[1280px]",children:[e.jsxs(l,{direction:"col",items:"start",ga
1p:"4",children:[e.jsx($e,{me:s,groups:f,klassHistory:p}),e.jsx(Ue,{me:s})]}),e.jsxs(l,{direction:"col",gap:"4",className:"w-[360px] shrink-0",children:[e.jsx(Ke,{}),e.jsx(u,{variant:"dim",className:"w-full cursor-pointer text-right underline",onClick:()=>t(!0),children:"회원탈퇴"})]})]})})})})]}),e.jsx(_e,{isDeleteAccountDialogOpen:n,setIsDeleteAccountDialogOpen:t})]})}export{ns as default};

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.