Module 944766

2,408 characters · in no known chunk
Dependencies
Required by (1)
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>E});var i=n(627968),r=n(64700),s=n(503698),a=n.n(s),o=n(939249),l=n(607470),u=n(418126),c=n(814550),d=n(572808),_=n(9045),h=n(806931),f=n(840275);let E=e=>{let{seats:t,claimedSeat:n,participant:s,participants:E,channel:p,flip:m,handleHover:g,enableAnimations:A=!0}=e,I=r.useRef(null),T=r.useRef(new Set),S=(0,_.A)(s),{setAsset:N,sampleAsset:C,animationState:y,updateAnimationState:O,characterAssets:R}=(0,c.u)(S?.name),v=r.useMemo(()=>Object.values(R??{}).flat(),[R]),b=E.find(e=>e.type===h.lp.USER&&e.user.id===s.userId),L=r.useMemo(()=>E.filter(e=>{var t;return t=s.userId,e.type===h.lp.USER&&e.speaking&&e.user.id!==t}),[E,s.userId]),D=r.useMemo(()=>L.flatMap(e=>{let n=t.find(t=>t.claimedBy===e.user.id);return null!=n?[n]:[]}),[L,t]),[w,P]=r.useState(!1),[M,x]=r.useState(0),[U,k]=r.useState(0);return r.useEffect(()=>{P(!1)},[S,v]),r.useEffect(()=>{let e=T.current;return()=>{[...e].forEach(e=>window.clearTimeout(e))}},[]),r.useEffect(()=>{if(!A)return;let e=I.current;if(null==e||!0===w)return;let t=C(),n=v.findIndex(e=>e===t);N(t),k(n),[...e.children].forEach((e,t)=>{"VIDEO"!==e.nodeName||(e.currentTime=0,t===n&&(e.play(),P(!0)))})},[w,v,C,N,A]),r.useEffect(()=>{A&&(b?.speaking?O(c.f.TALKING):y===c.f.TALKING&&O(c.f.IDLE))},[b,y,O,A]),r.useEffect(()=>{!A||D.some(e=>{switch(n.id){case 1:case 2:case 3:return e?.id<n.id;case 4:case 5:case 6:return e?.id>n.id;default:return!1}})&&M+13e3<Date.now()&&(O(c.f.HEAD_TURN),x(Date.now()))},[D,n,M,O,A]),(0,i.jsxs)(o.D,{className:f.iE,style:{width:S.width,top:S.offset.top,left:m?-S.offset.left:S.offset.left},onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),onClick:e=>{e.preventDefault(),e.stopPropagation();let t=(s.avatar+1)%d.oo.length;0===t&&(t=1),u.Ay.update(p.id,{avatar:t,seat:n?.id})},children:[(0,i.jsx)("div",{className:f.Fk,style:{height:1.25*S.height,width:1.25*S.width}}),R?.decoration!=null&&(0,i.jsx)(l.A,{src:R.decoration[0],className:a()(f.GG,{[f.UU]:m}),autoPlay:A,loop:A,style:{width:S.width}}),(0,i.jsx)("div",{ref:I,children:v.map((e,t)=>(0,i.jsx)(l.A,{style:{opacity:+(t===U),width:S.width},src:e,className:a()(f.GG,{[f.UU]:m}),onEnded:()=>{if(y===c.f.HEAD_TURN&&R?.headTurn?.includes(e)){O(c.f.HEAD_TURN_BACK);let e=setTimeout(()=>{P(!1),T.current.delete(e)},2e3);T.current.add(e)}else y===c.f.HEAD_TURN_BACK&&R?.headTurnBack?.includes(e)&&O(c.f.IDLE),P(!1)},autoPlay:!1,loop:!1},e))})]})}}