1"use strict";(self.webpackChunktypeb_client=self.webpackChunktypeb_client||[]).push([[9464],{88624:(e,t,n)=>{n.d(t,{M1:()=>a,ts:()=>d});var r=n(21650);const i="/settings/offers",a=async()=>{const{data:e}=await r.Ay.get("".concat(i,"/creatable"));return e},d=async e=>{const{data:t}=await r.Ay.post(i,e);return t}},29464:(e,t,n)=>{n.r(t),n.d(t,{default:()=>T});var r=n(9950),i=n(9449),a=n(26473),d=n(28429),s=n(69572),o=n(47965),l=n(51074),c=n(52440),u=n(63856),m=n(46968),p=n(60427),_=n(51207),x=n(75289),y=n(21650),g=n(19711),h=n(29714);const f={NAME_MAX:50,RATE_MAX:99,AMOUNT_MAX:999999999,DAYS_MAX:999,ISSUE_COUNT_MAX:999},v={name:"\ucfe0\ud3f0\uba85\uc740 1\uc790 \uc774\uc0c1 ".concat(f.NAME_MAX,"\uc790 \uc774\ud558\ub85c \uc785\ub825\ud574 \uc8fc\uc138\uc694."),benefitType:"\ud61c\ud0dd \uc720\ud615\uc744 \uc120\ud0dd\ud574 \uc8fc\uc138\uc694.",amount:"\ud560\uc778 \uae08\uc561\uc740 1\uc6d0 \uc774\uc0c1 ".concat(f.AMOUNT_MAX.toLocaleString("ko-KR"),"\uc6d0 \uc774\ud558\ub85c \uc785\ub825\ud574 \uc8fc\uc138\uc694."),rate:"\ud560\uc778\uc728\uc740 1% \uc774\uc0c1 ".concat(f.RATE_MAX,"% \uc774\ud558\ub85c \uc785\ub825\ud574 \uc8fc\uc138\uc694."),maxDiscount:"\ud560\uc778\uc728 \ucfe0\ud3f0\uc740 \ucd5c\ub300 \ud560\uc778 \uae08\uc561\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.",minOrder:"\ucd5c\uc18c \uc8fc\ubb38 \uae08\uc561\uc740 0\uc6d0 \uc774\uc0c1 ".concat(f.AMOUNT_MAX.toLocaleString("ko-KR"),"\uc6d0 \uc774\ud558\ub85c \uc785\ub825\ud574 \uc8fc\uc138\uc694."),periodType:"\uc0ac\uc6a9 \uae30\uac04 \uc720\ud615\uc744 \uc120\ud0dd\ud574 \uc8fc\uc138\uc694.",dateRange:"\uc885\ub8cc\uc77c\uc740 \uc2dc\uc791\uc77c\uacfc \uac19\uac70\ub098 \ub4a4\uc5ec\uc57c \ud558\uace0 \uc624\ub298 \uc774\ud6c4\uc5ec\uc57c \ud569\ub2c8\ub2e4.",validDays:"\uc0ac\uc6a9 \uac00\ub2a5 \uc77c\uc218\ub294 1\uc77c \uc774\uc0c1 ".concat(f.DAYS_MAX,"\uc77c \uc774\ud558\ub85c \uc785\ub825\ud574 \uc8fc\uc138\uc694."),issueCount:"\ubc1c\uae09 \uc218\ub7c9\uc740 1\uc7a5 \uc774\uc0c1\uc73c\ub85c \uc785\ub825\ud574 \uc8fc\uc138\uc694. \uce74\ud39824\ub294 ".concat(f.ISSUE_COUNT_MAX,"\uc7a5\uae4c\uc9c0 \uac00\ub2a5\ud569\ub2c8\ub2e4.")},b=(e,t)=>""===t||null===t||void 0===t?void 0:e,j=h.Ik({coupon_name:h.Yj().trim().min(1,v.name).max(f.NAME_MAX,v.name).required(v.name),benefit_type:h.gl().oneOf(["fixed_discount","percentage_discount"],v.benefitType).required(v.benefitType),discount_amount:h.ai().transform(b).when("benefit_type",{is:"fixed_discount",then:e=>e.required(v.amount).integer(v.amount).min(1,v.amount).max(f.AMOUNT_MAX,v.amount),otherwise:e=>e.notRequired()}),discount_rate:h.ai().transform(b).when("benefit_type",{is:"percentage_discount",then:e=>e.required(v.rate).integer(v.rate).min(1,v.rate).max(f.RATE_MAX,v.rate),otherwise:e=>e.notRequired()}),max_discount_amount:h.ai().transform(b).when("benefit_type",{is:"percentage_discount",then:e=>e.required(v.maxDiscount).integer(v.maxDiscount).min(1,v.maxDiscount),otherwise:e=>e.notRequired()}),min_order_amount:h.ai().transform(b).required(v.minOrder).integer(v.minOrder).min(0,v.minOrder).max(f.AMOUNT_MAX,v.minOrder),period_type:h.gl().oneOf(["date_range","from_issue"],v.periodType).required(v.periodType),start_date:h.Yj().when("period_type",{is:"date_range",then:e=>e.required(v.dateRange),otherwise:e=>e.notRequired()}),end_date:h.Yj().when("period_type",{is:"date_range",then:e=>e.required(v.dateRange).test("end-after-start-and-today",v.dateRange,(function(e){const t=this.parent.start_date;return!!e&&!!t&&e>=t&&e>=(new Date).toLocaleDateString("sv-SE")})),otherwise:e=>e.notRequired()}),valid_days:h.ai().transform(b).when("period_type",{is:"from_issue",then:e=>e.required(v.validDays).integer(v.validDays).min(1,v.validDays).max(f.DAYS_MAX,v.validDays),otherwise:e=>e.notRequired()}),issue_max_count:h.ai().transform(b).integer(v.issueCount).min(1,v.issueCount).max(f.ISSUE_COUNT_MAX,v.issueCount).notRequired()});var A=n(88624),S=n(44414);const N=e=>{let{children:t}=e;return(0,S.jsx)("div",{className:"flex flex-1 items-center justify-center text-center text-gray-500",children:t})},M=()=>{var e,t,n,o,u,m,h,v,b,M,T;const D=(0,d.Zp)(),{profile:w}=(0,p.xc)(),E=(null===w||void 0===w?void 0:w.role)===_.A.admin,{data:O}=(0,s.Ay)(E?["offers","creatable"]:null,A.M1),[q,R]=r.useState(!1),{register:X,handleSubmit:k,watch:I,formState:{errors:U,isSubmitting:C}}=(0,i.mN)({resolver:(0,a.t)(j),mode:"onSubmit",defaultValues:{benefit_type:"fixed_discount",period_type:"date_range",min_order_amount:0}}),L=I("benefit_type"),Y=I("period_type");if(!E)return(0,S.jsx)(N,{children:"\ucfe0\ud3f0 \uc0dd\uc131\uc740 \uad00\ub9ac\uc790\ub9cc \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."});if(q||O&&!O.creatable&&"PROMOTION_SCOPE_REQUIRED"===O.code)return(0,S.jsx)(g.A,{});if(O&&!O.creatable)return(0,S.jsx)(N,{children:"\uc774 \ubab0\uc5d0\uc11c\ub294 \ucfe0\ud3f0 \uc0dd\uc131\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."});return(0,S.jsxs)("form",{noValidate:!0,onSubmit:k((async e=>{try{const t=await(0,A.ts)((e=>{var t;
1const n={coupon_name:e.coupon_name.trim(),benefit_type:e.benefit_type,min_order_amount:null!==(t=e.min_order_amount)&&void 0!==t?t:0,period_type:e.period_type};return"fixed_discount"===e.benefit_type?n.discount_amount=e.discount_amount:(n.discount_rate=e.discount_rate,n.max_discount_amount=e.max_discount_amount),"date_range"===e.period_type?(n.start_date=e.start_date,n.end_date=e.end_date):n.valid_days=e.valid_days,null!=e.issue_max_count&&(n.issue_max_count=e.issue_max_count),n})(e));D(x.gI.SETTINGS_OFFER,{state:{highlightCouponNo:t.coupon_no}})}catch(r){var t,n;if("PROMOTION_SCOPE_REQUIRED"===(null===(t=(0,y.LG)(r))||void 0===t||null===(n=t.detail)||void 0===n?void 0:n.code))return void R(!0);(0,y.H4)(r)}})),className:"pt-5 px-9 pb-[200px] flex flex-col gap-5 max-w-[640px]",children:[(0,S.jsx)("div",{className:"rounded-lg bg-typeb-blue10 px-4 py-3",children:(0,S.jsx)("p",{className:"text-sm text-typeb-primary",children:"\ub9c1\ud06c\ub97c \ubc1b\uc740 \ubab0 \ud68c\uc6d0\uc740 \ub204\uad6c\ub098 \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."})}),(0,S.jsx)(l.D0,{label:"\ucfe0\ud3f0\uba85",required:!0,error:null===(e=U.coupon_name)||void 0===e?void 0:e.message,children:(0,S.jsx)(l.pd,{placeholder:"\ucfe0\ud3f0\uba85\uc744 \uc785\ub825\ud574 \uc8fc\uc138\uc694",error:!!U.coupon_name,maxLength:f.NAME_MAX,...X("coupon_name")})}),(0,S.jsx)(l.D0,{label:"\ud61c\ud0dd \uc720\ud615",required:!0,error:null===(t=U.benefit_type)||void 0===t?void 0:t.message,children:(0,S.jsxs)("div",{className:"flex gap-6 pt-1",children:[(0,S.jsx)(l.a,{id:"benefit-fixed",value:"fixed_discount",...X("benefit_type"),children:"\ud560\uc778 \uae08\uc561"}),(0,S.jsx)(l.a,{id:"benefit-percent",value:"percentage_discount",...X("benefit_type"),children:"\ud560\uc778\uc728"})]})}),"fixed_discount"===L?(0,S.jsx)(l.D0,{label:"\ud560\uc778 \uae08\uc561 (\uc6d0)",required:!0,error:null===(n=U.discount_amount)||void 0===n?void 0:n.message,children:(0,S.jsx)(l.pd,{type:"number",min:1,placeholder:"\uc608: 3000",error:!!U.discount_amount,...X("discount_amount")})}):(0,S.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,S.jsx)(l.D0,{label:"\ud560\uc778\uc728 (%)",required:!0,error:null===(o=U.discount_rate)||void 0===o?void 0:o.message,children:(0,S.jsx)(l.pd,{type:"number",min:1,max:f.RATE_MAX,placeholder:"\uc608: 15",error:!!U.discount_rate,...X("discount_rate")})}),(0,S.jsx)(l.D0,{label:"\ucd5c\ub300 \ud560\uc778 \uae08\uc561 (\uc6d0)",required:!0,error:null===(u=U.max_discount_amount)||void 0===u?void 0:u.message,children:(0,S.jsx)(l.pd,{type:"number",min:1,placeholder:"\uc608: 5000",error:!!U.max_discount_amount,...X("max_discount_amount")})})]}),(0,S.jsx)(l.D0,{label:"\ucd5c\uc18c \uc8fc\ubb38 \uae08\uc561 (\uc6d0)",required:!0,helperText:"0\uc774\uba74 \uc81c\ud55c \uc5c6\uc74c",error:null===(m=U.min_order_amount)||void 0===m?void 0:m.message,children:(0,S.jsx)(l.pd,{type:"number",min:0,error:!!U.min_order_amount,...X("min_order_amount")})}),(0,S.jsx)(l.D0,{label:"\uc0ac\uc6a9 \uae30\uac04 \uc720\ud615",required:!0,error:null===(h=U.period_type)||void 0===h?void 0:h.message,children:(0,S.jsxs)("div",{className:"flex gap-6 pt-1",children:[(0,S.jsx)(l.a,{id:"period-range",value:"date_range",...X("period_type"),children:"\uae30\uac04 \uc9c0\uc815"}),(0,S.jsx)(l.a,{id:"period-issue",value:"from_issue",...X("period_type"),children:"\ub2e4\uc6b4\ub85c\ub4dc\uc77c \uae30\uc900"})]})}),"date_range"===Y?(0,S.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,S.jsx)(l.D0,{label:"\uc2dc\uc791\uc77c",required:!0,error:null===(v=U.start_date)||void 0===v?void 0:v.message,children:(0,S.jsx)(l.pd,{type:"date",error:!!U.start_date,...X("start_date")})}),(0,S.jsx)(l.D0,{label:"\uc885\ub8cc\uc77c",required:!0,error:null===(b=U.end_date)||void 0===b?void 0:b.message,children:(0,S.jsx)(l.pd,{type:"date",min:(new Date).toLocaleDateString("sv-SE"),error:!!U.end_date,...X("end_date")})})]}):(0,S.jsx)(l.D0,{label:"\uc0ac\uc6a9 \uac00\ub2a5 \uc77c\uc218 (\uc77c)",required:!0,error:null===(M=U.valid_days)||void 0===M?void 0:M.message,children:(0,S.jsx)(l.pd,{t
1ype:"number",min:1,max:f.DAYS_MAX,placeholder:"\uc608: 30",error:!!U.valid_days,...X("valid_days")})}),(0,S.jsx)(l.D0,{label:"\ubc1c\uae09 \uc218\ub7c9 \uc0c1\ud55c (\uc7a5)",helperText:"\ube44\uc6b0\uba74 \uc81c\ud55c \uc5c6\uc74c. \uce74\ud39824\ub294 ".concat(f.ISSUE_COUNT_MAX,"\uc7a5\uae4c\uc9c0"),error:null===(T=U.issue_max_count)||void 0===T?void 0:T.message,children:(0,S.jsx)(l.pd,{type:"number",min:1,max:f.ISSUE_COUNT_MAX,placeholder:"\uc81c\ud55c \uc5c6\uc74c",error:!!U.issue_max_count,...X("issue_max_count")})}),(0,S.jsxs)("div",{className:"flex gap-3 pt-2",children:[(0,S.jsx)(c.A,{type:"submit",skin:"primary",size:"medium",loading:C,disabled:C,children:"\ub9cc\ub4e4\uae30"}),(0,S.jsx)(c.A,{type:"button",skin:"gray-outlined",size:"medium",onClick:()=>D(x.gI.SETTINGS_OFFER),children:"\ucde8\uc18c"})]})]})},T=()=>{const e=(0,d.Zp)();return(0,S.jsxs)("div",{className:"relative h-full bg-typeb-blue10 overflow-y-auto min-w-[720px] pb-[160px]",children:[(0,S.jsx)(o.v,{title:(0,S.jsxs)("div",{className:"inline-flex gap-2 items-center",children:[(0,S.jsx)(m.A.ArrowLeft,{className:"cursor-pointer",onClick:()=>e(x.gI.SETTINGS_OFFER)}),(0,S.jsx)(u.A,{typo:"subtitle1",color:"grayBlack",children:"\ucfe0\ud3f0 \ub9cc\ub4e4\uae30"})]})}),(0,S.jsx)("div",{className:"bg-white min-h-full",children:(0,S.jsx)(M,{})})]})}},19711:(e,t,n)=>{n.d(t,{A:()=>o});n(9950);var r=n(28429),i=n(52440),a=n(75289),d=n(44414);const s="\ucfe0\ud3f0 \uc0dd\uc131 \ubc0f \uc870\ud68c \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.\n\ucfe0\ud3f0 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 \uc5f0\ub3d9\uc744 \ub2e4\uc2dc \ud574 \uc8fc\uc138\uc694.",o=e=>{let{message:t=s}=e;const n=(0,r.Zp)();return(0,d.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-4 text-center",children:[(0,d.jsx)("p",{className:"text-gray-700 whitespace-pre-line",children:t}),(0,d.jsx)(i.A,{skin:"primary",size:"medium",onClick:()=>n(a.gI.SETTINGS),children:"\uc774\ub3d9\ud558\uae30"})]})}},47965:(e,t,n)=>{n.d(t,{v:()=>_,U:()=>g});var r,i=n(57528),a=(n(9950),n(1603)),d=n(63856),s=n(21107);const o=a.Ay.div(r||(r=(0,i.A)(["\n display: flex;\n button + button {\n margin-left: 12px;\n }\n"])));var l,c,u=n(44414);const m=a.Ay.div(l||(l=(0,i.A)(["\n position: sticky;\n top: 0;\n z-index: 1020;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 24px 24px 24px;\n background: ",";\n border-bottom: 1px solid ",";\n"])),s.A.grayWhite,s.A.gray30),p=a.Ay.div(c||(c=(0,i.A)(["\n display: flex;\n align-items: center;\n gap: 16px;\n"]))),_=e=>{let{title:t,titleBoxStyle:n,children:r}=e;return(0,u.jsxs)(m,{children:[(0,u.jsxs)(p,{style:n,children:[t&&"string"===typeof t&&(0,u.jsx)(d.A,{typo:"subtitle1",color:"grayBlack",children:t}),t&&"string"!==typeof t&&t]}),(0,u.jsx)(o,{children:r})]})};var x;const y=a.Ay.div(x||(x=(0,i.A)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 24px 7px;\n background: ",";\n"])),s.A.grayWhite),g=e=>{let{title:t,description:n,children:r}=e;return(0,u.jsxs)(y,{children:[(0,u.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,u.jsx)(d.A,{typo:"h1",color:"grayBlack",children:t}),n&&(0,u.jsx)("div",{style:{alignSelf:"flex-end"},children:(0,u.jsx)(d.A,{typo:"body1",color:"grayBlack",children:n})})]}),(0,u.jsx)(o,{children:r})]})}}}]);
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.