Loading
function(e,t,n){n.d(t,{A:()=>F});var l=n(627968),s=n(64700),i=n(735438),a=n(404778),r=n(17928),o=n(459838),u=n(661531),d=n(990078),c=n(602853),m=n(778712),h=n(834730),p=n(243721),f=n(742158),g=n(106236),A=n(821609),x=n(827343),C=n(717558),v=n(964486),E=n(85448),T=n(495544),j=n(728555),S=n(763827),_=n(287809),N=n(977997),y=n(935208),R=n(829997),I=n(329139),b=n(375708),M=n(36482);function w(e){let{worldX:t,worldY:n,worldZ:l}=e;return{x:t,y:n,z:l}}function U(e,t){let n=7/t,l=e/2;return{zoom:n,pan:{offsetX:l*(1-n),offsetY:l-l*(1-t/14)*n}}}function O(e){let{mode:t,users:n,guildId:i,onUserDragged:a,distance:r,view:o,setView:d,canvasSize:m,setCanvasSize:h}=e,p=s.useRef(null),f=s.useRef(null),[g,A]=s.useState(null),[x,C]=s.useState(!1),E=(0,c.r)(u.A.colors.BACKGROUND_BASE_LOW).hex(),T=(0,c.r)(u.A.colors.BACKGROUND_MOD_MUTED).hex(),j=(0,c.r)(u.A.colors.STATUS_POSITIVE).hex(),S=(0,c.r)(u.A.colors.TEXT_DEFAULT).hex(),_=b.intl.string(I.default.chrbRg);(0,v.u5)(()=>{let e=p.current;if(null==e)return;let t=!0,n=new ResizeObserver(e=>{let n=Math.floor(e[0].contentRect.width);n<=0||(t&&(t=!1,d(U(n,r))),h(n))});return n.observe(e),()=>n.disconnect()}),s.useEffect(()=>{let e=p.current;if(null==e)return;let t=t=>{t.preventDefault();let n=e.getBoundingClientRect(),l=t.clientX-n.left,s=t.clientY-n.top;d(e=>{let{zoom:n,pan:i}=e,a=Math.max(D,Math.min(P,n*Math.exp(-t.deltaY*k))),r=a/n;return{zoom:a,pan:{offsetX:l-(l-i.offsetX)*r,offsetY:s-(s-i.offsetY)*r}}})};return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)},[d]),s.useEffect(()=>{let e=f.current;if(null==e||0===m)return;let t=e.getContext("2d");if(null!=t){t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,m,m),t.fillStyle=E,t.fillRect(0,0,m,m),t.setTransform(o.zoom,0,0,o.zoom,o.pan.offsetX,o.pan.offsetY),t.strokeStyle=T,t.lineWidth=1/o.zoom;for(let e=0;e<=10;e++){let n=e*m/10;t.beginPath(),t.moveTo(n,0),t.lineTo(n,m),t.stroke(),t.beginPath(),t.moveTo(0,n),t.lineTo(m,n),t.stroke()}t.fillStyle=j,t.beginPath(),t.arc(m/2,m/2,10/o.zoom,0,2*Math.PI),t.fill(),t.fillStyle=S,t.font=`bold ${11/o.zoom}px gg sans`,t.textAlign="center",t.fillText(_,m/2,m/2-16/o.zoom)}},[m,o,E,T,j,S,_]);let N=s.useCallback((e,n)=>{"manual"===t&&0===e.button&&(e.stopPropagation(),A(n))},[t]),R=s.useCallback(e=>{0===e.button&&C(!0)},[]),w=s.useCallback(e=>{if(x)return void d(t=>({zoom:t.zoom,pan:{offsetX:t.pan.offsetX+e.movementX,offsetY:t.pan.offsetY+e.movementY}}));if(null==g)return;let t=f.current;if(null==t||0===m)return;let n=t.getBoundingClientRect();a(g,{canvasX:(e.clientX-n.left-o.pan.offsetX)/o.zoom,canvasY:(e.clientY-n.top-o.pan.offsetY)/o.zoom})},[x,g,m,o.pan.offsetX,o.pan.offsetY,o.zoom,d,a]),O=s.useCallback(()=>{A(null),C(!1)},[]),F=x?"grabbing":"default";return(0,l.jsxs)("div",{ref:p,className:M.BW,style:{cursor:F},onMouseDown:R,onMouseMove:w,onMouseUp:O,onMouseLeave:O,onContextMenu:e=>e.preventDefault(),children:[(0,l.jsx)("canvas",{ref:f,width:m,height:m,className:M.Ji}),y.default.entries(n).map(e=>{let[n,s]=e;return(0,l.jsx)(L,{userId:n,guildId:i,position:{canvasX:s.canvasX*o.zoom+o.pan.offsetX,canvasY:s.canvasY*o.zoom+o.pan.offsetY},draggable:"manual"===t,handleMouseDown:N},n)})]})}let D=.25,P=4,k=.002;function L(e){let{userId:t,guildId:n,position:i,draggable:a,handleMouseDown:o}=e,u=(0,r.bG)([_.default],()=>_.default.getUser(t)),c=(0,C.A)({userId:t}),[h,p]=s.useState(!1);return null==u?null:(0,l.jsx)(d.m,{text:u.username,shouldShow:!h,hideOnClick:!1,children:(0,l.jsx)("div",{className:M.my,style:{left:i.canvasX-12,top:i.canvasY-12,cursor:a?"grab":"default"},onMouseDown:e=>{p(!0),o(e,t)},onMouseUp:()=>{p(!1)},children:(0,l.jsx)(E.A,{userId:t,size:m._3.SIZE_24,src:u.getAvatarURL(n,24),speaking:c,ringing:!1})})})}function F(){let e=(0,r.bG)([j.Ay],()=>j.Ay.getAudioMixerSettings()),t=o.x.DEFAULT,[n,u]=s.useState({zoom:1,pan:{offsetX:0,offsetY:0}}),[d,c]=s.useState(0),m=s.useCallback(e=>{let{worldX:t,worldZ:n}=e,l=d/2;return{canvasX:l+t/7*l,canvasY:l+n/7*l}},[d]),C=s.useCallback(e=>{let{canvasX:t,canvasY:n}=e,l=d/2;return{worldX:(t-l)/l*7,worldY:0,worldZ:(n-l)/l*7}},[d]),{channelId:v,guildId:E}=(0,r.cf)([S.A],()=>({channelId:S.A.getChannelId(),guildId:S.A.getGuildId()??void 0})),_=(0,r.bG)([T.default],()=>T.default.getId()),y=(0,r.yK)([N.A],()=>null==v?[]:Object.values(N.A.getVoiceStatesForChannel(v)).filter(e=>{let{userId:t}=e;return t!==_}),[v,_]),D=e.mode,P=s.useMemo(()=>({line:t=>{if(1===y.length)return{worldX:0,worldY:0,worldZ:-e.distance};let n=t/(y.length-1);return{worldX:-e.spread/2+e.spread*n,worldY:0,worldZ:-e.distance}},arc:t=>{if(1===y.length)return{worldX:0,worldY:0,worldZ:-e.distance};let n=e.arcAngle*Math.PI/180,l=Math.PI/2+n/2-t/(y.length-1)*n;return{worldX:e.distance*Math.cos(l),worldY:0,worldZ:-e.distance*Math.sin(l)}},grid:t=>{let n=e.gridColumns,l=Math.floor(t/n);return{worldX:(t%n-(n-1)/2)*e.gridSpacing,worldY:0,worldZ:-(e.distance+l*e.gridSpacing)}}}),[e,y.length]),[k,L]=s.useState(new Map),F=s.useMemo(()=>0===d?{}:Object.fromEntries(y.map((e,t)=>{let{userId:n}=e;if("manual"===D){let e=k.get(n);return[n,e??{canvasX:d/2,canvasY:d/2}]}return[n,m(P[D](t))]})),[d,k,D,y,P,m]);s.useEffect(()=>{"manual"===D||0===d||j.Ay.getMediaEngine().eachConnection(e=>{y.forEach((t,n)=>{let{userId:l}=t,s=P[D](n);e.setUserPosition(l,w(s))})})},[e,d,D,y,P]);let G=s.useCallback((e,t)=>{L(n=>new Map(n).set(e,t)),0!==d&&j.Ay.getMediaEngine().eachConnection(n=>{n.setUserPosition(e,w(C(t)))})},[d,C]),V=s.useCallback(n=>{x.A.setAudioMixerSettings({...e,...n},t)},[e,t]),[B,H]=s.useState(e.roomSize),Q=s.useRef(null),W=s.useCallback(e=>{H(e),null!==Q.current&&clearTimeout(Q.current),Q.current=window.setTimeout(()=>{V({roomSize:e}),Q.current=null},500)},[V]),z=[{value:"line",label:b.intl.string(I.default.xwwX9a),ariaLabel:b.intl.string(I.default.Go69Wz)},{value:"arc",label:b.intl.string(I.default.k21Ys4),ariaLabel:b.intl.string(I.default["g8+1Gb"])},{value:"grid",label:b.intl.string(I.default.nVAKlB),ariaLabel:b.intl.string(I.default.fxMbmH)},{value:"manual",label:b.intl.string(I.default.Wmv386),ariaLabel:b.intl.string(I.default.U9PON6)}];return(0,l.jsxs)("div",{className:M.kL,children:[(0,l.jsxs)("div",{className:M.ne,children:[(0,l.jsxs)("div",{className:M.nM,children:[(0,l.jsx)(h.E,{variant:"text-md/normal",children:b.intl.string(I.default["p/J17q"])}),(0,l.jsx)(p.d,{checked:e.enabled,onChange:e=>V({enabled:e}),"aria-label":b.intl.string(I.default.gtmo6U)})]}),(0,l.jsx)(a.c,{className:M.yF}),(0,l.jsx)(f.z,{className:M.Pf,children:b.intl.string(I.default.FCvOS0)}),(0,l.jsx)(g.A,{className:M.aw,initialValue:e.spatialBlend,value:e.spatialBlend,minValue:0,maxValue:1,asValueChanges:e=>V({spatialBlend:e}),onValueRender:e=>`${Math.round(100*e)}%`,"aria-label":b.intl.string(I.default.FCvOS0)}),(0,l.jsx)(f.z,{className:M.Pf,children:b.intl.string(I.default["/GM1bA"])}),(0,l.jsx)(g.A,{className:M.aw,initialValue:B,value:B,minValue:10,maxValue:150,asValueChanges:W,onValueRender:e=>e.toFixed(0),"aria-label":b.intl.string(I.default.l5XHLy)}),(0,l.jsx)(a.c,{className:M.yF}),(0,l.jsx)(f.z,{className:M.Pf,children:b.intl.string(I.default.CMFya4)}),(0,l.jsx)("div",{className:M.XU,role:"group","aria-label":b.intl.string(I.default.CMFya4),children:z.map(t=>{let{value:n,label:s,ariaLabel:i}=t;return(0,l.jsx)("button",{className:`${M._V} ${D===n?M.cB:""}`,"aria-label":i,"aria-pressed":D===n,onClick:()=>{if("manual"===n&&"manual"!==D&&d>0){let e=new Map;y.forEach((t,n)=>{let{userId:l}=t;e.set(l,m(P[D](n)))}),L(e)}V({mode:n}),d>0&&u(U(d,e.distance))},children:s},n)})}),"manual"!==D&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(f.z,{className:M.Pf,children:b.intl.string(I.default.i4BAoc)}),(0,l.jsx)(g.A,{className:M.aw,initialValue:e.distance,value:e.distance,minValue:1,maxValue:10,asValueChanges:e=>V({distance:e}),onValueRender:e=>e.toFixed(1),"aria-label":b.intl.string(I.default.i4BAoc)})]}),"line"===D&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(f.z,{className:M.Pf,children:b.intl.string(I.default["/ZoKQI"])}),(0,l.jsx)(g.A,{className:M.aw,initialValue:e.spread,value:e.spread,minValue:0,maxValue:10,asValueChanges:e=>V({spread:e}),onValueRender:e=>e.toFixed(1),"aria-label":b.intl.string(I.default["/ZoKQI"])})]}),"arc"===D&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(f.z,{className:M.Pf,children:b.intl.string(I.default.EOmtMO)}),(0,l.jsx)(g.A,{className:M.aw,initialValue:e.arcAngle,value:e.arcAngle,minValue:0,maxValue:180,asValueChanges:e=>V({arcAngle:e}),onValueRender:e=>`${e.toFixed(0)}\xb0`,"aria-label":b.intl.string(I.default.FbPuig)})]}),"grid"===D&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(f.z,{className:M.Pf,children:b.intl.string(I.default.Q5EMQe)}),(0,l.jsx)(g.A,{className:M.aw,initialValue:e.gridColumns,value:e.gridColumns,minValue:2,maxValue:6,keyboardStep:1,asValueChanges:e=>V({gridColumns:Math.round(e)}),onValueRender:e=>e.toFixed(0),"aria-label":b.intl.string(I.default.Q5EMQe)}),(0,l.jsx)(f.z,{className:M.Pf,children:b.intl.string(I.default.lxrCwG)}),(0,l.jsx)(g.A,{className:M.aw,initialValue:e.gridSpacing,value:e.gridSpacing,minValue:.5,maxValue:3,asValueChanges:e=>V({gridSpacing:e}),onValueRender:e=>e.toFixed(1),"aria-label":b.intl.string(I.default.LDP0hu)})]}),(0,l.jsx)(a.c,{className:M.yF}),(0,l.jsx)(A.$,{variant:"secondary",size:"sm",text:b.intl.string(I.default.HlbWSY),onClick:()=>{let e=(0,i.omit)(R.b,["enabled","experimentOverride"]);H(e.roomSize),d>0&&u(U(d,e.distance)),V(e)}})]}),(0,l.jsx)(O,{mode:D,users:F,guildId:E,onUserDragged:G,distance:e.distance,view:n,setView:u,canvasSize:d,setCanvasSize:c})]})}}