Module 334074

2,141 characters · in 07487b18ac4fb74d.js
Dependencies
Required by (3)
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,s,t){t.d(s,{D3:()=>m,SH:()=>c,Yb:()=>d,hj:()=>p});var i=t(582128),n=t(17928),l=t(131607),a=t(355898),o=t(644103),r=t(574560),u=t(652215);let d={globalCooldownMs:864e5,perGameInitialCooldownMs:864e5,perGameCooldownBackoffBase:2,perGameMaxCooldownMs:24192e5},c={globalCooldownMs:6048e5,perGameInitialCooldownMs:1/0,perGameCooldownBackoffBase:1,perGameMaxCooldownMs:1/0};function m(e){let{application:s,disabled:t=!1,dismissibleContent:n,dismissibleContentGroupName:l,bypassAutoDismiss:a=!1,cooldownConfig:o}=e,{eligibleToShow:r,markAsDismissed:u}=p({applications:(0,i.useMemo)(()=>null!=s?[s]:[],[s]),disabled:t,dismissibleContent:n,dismissibleContentGroupName:l,bypassAutoDismiss:a,cooldownConfig:o});return{shouldShow:r.length>0,markAsDismissed:e=>{null!=s&&u([s.id],e)}}}function p(e){let{applications:s,disabled:t=!1,dismissibleContent:d,dismissibleContentGroupName:c,bypassAutoDismiss:m=!1,cooldownConfig:p}=e,f=(0,n.yK)([r.A],()=>s.map(e=>r.A.getGameUpsellDismissal(e.id,d))),[g,h]=(0,i.useState)(()=>new Set);(0,i.useEffect)(()=>{let e=s.map((e,s)=>{var t;return{id:e.id,nextTime:(t=f[s],null==t?0:t.dismissedAt+Math.min(p.perGameInitialCooldownMs*Math.pow(p.perGameCooldownBackoffBase,t.timesDismissed-1),p.perGameMaxCooldownMs))}}),t=0;return!function s(){let i=Date.now();h(new Set(e.filter(e=>{let{nextTime:s}=e;return i>=s}).map(e=>{let{id:s}=e;return s})));let n=e.map(e=>{let{nextTime:s}=e;return s}).filter(e=>e>i);n.length>0&&(t=setTimeout(s,Math.min(Math.min(...n)-i,u.mnr)))}(),()=>clearTimeout(t)},[s,f,p]);let I=t?[]:s.filter(e=>g.has(e.id)).map(e=>e.id),[S,w]=(0,l.Wl)(I.length>0?d:null,{cooldownDurationMs:p.globalCooldownMs},c,m),M=S===d?I:[],_=s.map(e=>e.id).join(","),k=M.join(",");return(0,i.useEffect)(()=>{let e=_.length>0?_.split(","):[],s=new Set(k.length>0?k.split(","):[]),i=S!==d,n={};for(let l of e)!s.has(l)&&(t?n[l]="disabled":g.has(l)?i&&(n[l]="global-cooldown"):n[l]="per-game-cooldown");(0,o.v)({timestamp:Date.now(),applicationIds:e,dismissibleContent:d,eligibleToShow:[...s],disabled:t,excludedReasons:n})},[_,k,d,t,g,S]),{eligibleToShow:M,markAsDismissed:function(e,s){(0,a.M)(e,d),w(s)}}}}