/* Copyright © 2024 Melbet - All Rights Reserved */ import{useGlobalStore as g,MAX_BET_VALUE as no,useCouponStore as v,useT as O,useSiteConfig as _,range as so,useAnalytics as co,isSpecialCoefMarket as uo,convertToView as ao,multiply as ro,formatMoney as io}from"./entry-Bl6dkD65.js";import{computed as t,unref as o,ref as lo,watch as mo}from"../../../../shared-assets/__shared_vue_deps_SRT2KB67.js";import{useCouponContext as C,useCouponBetBlockId as w,useBetAmount as po}from"./DOpCoZj7fcu6.js";import{useCouponThemeInject as Bo}from"./C4CTXPntXiB_.js";import{useCouponMarketName as ko}from"./70flqiPIO0Kh.js";import{useBettingBlockTitleDictionary as fo}from"./BtaTQt8EX70t.js";import{mapObjectValues as yo}from"./D2b4W3hAwSP8.js";const So=({isActiveAutoMax:e})=>{const n=g(),{maxBetAmount:c}=C(),u=t(()=>n.isUserAuth);return t(()=>o(e)&&o(u)?o(c):no)},Io=({amount:e,maximumAmount:n,isActiveAutoMax:c})=>({setMaximumAmount:()=>{e.value&&n.value&&c.value&&e.value>n.value&&(e.value=n.value)}}),vo=()=>{const e=v(),n=t(()=>e.couponBets),c=t(()=>e.couponTypeId),u=4,i=t(()=>o(c)===2),m=t(()=>o(n).length>=u);return{hasMinSystemBetsCount:t(()=>o(i)&&o(m))}},Co=e=>{const n=O(),{betsByBlockId:c,blockIds:u,hasBlocks:i,typeId:m}=C(),r=w(e),{couponLobbyTranslateKey:f}=_(),{getBlockTitleDictionaryArgs:l}=fo(f),d=t(()=>n(...l(o(r)))),k=t(()=>Math.max(...o(u))),y=t(()=>o(m)===4),p=t(()=>o(c)[o(r)].length>1||o(r)===0),S=t(()=>o(i)?so(o(y)?0:1,o(k)+(o(p)?2:1)):[]),B=t(()=>o(S).map(a=>({name:n(...l(a)),label:n(...l(a)),value:a}))),I=t({get:()=>o(B).find(({value:a})=>a===o(r)),set:({value:a})=>{r.value=a}});return{betBlockId:r,betBlockTitle:d,allowedBlockIds:S,allowedBlockOptions:B,selectedBlockOption:I}},M=0,To=e=>{const{isShowSystemBankerInCoupon:n}=_(),c=v(),{hasMinSystemBetsCount:u}=vo(),i=t(()=>c.couponSystemValues),m=t(()=>c.couponBlockIds),r=t(()=>c.couponIsActiveSystemBanker),f=2,l=w(e),d=t({get:()=>l.value===M,set:p=>{l.value=p?M:Math.max(...o(m))+1}}),k=t(()=>o(r)&&o(u)&&n),y=t(()=>o(i).length{const c=lo();return mo(e,(u,i)=>{u!==i&&(c.value=i)},n),c},Vo=e=>{const n=g(),{hasBetAmount:c,hasBlocks:u,amountByBetId:i,amountStep:m,deleteBet:r,initialAmount:f,isActiveAutoMax:l,currencyIso:d}=C(),k=So({isActiveAutoMax:l}),y=co(),p=O(),S=v(),B=t(()=>o(e).id),I=t(()=>o(e).isBlocked?p("coupon_blocked"):o(e).isDepend?p("coupon_depend"):o(e).isBannedExpress?p("coupon_banned_express"):""),a=po(B),{allowedBlockOptions:N,selectedBlockOption:x}=Co(B),{setMaximumAmount:V}=Io({amount:a,maximumAmount:k,isActiveAutoMax:l}),D=()=>{if(o(a)===o(f)){const s=o(B),oo=yo(o(i),(eo,to)=>to!==s?eo:void 0);S.couponSetAmountByBetId(oo)}},{couponInputTheme:L,couponNumberInputTheme:b,couponMultiSelectTheme:E,couponMultiSelectOptionTheme:U}=Bo(),F=t(()=>({"coupon-bet--is-live":o(e).market.isLive,"coupon-bet--is-line":!o(e).market.isLive,"coupon-bet--has-blocks":o(u)})),$=t(()=>[o(e).firstOpponentFullScore,o(e).secondOpponentFullScore]),j=t(()=>{var s;return(s=o(e).market)==null?void 0:s.firstOpponentName}),P=t(()=>{var s;return(s=o(e).market)==null?void 0:s.secondOpponentName}),K=t(()=>{var s;return!!((s=o(e).market)!=null&&s.secondOpponentName)}),T=t(()=>uo(o(e).market.typeId)),W=t(()=>o(e).market.coef),Y=Ao(W),G=t(()=>n.getCoefViewId),R=t(()=>o(G)===0),A=t(()=>o(e).market.coef?ao(Number(o(e).market.coef),0):void 0),X=t(()=>{const s=o(e).market.coefByView;return o(T)?s:o(e).market.coef?!o(R)&&s?`${s} (${o(A)})`:o(A):"-"}),q=()=>{r(o(B)),y.modules.coupon.clickIcoRemoveOneBet()},{marketText:z}=ko(t(()=>o(e).market)),{isBankerBet:H,isVisibleSystemBetBankerToggler:J,isDisabledSystemBetBankerToggler:Q}=To(o(e).id),h=t(()=>ro(o(a)||0,o(e).market.coef||0)),Z=t(()=>`${io(o(h))} ${o(d)}`);return{caption:t(()=>{var s;return[(s=o(e).gameNumber)!=null?s:o(e).market.sportName,[o(e).market.champName,o(e).additionalType&&`(${o(e).additionalType})`].filter(Boolean).join(" ")].filter(Boolean).join(". ")}),hasBlocks:u,lockMessage:I,betAmount:a,couponBetClasses:F,selectedBlockOption:x,allowedBlockOptions:N,hasBetAmount:c,amountStep:m,scores:$,maxInputValue:k,marketText:z,couponInputTheme:L,couponMultiSelectTheme:E,couponMultiSelectOptionTheme:U,couponNumberInputTheme:b,maxPossibleWinByBet:h,maxPossibleWinByBetFormatted:Z,isBankerBet:H,isVisibleSystemBetBankerToggler:J,isDisabledSystemBetBankerToggler:Q,isSpecialMarket:T,coefByViewFormatted:X,prevBetCoef:Y,firstOpponentName:j,secondOpponentName:P,hasSecondOpponentName:K,cleanBetAmount:D,setMaximumAmount:V,removeBetFromCoupon:q}};export{Co as useAllowedBlocksToSwitch,Vo as useCouponBet,So as useCouponMaxInputValue,vo as useCouponMinSystemBetCount,Io as useCouponSetMaximumAmount,To as useCouponSystemBetBanker};