import{u as N,Q as E,af as w,a as _,j as e,bb as Y,c as u,a8 as S,T as s,bc as V,G as f,k as O,cV as H,a9 as R,ar as B,ao as $,d,s as m,ap as P,bI as U,cW as G,L as z,o as J,U as X,c8 as Z}from"../index.Crez7j-Y.bundle.js";import{M as ee}from"./MyOrderAPIs.DZkd5slp.bundle.js";import{G as M,M as T}from"./MemberClaimAPIs.Df7MVfiB.bundle.js";import{u as te}from"./useClaimHooks.DyLDR42V.bundle.js";const ne=(a,i)=>{const{getGuestClaimDetailAPI:c}=M();return N({queryKey:E.guestClaimDetail(a),queryFn:()=>c(a),...i})},re=(a,i)=>{const{getMemberClaimDetailAPI:c}=T();return N({queryKey:E.memberClaimDetail(a),queryFn:()=>c(a),refetchOnWindowFocus:!1,...i})};function se({title:a,open:i,onClose:c,claimNo:l}){const D=w(B,p=>p.isLogin),{data:r,isPending:j}=D?re("".concat(l),{queryKey:E.memberClaimDetail(String(l)),enabled:i}):ne("".concat(l),{queryKey:E.guestClaimDetail(String(l)),enabled:i}),{getClaimReasonLabel:C}=te(),o=r==null?void 0:r.refundBankAccount,{isMobile:x}=_();return l===null?e.jsx(e.Fragment,{}):e.jsx(e.Fragment,{children:r&&e.jsxs(Y,{open:i,fullScreen:x,children:[e.jsxs(u,{id:"claim-detail-modal-header",position:"relative",borderBottom:"1px solid ".concat(S),minWidth:{desktop:700},children:[e.jsx(s,{variant:"titleLarge",align:"center",py:3,children:a}),e.jsx(V,{onClick:c})]}),e.jsxs(u,{id:"claim-detail-modal-content",p:{desktop:5,mobile:3},children:[e.jsxs(f,{desktop:12,mobile:12,sx:{p:2,display:"flex",borderTop:"2px solid ".concat(S),borderBottom:"1px solid ".concat(O)},children:[e.jsx(u,{flex:1,children:e.jsx(s,{variant:"subtitle1",children:"신청일"})}),e.jsx(u,{flex:3,children:e.jsx(s,{variant:"subtitle1",children:r.claimYmdt})})]}),e.jsxs(f,{desktop:12,mobile:12,sx:{p:2,display:"flex",borderBottom:"1px solid ".concat(O)},children:[e.jsx(u,{flex:1,children:e.jsx(s,{variant:"subtitle1",children:"사유"})}),e.jsx(u,{flex:3,children:e.jsx(s,{variant:"subtitle1",children:C(r.claimReasonType)})})]}),e.jsxs(f,{desktop:12,mobile:12,sx:{p:2,display:"flex",borderBottom:"1px solid ".concat(O)},children:[e.jsx(u,{flex:1,children:e.jsx(s,{variant:"subtitle1",children:"상세사유"})}),e.jsx(u,{flex:3,children:e.jsx(s,{variant:"subtitle1",children:H(r.claimReasonDetail)})})]}),o&&e.jsxs(f,{desktop:12,mobile:12,sx:{p:2,display:"flex",borderBottom:"1px solid ".concat(O)},children:[e.jsx(u,{flex:1,children:e.jsx(s,{variant:"subtitle1",children:"환불정보"})}),e.jsx(u,{flex:3,children:e.jsx(s,{variant:"subtitle1",children:"".concat(o.bankName,"/").concat(o.bankAccount,"/").concat(o.bankDepositorName)})})]})]}),e.jsx(u,{id:"confirm-button",pb:5,children:e.jsx(f,{desktop:5,mobile:10,mx:"auto",height:50,children:e.jsx(R,{fullWidth:!0,variant:"contained",onClick:c,color:"black",sx:{height:"100%"},children:e.jsx(s,{variant:"button",children:"확인"})})})})]})})}const ie={DEPOSIT_WAIT:{CHANGE_ADDRESS:"배송지변경"},PAY_DONE:{CHANGE_ADDRESS:"배송지변경"},DELIVERY_ING:{VIEW_DELIVERY:"배송조회",CONFIRM_ORDER:"구매확정"},DELIVERY_DONE:{VIEW_DELIVERY:"배송조회",CONFIRM_ORDER:"구매확정"}};function de(a){const{claimStatusType:i,claimStatusTypeLabel:c,nextActions:l,orderOptionNo:D,orderStatusType:r,orderStatusTypeLabel:j,claimNo:C}=a,o=$(),x=w(B,t=>t.isLogin),[p,b]=d.useState(!1),h=d.useCallback(async t=>{if(t)window.open(t,"new");else{await m("warning","직접배송의 경우 배송조회를 지원하지 않습니다.\n고객센터로 문의해주세요.");return}},[]),L=P({mutationFn:t=>x?ee().confirmMemberOrderAPI(t):U().confirmGuestOrderAPI(t),onSuccess:()=>{m("success","정상적으로 구매확정 되었습니다."),o.invalidateQueries({queryKey:["OrderList"]}),o.invalidateQueries({queryKey:["OrderDetail"]})}}),g=d.useCallback(async()=>{await L.mutateAsync("".concat(D))},[]),k=d.useCallback((t,n)=>{switch(t){case"구매확정":return()=>g();case"배송조회":return()=>h(n.uri);default:return()=>{}}},[g,h]),I=d.useCallback((t,n)=>{var A;return(A=ie[t])==null?void 0:A[n]},[]),y=d.useMemo(()=>l.map(t=>{const n=I(r,t.nextActionType);return n?e.jsx(R,{fullWidth:!0,variant:"outlined",color:"inherit",sx:{borderColor:G,px:0},onClick:k(n,t),children:e.jsx(s,{variant:"body",children:n})},n):null}).filter(Boolean),[l,r,I,k]),v=d.useMemo(()=>{const t=[];return i===null&&t.push(e.jsx(s,{py:1,variant:"body",fontWeight:400,children:j},j)),t.push(...y),i!==null&&t.push(e.jsx(z,{type:"button",sx:{cursor:"pointer"},variant:"body",fontWeight:400,onClick:()=>b(!0),children:c},"claimStatus")),t},[y]);return e.jsxs(f,{container:!0,gap:"5px",flexDirection:"column",children:[v,e.jsx(se,{title:"".concat(c," 상세 내역"),claimNo:C,open:p,onClose:()=>b(!1)})]})}function me(a){const{nextActions:i,orderOptionNo:c,orderStatusType:l,claimStatusTypeLabel:D,claimNo:r,orderNo:j,escrow:C}=a,o=$(),x=w(B,t=>t.isLogin),p=P({mutationFn:t=>(x?T().createMemberCancelAllClaimAPI:M().createGuestCancelAllClaimAPI)(j,t),onSuccess:()=>{m("success","전체 주문 취소가 완료되었습니다."),o.invalidateQueries({queryKey:["OrderList"]}),o.invalidateQueries({queryKey:E.getOrderDetail(a.orderNo)})}}),b=d.useCallback(async()=>{if(C&&!(await m("warning","에스크로 결제 건은 전체 취소신청만 가능합니다.\n 모두 취소신청 하시겠습니까?",void 0,"취소")).isConfirmed)return;const t={bankAccountInfo:null,claimReasonDetail:"",responsibleObjectType:null,claimReasonType:"OTHERS_BUYER",claimType:"CANCEL",refundsImmediately:l==="PAY_DONE",saveBankAccountInfo:!1};await p.mutateAsync(t)},[l,p]),h=P({mutationFn:async({claimNo:t,claimTypeLabel:n})=>{const{cancelGuestClaimAPI:A,checkCancelGuestClaimAPI:q}=M(),{withdrawMemberClaimAPI:W,checkCancelMemberClaimAPI:F}=T(),K=x?F:q,Q=x?W:A;if((await K("".concat(t))).validationType!=="WITHDRAWABLE"){m("error","철회가 불가능합니다. 고객센터로 문의해주세요.");return}return Q("".concat(t))},onSuccess:(t,n)=>{m("success","".concat(n.claimTypeLabel," 철회가 완료되었습니다.")),o.invalidateQueries({queryKey:["OrderDetail"]}),o.invalidateQueries({queryKey:["OrderList"]})},onError:t=>{m("error",t.message)}}),L=d.useCallback(async t=>{!r||h.isPending||!(await m("warning","".concat(t,"을 철회하시겠습니까?"),"확인","취소")).isConfirmed||await h.mutateAsync({claimNo:r,claimTypeLabel:t})},[h,r]),g=J(),k="".concat(X.CLAIM_CANCEL,"?orderOptionNo=").concat(c,"&claimType=").concat(Z.enum.CANCEL),I=d.useCallback((t,n,A)=>{switch(t){case"CANCEL_ALL":return n==="PAY_DONE"||n==="DEPOSIT_WAIT"?{label:"전체취소",action:b}:void 0;case"CANCEL":return n==="PAY_DONE"||n==="DEPOSIT_WAIT"?A?{label:"전체취소",action:b}:{label:"취소신청",action:()=>g(k)}:void 0;default:return null}},[g,b,L]),y=d.useMemo(()=>i.map(t=>{const n=I(t.nextActionType,l,C);return n?e.jsx(R,{fullWidth:!0,variant:"outlined",color:"inherit",sx:{borderColor:G,px:0},onClick:n.action,children:e.jsx(s,{variant:"body",children:n.label})},n.label):null}).filter(Boolean),[i,I]),{isDesktop:v}=_();return e.jsxs(e.Fragment,{children:[v&&y.length===0&&e.jsx(s,{children:"-"}),y.length!==0&&e.jsx(e.Fragment,{children:y})]})}export{se as C,me as N,de as P};