1import{j as o}from"./vendor/@tanstack-query-V9stBZps.js";import{o as b}from"./vendor/@mobx-BYpSjeyr.js";import{b as D,n as j,j as v,B as E,v as S,u as T,a as f}from"./client-UkkVDggc.js";import{r as c}from"./vendor/@react-dom-BjtUEAyD.js";import{N as w,w as P,x as z,y as O,br as I,T as B,I as R}from"./index-Cj6uzrap.js";import{u as N}from"./vendor/@i18next-TYMIzdgG.js";import"./vendor/@segment-qS3uDR1j.js";import"./vendor/@firebase-BsnDfF0b.js";import"./vendor/@react-final-form-D3vHaMFU.js";import"./vendor/@launchdarkly-Cd9YOr4W.js";import"./vendor/@misc-1KgCF3nJ.js";import"./vendor/@popperjs-core-BNwyPKuO.js";import"./vendor/@axios-CKC5yBEL.js";import"./vendor/@socket.io-client-TjCxX7sJ.js";import"./vendor/@framer-motion-gOv_XHCr.js";/* empty css */import"./vendor/@react-router-dom-4tVU0qbp.js";import"./vendor/@rive-app-CkCO5bug.js";const x="Invalid promo code",k="_promoCodeDialog_yrhwz_1",A="_promoTitle_yrhwz_6",$="_content_yrhwz_10",M="_inputContainer_yrhwz_17",F="_error_yrhwz_24",L="_buttonContainer_yrhwz_31",U="_errorTooltipAnchor_yrhwz_36",V="_errorIcon_yrhwz_45",W="_errorIconSvg_yrhwz_53",q="_promoCodeContainer_yrhwz_58",a={promoCodeDialog:k,promoTitle:A,content:$,inputContainer:M,error:F,buttonContainer:L,errorTooltipAnchor:U,errorIcon:V,errorIconSvg:W,promoCodeContainer:q},G=b(()=>{const{uiStore:d,eventTriggerStore:_}=D(),{t}=N(),m=d.openDialog.dialog===j.isOpenPromoCodeDialog,[n,u]=c.useState(""),[C,l]=c.useState(!1),[r,s]=c.useState(""),g=()=>{d.setCloseDialog()},p=e=>{v.sendEvent("promo_code_apply",{action:"click",event_category:"promocode",promoCode:n,click_location:"apply",status:e?"success":"failed"})},h=async()=>{s(""),l(!0);try{const e=await S("/v2/promo-code/validate",{promoCode:n}),{isValid:y}=e.data.data;y?(await _.fetchWithPromoCode(n),p(!0),g(),u("")):(p(!1),s(x),l(!1))}catch{p(!1),s(x),l(!1)}};return c.useEffect(()=>{v.sendEvent("promo_code_screen",{action:"impression",event_category:"promocode"})},[m]),o.jsx(w,{classNameBody:a.promoCodeDialog,isOpen:m,children:o.jsxs(P,{children:[o.jsx(z,{title:t("rewards.promoCode"),titleClassName:a.promoTitle,onClose:g}),o.jsx(O,{className:a.promoCodeContainer,children:o.jsxs("div",{className:a.content,children:[o.jsxs("div",{className:a.inputContainer,children:[o.jsx(I,{autoFocus:!0,dataTestId:"promo-code-input",maxLength:20,placeholder:t("forms.enterPromoCode"),type:"text",value:n,onChange:e=>{u(e.target.value.trim()),r&&s("")}}),r&&o.jsx("div",{className:a.errorTooltipAnchor,children:o.jsx(B,{content:r,offset:[18,15],placement:"top-end",trigger:"hover",children:o.jsx("div",{className:a.errorIcon,children:o.jsx(R,{className:a.errorIconSvg,color:"red",dataTestId:"invalid-promo-code-icon"})})})})]}),o.jsx("div",{className:a.buttonContainer,children:o.jsx(E,{btnType:r?"locked":"main","data-testid":"promo-code-submit-btn",disabled:C||!n.trim()||!!r,onClick:h,children:t(C?"buttons.applying":"common.applyUpperCase")})})]})})]})})}),H="_promoCodeDialogContainer_b45dr_14",J="_promoCodeDialog_b45dr_14",K="_dialogBody_b45dr_25",Q="_inner_b45dr_33",X="_content_b45dr_43",Y="_inputContainer_b45dr_54",Z="_inputError_b45dr_60",oo="_errorMessage_b45dr_65",eo="_buttonContainer_b45dr_72",i={"arrow-tooltip":"_arrow-tooltip_b45dr_1","fade-in":"_fade-in_b45dr_1",promoCodeDialogContainer:H,promoCodeDialog:J,dialogBody:K,inner:Q,content:X,inputContainer:Y,inputError:Z,errorMessage:oo,buttonContainer:eo},to=b(()=>{const{uiStore:d,eventTriggerStore:_}=D(),{t}=N(),m=d.openDialog.dialog===j.isOpenPromoCodeDialog,[n,u]=c.useState(""),[C,l]=c.useState(!1),[r,s]=c.useState("");T(()=>{v.sendEvent("promo_code",{event_category:"promo_code",event_action:"impression"})});const g=()=>{d.setCloseDialog()},p=e=>{v.sendEvent("apply_promo_code",{event_category:"promo_code",event_type:"status",event_value:e?"valid":"invalid",event_action:"click",cta_button:"apply"})},h=async()=>{s(""),l(!0);try{const e=await S("/v2/promo-code/validate",{promoCode:n}),{isValid:y}=e.data.data;y?(await _.fetchWithPromoCode(n),p(!0),g(),u("")):(p(!1),s(t("promoCode.errors.invalidPromoCode")),l(!1))}catch{p(!1),s(t("promoCode.errors.invalidPromoCode")),l(!1)}};return c.useEffect(()=>{m&&v.sendEvent("promo_code_screen",{action:"impression",event_category:"promocode"})},[m]),o.jsx("div",{className:i.promoCodeDialogContainer,children:o.jsx(w,{classNameBody:i.dialogBody,
1classNameParent:i.promoCodeDialog,isOpen:m,newDialogStyleEnabled:!0,title:t("crownLounge.promoCode"),onClose:g,children:o.jsx("div",{className:i.inner,children:o.jsxs("div",{className:i.content,children:[o.jsx("div",{className:i.inputContainer,children:o.jsx(I,{autoFocus:!0,className:r?i.inputError:"",dataTestId:"promo-code-input",error:r,maxLength:20,placeholder:t("forms.enterPromoCode"),type:"text",value:n,onChange:e=>{u(e.target.value.trim()),r&&s("")}})}),o.jsx("div",{className:i.buttonContainer,children:o.jsx(E,{btnType:r?"locked":"main","data-testid":"promo-code-submit-btn",disabled:C||!n.trim()||!!r,onClick:h,children:t(C?"buttons.applying":"common.applyUpperCase")})})]})})})})}),xo=b(()=>{const d=f("ui_redesign_lounge",!1),_=f("ui_redesign_dialogs",!1);return d&&_?o.jsx(to,{}):o.jsx(G,{})});export{xo as PromoCodeController}; 2//# sourceMappingURL=PromoCodeController-Cz2_BQfi.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.