Build 545032stable
Module 614518
1,230 characters · in 152fa8b450c2f26b.jsDependencies
Source Raw
function(e,t,n){let l;n.d(t,{A:()=>x,a:()=>p}),n(667532);var i=n(735438),s=n(17928),a=n(765178),r=n(228366),o=n(927813),u=n(104142);n(806931);let c=[],d={},m=[],p=e=>{null!=e&&r.h.dispatch({type:"VOICE_CHANNEL_EFFECT_CLEAR",userId:e})},g=[],f=10*o.A.Millis.SECOND,h=(0,i.debounce)(()=>{let e=(0,u.fr)(m);a.O.announce(e,"polite"),m=[]},500);class A extends s.Ay.Store{static displayName="VoiceChannelEffectsStore";get recentlyUsedEmojis(){return c}get isOnCooldown(){return null!=l&&new Date<l}get effectCooldownEndTime(){return l}getEffectForUserId(e){return d[e]}}let x=new A(r.h,{VOICE_CHANNEL_EFFECT_CLEAR:e=>{let{userId:t}=e;null!=d[t]&&delete d[t]},VOICE_CHANNEL_EFFECT_RECENT_EMOJI:e=>{let{emoji:t}=e;null!=t&&(c.unshift(t),(c=(0,i.uniqBy)(c,"name")).length>9&&c.pop())},VOICE_CHANNEL_EFFECT_SEND:e=>{let{emoji:t,userId:n,animationType:l}=e;null!=t&&null!=l&&(d[n]={emoji:t,sentAt:Date.now(),animationType:l},m=[...m,{emojiName:t.name,userId:n}],h())},VOICE_CHANNEL_EFFECT_SENT_LOCAL:()=>{let e=new Date;if((g=[e,...g].slice(0,20)).length>=20){let t=g[g.length-1],n=e.getTime()-t.getTime();n<f&&(l=new Date(e.getTime()+f-n))}},VOICE_CHANNEL_EFFECT_UPDATE_TIME_STAMP:e=>{let{cooldownEndsAtMs:t}=e;l=new Date(Date.now()+t)}})}