/* Copyright © 2024 Melbet - All Rights Reserved */ import{useNotifications as yt,useT as St,useGlobalStore as ft,useAccountStore as It,useCouponStore as U,useBettingRouteData as vt,useAnalytics as bt,calculateBonusCoef as _t,convertToView as Pt,BONUS_MARKET_TYPE_ID as kt,CouponBet as Q,isDef as ht,useNotify as xt,BettingRouteName as Vt,BettingType as W,a as N,e as Et}from"./entry-Bl6dkD65.js";import{toRef as Ht,computed as t,unref as n}from"../../../../shared-assets/__shared_vue_deps_SRT2KB67.js";import{createSharedComposable as Ot}from"./SrvKkP3v8vpZ.js";const Mt=()=>{const{notificationError:c}=yt();return{couponPlaceBetHandleError:async u=>{await c(u.error.message)}}};var wt=Object.defineProperty,Tt=Object.defineProperties,Lt=Object.getOwnPropertyDescriptors,F=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable,j=(c,s,u)=>s in c?wt(c,s,{enumerable:!0,configurable:!0,writable:!0,value:u}):c[s]=u,S=(c,s)=>{for(var u in s||(s={}))Rt.call(s,u)&&j(c,u,s[u]);if(F)for(var u of F(s))Dt.call(s,u)&&j(c,u,s[u]);return c},f=(c,s)=>Tt(c,Lt(s));const Wt=()=>{const c=St(),s=ft(),u=It(),o=U(),{routeBettingType:C,routeName:I}=vt(),{couponPlaceBetHandleError:v}=Mt(),r=bt(),G=Ht(()=>s.coefViewId),Y=t({get:()=>o.couponTab,set:e=>o.couponSetTab(e)}),l=t({get:()=>o.couponAccountId,set:e=>o.couponSetAccountId(e)}),q=t(()=>o.couponAccountMoney),K=t(()=>o.couponCurrencyIso),z=t({get:()=>o.addedAtByBetId,set:e=>o.couponSetAddedAtByBetId(e)}),b=t({get:()=>o.couponAmount,set:e=>o.couponSetAmount(e)}),J=t({get:()=>o.couponAmountByBetId,set:e=>o.couponSetAmountByBetId(e)}),X=t({get:()=>o.couponAmountByBlockId,set:e=>o.couponSetAmountByBlockId(e)}),Z=t(()=>o.couponAvailablePrepaidAmount),i=t({get:()=>o.couponBets,set:e=>o.couponSetBets(e)}),$=t(()=>o.couponBetIds),g=t(()=>n(i).length),oo=t(()=>o.couponCoef),to=t(()=>o.couponCoefByView),eo=t(()=>o.couponHasCoef),no=t(()=>o.couponHasSpecialCoef),_=t(()=>o.couponHasBonusBet),so=t(()=>o.couponHasOnlyLineBets),co=t(()=>o.couponHasAmount),uo=t(()=>o.couponHasBetAmount),ao=t(()=>o.couponHasMinAmount),io=t(()=>o.couponHasMaxAmount),P=t(()=>{var e,a;return((e=u.mainBalance)!=null?e:0)<((a=n(b))!=null?a:0)}),po=t(()=>n(P)?c("coupon_quick_coupon_bet_amount_higher_than_balance"):""),ro=t(()=>o.couponHasPossibleWin),lo=t(()=>o.couponHasMinPossibleWin),Bo=t(()=>o.couponInitialAmount),mo=t(()=>o.couponIsActivePlaceBet),Ao=t(()=>o.couponMaxBetAmount),Co=t(()=>o.couponMaxAmountByBlockId),go=t(()=>o.couponMinBetAmount),yo=t(()=>o.couponPossibleWin),So=t(()=>o.couponMinPossibleWin),fo=t(()=>o.couponAntiExpressCoef),y=t(()=>_t(1,n(g))),k=t(()=>({name:c("coupon_bonus_from_company"),coef:n(y),coefByView:Pt(n(y),n(G)),sportId:0,sportName:c("coupon_bonus_express"),typeId:kt})),h=t(()=>new Q({market:n(k)})),Io=t(()=>n(_)?n(i).concat(n(h)):n(i)),B=t({get:()=>o.couponTypeId,set:e=>o.couponSetCouponTypeId(e)}),vo=t(()=>o.couponHasSystem),bo=t(()=>o.couponHasExpress),_o=t(()=>o.couponHasSinglesBets),x=t({get:()=>o.couponSystemValue,set:e=>o.couponSetSystemValue(e)}),Po=t({get:()=>o.isActiveAutoMax,set:e=>o.couponSetIsActiveAutoMax(e)}),ko=t({get:()=>o.isActiveVipBet,set:e=>o.couponSetIsActiveVipBet(e)}),V=t(()=>o.couponSystemValues),ho=t(()=>{const e=n(V).find(a=>a.value===n(x));return e==null?void 0:e.combo}),xo=t({get:()=>o.getAmountStep,set:e=>o.couponSettingsSetAmountStep(e)}),Vo=t({get:()=>o.settings.changeCoefAction,set:e=>o.couponSettingsSetChangeCoefAction(e)}),Eo=t({get:()=>o.settings.oneClickAmount,set:e=>o.couponSettingsSetOneClickAmount(e)}),Ho=t({get:()=>o.settings.isDropOnScoreChange,set:e=>o.couponSettingsSetIsDropOnScoreChange(e)}),E=t({get:()=>o.settings.isActiveOneClick,set:e=>o.couponSettingsSetIsActiveOneClick(e)}),Oo=t({get:()=>o.settings.isCouponFixed,set:e=>o.couponSettingsSetIsCouponFixed(e)}),Mo=t(()=>o.couponIsCouponLoadedFromCode),wo=t(()=>o.couponBetsByBlockId),To=t(()=>n(g)>0),Lo=t(()=>o.couponHasBlocks),Ro=t(()=>o.couponHasSystemWithBanker),Do=t(()=>o.couponHasBlockAmount),Wo=t(()=>o.isActiveSystemBanker),No=t(()=>o.couponBlockIds),Fo=t(()=>n(i).some(e=>e.isLocked)),jo=t({get:()=>o.couponSuccessCoupon,set:e=>o.couponSetSuccessCoupon(e)}),Uo=t(()=>o.couponIsAccessedPromoCode),H=t({get:()=>o.couponPromoCode,set:e=>o.couponSetPromoCode(e)}),d=t({get:()=>o.couponManualPromoCode,set:e=>o.couponSetManualPromoCode(e)}),O=t(()=>{const{couponPromoCodes:e}=o;return n(d)?[n(d)].concat(e.filter(a=>{var p;return a.id!==((p=n(d))==null?void 0:p.id)})):e}),Qo=t(()=>n(O).find(e=>(e==null?void 0:e.id)===n(H))),Go=t(()=>o.couponActivePlaceBetIds),Yo=t({get:()=>o.couponSinglesResultCoupons,set:e=>o.couponSetSinglesResultCoupons(e)}),qo=t({get:()=>o.settings.exactCoef||0,set:e=>o.couponSettingsSetExactCoef(e)}),Ko=t(()=>o.couponHasExactCoef),zo=t({get:()=>o.couponLoadInputValue,set:e=>o.couponSetLoadCouponInputValue(e)}),M=t(()=>o.couponVipBetAvailable),Jo=t(()=>o.isActiveVipBet&&n(M)),Xo=t({get:()=>o.isVisibleQuickCoupon,set:e=>o.couponSetIsVisibleQuickCoupon(e)}),w=()=>o.couponSettingsResetExactCoef(),Zo=e=>o.couponSettingsMergeState(e),$o=()=>o.couponUpdate(),ot=e=>o.couponDeleteBet({id:e}),tt=async e=>{const a=await o.couponPutBet(e);(a==null?void 0:a.success)===!1&&await v(a)},m=async e=>{var a;r.modules.coupon.trackBetButtonClick((a=o.couponBaseCoupons[0])==null?void 0:a.bets),r.modules.yandexEvents.trackPlayBet();const p=await o.couponPutRegularBet(e);(p==null?void 0:p.success)===!1&&await v(p)},et=()=>n(I)===Vt.CYBER_SECTION?m({pageType:n(I)}):n(C)===W.LINE||n(C)===W.LIVE?m({pageType:n(C)}):m(),nt=()=>o.couponLoadAvailablePrepaidAmount(),st=()=>o.couponSaveCoupon(),ct=()=>o.couponLoadCoupon(),ut=async()=>{i.value=[],await w(),r.modules.coupon.clickOnIcoRemoveAllBets(),r.modules.coupon.trackClearCall()},at=t(()=>n(B)===1),it=t(()=>n(B)===9),pt=t(()=>n(B)===5),T=t(()=>o.getHyperBonusPercent),rt=t(()=>o.getMinHyperBonusBetLimit),lt=t(()=>o.getMaxHyperBonusLimit),Bt=t(()=>!!n(T)&&n(at)),dt=t(()=>o.couponMaxPayout),L=t(()=>s.isAsianView),mt=t(()=>n(L)&&!n(it)&&!n(pt)),At=t(()=>{var e;return(e=u.bonusAccount)==null?void 0:e.id}),R=t(()=>ht(n(l))&&n(l)===n(At)),Ct=t({get:()=>o.getBonusAccountOneClickAmount,set:e=>o.couponSettingsSetBonusAccountOneClickAmount(e)}),gt=()=>{l.value=u.activeId},D=xt();return{accountId:l,accountMoney:q,activePlaceBetIds:Go,addedAtByBetId:z,amount:b,amountError:po,amountByBetId:J,amountByBlockId:X,amountStep:xo,antiExpressCoef:fo,availablePrepaidAmount:Z,bets:i,betsByBlockId:wo,betsCount:g,betsIds:$,betsWithBonus:Io,blockIds:No,bonusBet:h,bonusCoef:y,bonusMarket:k,changeCoefAction:Vo,coef:oo,coefByView:to,couponLoadInputValue:zo,currencyIso:K,exactCoef:qo,hasAmount:co,hasBetAmount:uo,hasBetCount:To,hasBlockAmount:Do,hasBlocks:Lo,hasSystemWithBanker:Ro,isActiveSystemBanker:Wo,hasLocked:Fo,hasBonusBet:_,hasCoef:eo,hasExactCoef:Ko,hasMaxAmount:io,hasMinAmount:ao,hasAmountError:P,hasMinPossibleWin:lo,hasPossibleWin:ro,hasSpecialCoef:no,hasSystem:vo,hasExpress:bo,hasSinglesBets:_o,hasOnlyLineBets:so,initialAmount:Bo,isAccessedPromoCode:Uo,isActiveOneClick:E,isActiveAutoMax:Po,isActiveVipBet:ko,isCouponFixed:Oo,isDropOnScoreChange:Ho,isPlaceBetActive:mo,isCouponLoadedFromCode:Mo,maxAmountByBlockId:Co,maxBetAmount:Ao,minBetAmount:go,minPossibleWin:So,oneClickAmount:Eo,possibleWin:yo,promoCode:H,manualPromoCode:d,promoCodes:O,promoCodeData:Qo,resultCoupons:Yo,successCoupon:jo,systemValue:x,systemValues:V,systemMinCoef:ho,tab:Y,typeId:B,hyperBonusPercent:T,minHyperBonusBetLimit:rt,maxHyperBonusLimit:lt,isActiveHyperBonus:Bt,couponMaxPayout:dt,isVipBetAvailable:M,isVipBetTabVisible:Jo,isAsianView:L,isStakesVisible:mt,isBonusAccountSelected:R,isVisibleQuickCoupon:Xo,bonusAccountOneClickAmount:Ct,deleteBet:ot,loadAvailablePrepaidAmount:nt,loadCoupon:ct,mergeSettings:Zo,putBet:tt,putRegularBet:et,putRegularBetCoupon:m,resetExactCoef:w,saveCoupon:st,updateCoupon:$o,clearBets:ut,updateAccountType:()=>{n(E)&&(n(R)?(gt(),D({group:N.DEFAULT,type:Et.WARNING,title:c("coupon_notify_title_enabled_general_account"),text:c("coupon_notify_text_enabled_general_account")})):D({group:N.DEFAULT,clean:!0}))}}},A=Ot(Wt),Gt=c=>{const{amountByBetId:s}=A();return t({get:()=>n(s)[n(c)],set:u=>{s.value=f(S({},n(s)),{[n(c)]:u})}})},Yt=c=>{const{amountByBlockId:s}=A();return t({get:()=>n(s)[n(c)],set:u=>{s.value=f(S({},n(s)),{[n(c)]:u})}})},qt=c=>{const{maxAmountByBlockId:s}=A();return t(()=>n(s)[n(c)])},Nt=c=>{const s=U(),{bets:u}=A();return t({get:()=>n(u).find(o=>o.id===n(c)),set:o=>s.couponReplaceBet({bet:o})})},Kt=c=>{const s=Nt(c);return t({get:()=>n(s).blockId,set:u=>{s.value=new Q(f(S({},n(s)),{blockId:u}))}})};export{Wt as createCouponContext,Gt as useBetAmount,Yt as useBlockAmount,Kt as useCouponBetBlockId,A as useCouponContext,Mt as useCouponPlaceBetErrorHandler,qt as useMaxBlockAmount};