import{j as e,u as de,r as I,c as pe}from"./vendor-react-C630P38J.js";import{p as O,t as z,f as ye,i as J,q as he,m as ge,S as be}from"./vendor-fxts-IS4CCBC4.js";import{b as xe,C as E,u as qe,a as Ne,c as Se,F as je}from"./vendor-rhf-CXRF5ML7.js";import{e as fe}from"./useBrandInfoByBrandNo-DQa2NbIq.js";import{H as W,bs as x,br as T,bJ as Fe,x as X,ar as v,u as Ie,aa as Te,aO as we,aQ as Ce,h as k,bz as Ee,bA as ve,ak as j,af as f,aF as Ue,ag as Ae,bg as Le,ah as P,bh as $,bC as B,J as D,bi as Ye,bB as Re,e as ke,d as G}from"./feature-order-C2we0F5o.js";import{u as Pe,b as C,f as Me,a as Z}from"./vendor-query-BjC2S-sR.js";import{i as Oe}from"./vendor-utils-Cb1MAKRV.js";import{u as _}from"./vendor-i18n-D_F5k183.js";import{o as ee,s as d,b as U,a as A,n as M}from"./vendor-zod-BNDLCzeL.js";import{F as _e}from"./index-BuHG-EMz.js";const Ke=()=>{const{t:r}=_(),{openDialog:i}=W(),s=Pe(),h=()=>{s.invalidateQueries({queryKey:T.lists(),refetchType:"all"})},g=n=>{s.invalidateQueries({queryKey:T.detail(n),refetchType:"all"})},p=n=>{var l;i({message:r(Oe(n)?(l=n.response)==null?void 0:l.data.message:"알 수 없는 오류가 발생했습니다.")})};return{register:C({mutationFn:async({data:n})=>await x.writeInquiry(n),onSuccess:()=>{h()},onError:n=>{p(n)}}),update:C({mutationFn:async({inquiryNo:n,data:l})=>await x.updateInquiry(n,l),onSuccess:(n,{inquiryNo:l})=>{h(),g(l)},onError:n=>{p(n)}}),partialUpdate:C({mutationFn:async({inquiryNo:n,data:l})=>await x.updatePartOfInquiry(n,l),onSuccess:(n,{inquiryNo:l})=>{h(),g(l)},onError:n=>{p(n)}}),delete:C({mutationFn:async({inquiryNo:n})=>await x.deleteInquiry(n),onSuccess:()=>{h()},onError:n=>{p(n)}})}},H=ee({originalFileName:A(d()).optional(),answerEmailSendYn:U(),uploadedFileName:A(d()).optional(),orderNo:d().optional(),answerSmsSendYn:U(),mobileNo:d().optional(),inquiryTitle:d({error:"1:1 문의 제목을 입력해주세요."}).nonempty("1:1 문의 제목을 입력해주세요."),captcha:d().optional(),inquiryTypeNo:M({error:"문의 유형을 선택해주세요."}).refine(r=>r>0,{message:"문의 유형을 선택해주세요."}),inquiryContent:d({error:"1:1 문의 내용을 입력해주세요."}).nonempty("1:1 문의 내용을 입력해주세요."),orderOptionNo:M().optional(),email:d({error:"이메일을 입력해주세요."}).email({message:"이메일 형식이 올바르지 않습니다."}),productNo:M().optional()}).superRefine((r,i)=>{const s=Fe(r.mobileNo);r.answerSmsSendYn&&!s&&i.addIssue({code:"custom",path:["mobileNo"],message:"휴대폰 번호를 입력해주세요."})}),Qe=ee({originalFileName:A(d()).nullable(),inquiryTitle:d({error:"1:1 문의 제목을 입력해주세요."}),answerEmailSendYn:U(),uploadedFileName:A(d()).nullable(),answerSmsSendYn:U(),inquiryContent:d({error:"1:1 문의 내용을 입력해주세요."})}),Ve=({searchParams:r,options:i}={})=>Me({queryKey:T.types(r),queryFn:async()=>{const{data:s}=await x.getInquiryTypes(r);return s},...i});var $e="_5werv0";const Be=({setPlaceholder:r,disabled:i,isMobile:s})=>{const{t:h}=_(),{control:g,setValue:p,formState:{errors:n}}=xe(),{data:l}=Ve(),q=O(l,ye(c=>c.inquiryTypeName!=="기본 문의유형"),z);return e.jsxs("div",{className:$e,children:[e.jsx(E,{control:g,name:"inquiryTypeNo",render:({field:{onChange:c,value:t,...L}})=>e.jsx(X,{...L,isMobile:s,name:"inquiryTypeNo",placeholder:h("유형을 선택해 주세요."),isDisabled:i,options:q,value:J(m=>m.inquiryTypeNo===t,q),getOptionLabel:m=>m.inquiryTypeName,getOptionValue:m=>m.inquiryTypeNo.toString(),onChange:m=>{m&&(r(m.inquiryTypeDescription||"내용을 입력해 주세요."),c(m.inquiryTypeNo),p("inquiryContent",""))}})}),e.jsx(v,{errors:n,name:"inquiryTypeNo"})]})},De=({inquiryNo:r,options:i})=>Z({queryKey:T.detail(r),queryFn:async()=>{const{data:s}=await x.getInquiry(r);return s},enabled:!!r,...i}),Ge=({options:r}={})=>Z({queryKey:T.config(),queryFn:async()=>{const{data:i}=await x.getInquiryConfig();return i},staleTime:3600*1e3,gcTime:7200*1e3,...r}),He=({inquiryNo:r,isModify:i})=>{const{t:s}=_(),{isKorean:h}=Ce(),{isMobile:g}=Ie(),p=de(),n=Te(),{openAsyncDialog:l}=W(),{data:q}=Ge({options:{select:a=>({attachmentUsed:!!a.attachmentUsed})}}),{data:c}=we({options:{select:a=>({email:a.email??"",mobileNo:a.mobileNo??""}),enabled:n&&!i}}),{data:t,isFetched:L}=De({inquiryNo:r,options:{enabled:i,select:a=>({inquiryType:{inquiryTypeNo:a.inquiryType.inquiryTypeNo},inquiryTitle:a.inquiryTitle,inquiryContent:a.inquiryContent,answerEmailSend:a.answerEmailSend,answerSmsSend:a.answerSmsSend,originalImageUrls:a.originalImageUrls??[],imageUrls:a.imageUrls??[]})}}),m=n&&!!(c!=null&&c.email),ne=n&&!!(c!=null&&c.mobileNo),se=!!(q!=null&&q.attachmentUsed),[ae,re]=I.useState("내용을 입력해 주세요."),K=qe({resolver:Ne(H),defaultValues:{inquiryTypeNo:0,answerEmailSendYn:!0,answerSmsSendYn:n,mobileNo:""}}),{register:Q,handleSubmit:ie,control:w,reset:N,formState:{errors:Y,isSubmitting:te}}=K,oe=Se({control:w,name:"answerSmsSendYn"});I.useEffect(()=>{c&&N(a=>({...a,email:c.email??"",mobileNo:c.mobileNo??""}))},[h,c,N]),I.useEffect(()=>{i&&t&&N(a=>({...a,inquiryTypeNo:t.inquiryType.inquiryTypeNo,inquiryTitle:t.inquiryTitle,inquiryContent:t.inquiryContent,answerEmailSendYn:t.answerEmailSend,answerSmsSendYn:t.answerSmsSend,originalFileName:(t==null?void 0:t.originalImageUrls)??[],uploadedFileName:(t==null?void 0:t.imageUrls)??[]}))},[i,t,N]);const V=I.useRef(null),[R,le]=I.useState([]),{register:{mutate:ue},partialUpdate:{mutate:ce}}=Ke(),me=ie(async a=>{if(!await l({message:s(i?"1:1 문의를 수정하시겠습니까?":"1:1 문의를 등록하시겠습니까?"),iconType:"warning",onConfirmReturnValue:!0,onCloseReturnValue:!1}))return;let y=[];if(!he(R)){const u=await Promise.all(R.map(o=>{if(typeof o=="string")return{data:{imageUrl:o}};const F=new FormData;return F.append("file",o),fe.uploadImage(F)}));y=O(u,ge(o=>o.data.imageUrl),z)}const S=R.map(u=>typeof u=="string"?u:u.name||"");if(i){const u=be(["originalFileName","uploadedFileName"],Qe.parse(a));ce({inquiryNo:r,data:{...u,originalFileNames:S,uploadedFileNames:y}},{onSuccess:async()=>{await l({message:s("1:1 문의가 수정되었습니다.")}),N(),p(k.MYPAGE.INQUIRIES.MAIN)}})}else{const u=H.parse(a);ue({data:{...u,mobileNo:u.answerSmsSendYn?u.mobileNo??"":"",originalFileName:S,uploadedFileName:y}},{onSuccess:async()=>{await l({message:s("1:1 문의가 등록되었습니다.")}),N(),p(n?k.MYPAGE.INQUIRIES.MAIN:k.MAIN)}})}});return e.jsx(je,{...K,children:e.jsxs("form",{className:Ee,onSubmit:me,children:[e.jsxs("div",{className:ve,children:[e.jsxs(j,{children:[e.jsx(f,{isRequired:!0,children:s("문의 유형")}),e.jsx(Ue,{fallback:e.jsx("div",{"aria-hidden":"true",style:{height:g?"44px":"50px"}}),errorFallback:e.jsx(e.Fragment,{}),children:e.jsx(Be,{setPlaceholder:re,disabled:i,isMobile:g})})]}),e.jsxs(j,{children:[e.jsx(f,{isRequired:!n,children:s("이메일 주소")}),e.jsx(E,{name:"email",control:w,render:({field:{onChange:a,value:b,...y}})=>{const[S="",u=""]=(b==null?void 0:b.split("@"))??[];return e.jsxs(Ae,{...y,children:[e.jsxs("div",{className:Le,children:[e.jsx(P,{value:S,readOnly:m,placeholder:s("이메일을 입력해주세요."),onChange:o=>{a(`${o.target.value}@${u}`)}}),e.jsx("span",{children:"@"}),e.jsx(P,{readOnly:m,ref:V,value:u,onChange:o=>{a(`${S}@${o.target.value}`)}})]}),!m&&e.jsx(X,{isSearchable:!0,isMobile:g,placeholder:s("직접 입력"),options:$,formatOptionLabel:o=>s(o.label),value:O($,J(o=>o.value===u)),onChange:o=>{var F;o&&(o.value===""&&((F=V.current)==null||F.focus()),a(`${S}@${o.value}`))}})]})}}),e.jsx(v,{errors:Y,name:"email"}),e.jsx(E,{name:"answerEmailSendYn",control:w,render:({field:{onChange:a,value:b,...y}})=>e.jsxs("label",{className:B,children:[e.jsx(D,{...y,checked:b,onCheckedChange:a}),e.jsx("span",{children:s("답변알림 받기")})]})})]}),e.jsxs(j,{children:[e.jsx(f,{children:s("휴대전화번호")}),e.jsx(Ye,{contactFieldName:"mobileNo",disabled:ne,required:oe}),e.jsx(E,{name:"answerSmsSendYn",control:w,render:({field:{onChange:a,value:b,...y}})=>e.jsxs("label",{className:B,children:[e.jsx(D,{...y,checked:b,onCheckedChange:a}),e.jsx("span",{children:s("답변알림 받기")})]})})]}),e.jsxs(j,{children:[e.jsx(f,{isRequired:!0,children:s("제목")}),e.jsx(P,{placeholder:s("제목을 입력해 주세요."),...Q("inquiryTitle"),maxLength:50}),e.jsx(v,{name:"inquiryTitle",errors:Y})]}),e.jsxs(j,{children:[e.jsx(f,{isRequired:!0,children:s("내용")}),e.jsx(Re,{placeholder:s(ae),...Q("inquiryContent"),maxLength:1e3,style:{height:"220px"}}),e.jsx(v,{name:"inquiryContent",errors:Y})]}),se&&e.jsxs(j,{children:[e.jsx(f,{children:s("사진 첨부")}),(!i||i&&L)&&e.jsx(_e,{initialFileList:(t==null?void 0:t.imageUrls)??[],setFileList:a=>{le(a)}})]})]}),e.jsxs("div",{className:ke,children:[e.jsx(G,{tone:"gray",variant:"outline",onClick:()=>p(-1),children:e.jsx("span",{children:s("돌아가기")})}),e.jsx(G,{tone:"dark",type:"submit",disabled:te,children:e.jsx("span",{children:s(i?"수정하기":"등록하기")})})]})]})})},ze=()=>{const{inquiryNo:r}=pe();return e.jsx(He,{inquiryNo:Number(r)||0,isModify:!!r})},on=Object.freeze(Object.defineProperty({__proto__:null,default:ze},Symbol.toStringTag,{value:"Module"}));export{He as I,on as i,Ke as u};