karaoke-eternal 2.0.0-beta.6 → 2.0.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ /*! See licenses in licenses.txt */"use strict";(self.webpackChunkkaraoke_eternal=self.webpackChunkkaraoke_eternal||[]).push([[851],{9851(e,i,t){t.r(i),t.d(i,{default:()=>h});var s=t(96540),a=t(23533),r=t(18182),o=t(33795);const n="KkjTCNFeyJblwTH4ZFFo";class d extends s.Component{audioGainNode=null;canvas=s.createRef();frameId=null;visualizer=null;componentDidMount(){try{this.visualizer=a.A.createVisualizer(this.props.audioSourceNode.context,this.canvas.current,{width:this.props.width,height:this.props.height}),this.visualizer.loadExtraImages(o.A)}catch(e){return void this.props.onError(e.message)}const e=r.A[this.props.presetKey];e&&this.visualizer.loadPreset(e,0),this.updateAudioSource(),this.updatePlaying()}componentDidUpdate(e){const{props:i}=this;i.audioSourceNode!==e.audioSourceNode&&this.updateAudioSource(),i.isPlaying!==e.isPlaying&&this.updatePlaying(),i.width===e.width&&i.height===e.height||this.visualizer.setRendererSize(i.width,i.height),i.presetKey!==e.presetKey&&this.visualizer.loadPreset(r.A[i.presetKey],1),this.audioGainNode&&i.sensitivity!==e.sensitivity&&this.audioGainNode.gain.setValueAtTime(i.sensitivity,this.audioGainNode.context.currentTime)}componentWillUnmount(){cancelAnimationFrame(this.frameId),this.frameId=null}render(){const{width:e,height:i}=this.props;return s.createElement("div",{style:{width:e,height:i},className:n},s.createElement("canvas",{width:e,height:i,ref:this.canvas}))}updateAudioSource=()=>{this.audioGainNode=this.props.audioSourceNode.context.createGain(),this.props.audioSourceNode.connect(this.audioGainNode),this.visualizer.connectAudio(this.audioGainNode)};updatePlaying=()=>{this.props.isPlaying&&!this.frameId?this.renderVisualizerFrame():(cancelAnimationFrame(this.frameId),this.frameId=null)};renderVisualizerFrame=()=>{this.frameId=requestAnimationFrame(this.renderVisualizerFrame),this.visualizer.render()}}const h=d}}]);
@@ -133,6 +133,69 @@
133
133
  align-items: center;
134
134
  justify-content: center;
135
135
  flex-direction: column;
136
+
137
+ --color-pink: hsl(var(--hue-pink), 62%, 57%);
138
+ --color-blue: hsl(var(--hue-blue), 90%, 50%);
139
+ --color-pink-glow: hsla(var(--hue-pink), 62%, 57%, 0.8);
140
+ --color-blue-glow: hsla(var(--hue-blue), 90%, 50%, 0.8);
141
+ }
142
+
143
+ .bHA4DaGm54xZUQxZdLXR {
144
+ cursor: pointer;
145
+ background: transparent;
146
+ border: 0;
147
+
148
+ &:focus-visible {
149
+ outline: var(--focus-outline);
150
+ }
151
+
152
+ svg {
153
+ width: 33vh;
154
+ height: 33vh;
155
+ fill: url(#play-icon-gradient);
156
+ animation: xaTlapXLf3byX5sk0W6R 6s infinite;
157
+ will-change: filter;
158
+
159
+ path {
160
+ fill: url(#play-icon-gradient);
161
+ }
162
+ }
163
+ }
164
+
165
+ .goAlmmz6jtor51Fz3dQ9 {
166
+ --color-start: var(--color-pink);
167
+ --color-end: var(--color-blue);
168
+ animation: nQMCvBUgU2jqmRFR5KY5 4s infinite;
169
+ }
170
+
171
+ .I9MQO9OCDtlFwi4b5Xh4 {
172
+ --color-start: var(--color-blue);
173
+ --color-end: var(--color-pink);
174
+ animation: nQMCvBUgU2jqmRFR5KY5 7s infinite;
175
+ }
176
+
177
+ @keyframes nQMCvBUgU2jqmRFR5KY5 {
178
+
179
+ 0%,
180
+ 100% {
181
+ stop-color: var(--color-start);
182
+ }
183
+
184
+ 50% {
185
+ stop-color: var(--color-end);
186
+ }
187
+ }
188
+
189
+ @keyframes xaTlapXLf3byX5sk0W6R {
190
+
191
+ 0%,
192
+ 100% {
193
+ filter: var(--drop-shadow-filter) drop-shadow(0 0 10px var(--color-pink-glow));
194
+ }
195
+
196
+ 50% {
197
+ filter: var(--drop-shadow-filter) drop-shadow(0 0 20px var(--color-blue-glow));
198
+ }
136
199
  }
137
200
 
138
201
  .FQpKtHbs3r0MzUvNPO_A {
@@ -148,7 +211,6 @@
148
211
  backdrop-filter: saturate(50%) blur(20px);
149
212
  }
150
213
  }
151
-
152
214
  .KNbu9kyIDEFZeDNrryKF {
153
215
  position: absolute;
154
216
  bottom: 3vh;
@@ -0,0 +1 @@
1
+ /*! See licenses in licenses.txt */"use strict";(self.webpackChunkkaraoke_eternal=self.webpackChunkkaraoke_eternal||[]).push([[958],{13958(e,t,s){s.r(t),s.d(t,{default:()=>Be});var i=s(96540),a=s(45041),r=s(37655),n=s(76140),o=s(15452),d=s(44063);var l=s(42730);const u=(0,o.VP)(l.w1),h=(0,o.VP)(l.Tn),p=(0,o.VP)(l.vD),c=(0,o.VP)(l.D2),m=(0,o.VP)(l.tg),y=(0,o.VP)(l.EA),g=(0,o.VP)(l._P),E=(0,o.VP)(l.Nt),v=(0,o.VP)(l.Sz),f=(0,o.VP)(l.A2);function b(){return e=>{e({type:d.bO,payload:{type:l.zF}}),e({type:l.if})}}const P={cdgAlpha:.5,cdgSize:.65,errorMessage:"",historyJSON:"[]",isAtQueueEnd:!1,isErrored:!1,isPlaying:!1,isVideoKeyingEnabled:!1,isWebGLSupported:function(){try{return!!window.WebGLRenderingContext&&!!document.createElement("canvas").getContext("webgl2")}catch{return!1}}(),mediaType:null,mp4Alpha:.5,nextUserId:null,position:0,queueId:-1,rgTrackGain:null,rgTrackPeak:null,volume:1,_isFetching:!1,_isPlayingNext:!1,_isReplayingQueueId:null,_lastReplayTime:0},S=(0,o.vy)(P,e=>{e.addCase(m,e=>{e._isPlayingNext=!0}).addCase(f,(e,{payload:t})=>({...e,cdgAlpha:"number"==typeof t.cdgAlpha?t.cdgAlpha:e.cdgAlpha,cdgSize:"number"==typeof t.cdgSize?t.cdgSize:e.cdgSize,mp4Alpha:"number"==typeof t.mp4Alpha?t.mp4Alpha:e.mp4Alpha})).addCase(y,e=>{e.isPlaying=!1}).addCase(g,e=>{e.isPlaying=!0}).addCase(E,(e,{payload:t})=>{e._isReplayingQueueId=t.queueId,e._lastReplayTime=Date.now()}).addCase(v,(e,{payload:t})=>{e.volume=t}).addCase(h,(e,{payload:t})=>({...e,errorMessage:t,isErrored:!0,isPlaying:!1,_isFetching:!1})).addCase(p,e=>({...e,errorMessage:"",isErrored:!1,_isFetching:!0})).addCase(c,e=>{e._isFetching=!1}).addCase(u,(e,{payload:t})=>({...e,...t}))}),C=(0,o.VP)(l.fD);var A=s(18182);const I=["Flexi + Martin - astral projection","Rovastar & Loadus + Zylot - FractalDrop (Spark Machine v2.0)"],x=Object.keys(A.A).filter(e=>!I.includes(e)),N=e=>({presetKey:x[e],presetName:`[${e+1}/${x.length}] `+x[e]}),T=()=>N(Math.floor(Math.random()*(x.length-1))),w=(0,o.VP)(l.A2),k=(0,o.VP)(l.vD),G=(0,o.VP)(l.Qp),R={isEnabled:!0,isSupported:!0,...T(),sensitivity:1},F=(0,o.vy)(R,e=>{e.addCase(k,e=>({...e,...T()})).addCase(w,(e,{payload:t})=>{const{visualizer:s}=t;if("object"!=typeof s)return e;let i={};if(s.nextPreset||s.prevPreset){const t=x.indexOf(e.presetKey),a=t===x.length-1?0:t+1,r=0===t?x.length-1:t-1;i=N(s.nextPreset?a:s.prevPreset?r:t)}else s.randomPreset&&(i=T());return{...e,...i,isEnabled:"boolean"==typeof s.isEnabled?s.isEnabled:e.isEnabled,sensitivity:"number"==typeof s.sensitivity?s.sensitivity:e.sensitivity}}).addCase(G,e=>{e.isSupported=!1})});var D=s(58168),K=s(11445),z=s(77170);const V="TPkYtEozIQtnpepk8MHq",M="tn97LaCi4L2RekBwCyAM",U="FouT3gwlMtqtJx_j19T_",q=new z.A("media"),B=parseInt(getComputedStyle(document.body).getPropertyValue("--border-radius"));class O extends i.Component{audio=i.createRef();canvas=i.createRef();canvasCtx=null;cdg=null;frameId=null;lastBitmap=null;supportsFilters=CSS.supports("backdrop-filter","blur(10px) brightness(100%) saturate(100%)")||CSS.supports("-webkit-backdrop-filter","blur(10px) brightness(100%) saturate(100%)");state={backgroundRGBA:[0,0,0,0],contentBounds:[0,0,0,0]};componentDidMount(){this.canvasCtx=this.canvas.current.getContext("2d"),this.props.onAudioElement(this.audio.current),this.updateSources()}componentDidUpdate(e){e.mediaKey===this.props.mediaKey?e.mediaReplayKey===this.props.mediaReplayKey?(e.isPlaying!==this.props.isPlaying&&this.updateIsPlaying(),e.width===this.props.width&&e.height===this.props.height&&e.cdgSize===this.props.cdgSize||this.lastBitmap&&this.paintCDG(this.lastBitmap)):this.audio.current.currentTime=0:this.updateSources()}componentWillUnmount(){this.stopCDG()}render(){const{cdgAlpha:e,cdgSize:t,width:s,height:a}=this.props,[r,n,o,d]=this.state.contentBounds,[l,u,h]=this.state.backgroundRGBA,p=[],c=(s-20)/300,m=(a-20)*t/216,y=Math.min(c,m),g=o-r&&d-n?10:0;return this.supportsFilters&&(p.push(`blur(${30*e*y}px)`),p.push(`brightness(${100-100*e**3}%)`),p.push(`saturate(${100-100*e**3}%)`)),i.createElement("div",{className:V},i.createElement("div",{className:M,style:{backdropFilter:this.supportsFilters&&1!==e?p.join(" "):"none",backgroundColor:this.supportsFilters&&1!==e?"transparent":`rgba(${l},${u},${h},${e})`,borderRadius:B*y,left:(r-g)*y,top:(n-g)*y,width:(o-r+2*g)*y,height:(d-n+2*g)*y}}),i.createElement("canvas",{ref:this.canvas,className:U,width:300*y,height:216*y}),i.createElement("br",null),i.createElement("audio",{preload:"auto",onCanPlayThrough:this.updateIsPlaying,onEnded:this.handleEnded,onError:this.handleError,onLoadStart:this.props.onLoad,onPlay:this.handlePlay,onTimeUpdate:this.handleTimeUpdate,ref:this.audio}))}updateSources=async()=>{this.stopCDG();try{const e=await q.get(`/${this.props.mediaId}?type=cdg`);if(!(e instanceof Response))return;const t=await e.arrayBuffer();if(!this.audio.current)return;return this.cdg=new K.A(t),this.audio.current.src=`${document.baseURI}api/media/${this.props.mediaId}?type=audio`,void this.audio.current.load()}catch(e){this.props.onError(e.message)}};updateIsPlaying=()=>{this.audio.current&&(this.props.isPlaying?this.audio.current.play().catch(e=>this.props.onError(e.message)):(this.audio.current.pause(),this.stopCDG()))};handleEnded=()=>{this.props.onEnd(),this.stopCDG()};handleError=e=>{const{message:t,code:s}=e.currentTarget.error;this.props.onError(`${t} (code ${s})`)};handlePlay=()=>{this.props.onPlay(),this.startCDG()};handleTimeUpdate=()=>{this.audio.current&&this.props.onStatus({position:this.audio.current.currentTime})};paintCDG=e=>{const{clientWidth:t,clientHeight:s}=this.canvas.current;this.canvasCtx.imageSmoothingEnabled=!1,this.canvasCtx.shadowBlur=Math.min(16,s*this.props.cdgSize*.0333),this.canvasCtx.shadowColor="rgba(0,0,0,1)",this.canvasCtx.clearRect(0,0,t,s),this.canvasCtx.drawImage(e,0,0,t,s)};startCDG=()=>{if(this.frameId=requestAnimationFrame(this.startCDG),!this.audio.current)return;const e=this.cdg.render(this.audio.current.currentTime,{forceKey:!0});e.isChanged&&(e.backgroundRGBA.every((e,t)=>e===this.state.backgroundRGBA[t])||this.setState({backgroundRGBA:e.backgroundRGBA}),e.contentBounds.every((e,t)=>e===this.state.contentBounds[t])||this.setState({contentBounds:e.contentBounds}),createImageBitmap(e.imageData).then(e=>{this.lastBitmap=e,this.paintCDG(e)}).catch(e=>this.props.onError(e.message)))};stopCDG=()=>cancelAnimationFrame(this.frameId)}const _=O,Q="TiuVvEm0pQ4MG4FeoS2h",$="TyOBt_sxbH8gygrTwSB1",L="kzoCOS31nDS6f5pm2GWF",W="zCLVuxOKMU3YP7R5BUFg";class H extends i.Component{video=i.createRef();componentDidMount(){this.props.onAudioElement(this.video.current),this.updateSources()}componentDidUpdate(e){e.mediaKey===this.props.mediaKey?e.mediaReplayKey===this.props.mediaReplayKey?e.isPlaying!==this.props.isPlaying&&this.updateIsPlaying():this.video.current.currentTime=0:this.updateSources()}render(){const{width:e,height:t}=this.props;return i.createElement("video",{className:W,preload:"auto",width:e,height:t,onCanPlayThrough:this.updateIsPlaying,onEnded:this.props.onEnd,onError:this.handleError,onLoadStart:this.props.onLoad,onPlay:this.handlePlay,onTimeUpdate:this.handleTimeUpdate,ref:this.video})}updateSources=()=>{this.video.current&&(this.video.current.src=`${document.baseURI}api/media/${this.props.mediaId}?type=video`,this.video.current.load())};updateIsPlaying=()=>{this.video.current&&(this.props.isPlaying?this.video.current.play().catch(e=>this.props.onError(e.message)):this.video.current.pause())};handleError=()=>{const{message:e,code:t}=this.video.current.error;this.props.onError(`${e} (code ${t})`)};handlePlay=()=>this.props.onPlay();handleTimeUpdate=()=>{this.video.current&&this.props.onStatus({position:this.video.current.currentTime})}}const j=H;var J=s(1113);const Z=parseInt(getComputedStyle(document.body).getPropertyValue("--border-radius"));class Y extends i.Component{canvas=i.createRef();frameId=null;video=document.createElement("video");supportsFilters=CSS.supports("backdrop-filter","blur(10px) brightness(100%) saturate(100%)")||CSS.supports("-webkit-backdrop-filter","blur(10px) brightness(100%) saturate(100%)");state={contentBounds:[0,0,0,0],videoWidth:0,videoHeight:0};componentDidMount(){this.props.onAudioElement(this.video),this.video.oncanplaythrough=this.updateIsPlaying,this.video.onended=this.handleEnded,this.video.onerror=this.handleError,this.video.onloadstart=this.props.onLoad,this.video.onloadedmetadata=this.handleLoadedMetadata,this.video.onplay=this.handlePlay,this.video.ontimeupdate=this.handleTimeUpdate,this.video.preload="auto",this.canvas.current&&(this.chroma=new J.A(this.video,this.canvas.current),this.chroma.key({color:"auto"})),this.updateSources()}componentDidUpdate(e){if(e.mediaKey===this.props.mediaKey)if(e.mediaReplayKey===this.props.mediaReplayKey){if(e.isPlaying!==this.props.isPlaying&&this.updateIsPlaying(),!this.props.isPlaying&&(e.width!==this.props.width||e.height!==this.props.height||e.mp4Alpha!==this.props.mp4Alpha)){const e=this.chroma.render({passthrough:1===this.props.mp4Alpha}).getContentBounds();e.every((e,t)=>e===this.state.contentBounds[t])||this.setState({contentBounds:e})}}else this.video.currentTime=0;else this.updateSources()}componentWillUnmount(){this.video.ontimeupdate=null,this.video.pause(),this.stopChroma(),this.chroma.unload(),this.video.removeAttribute("src"),this.video.load()}render(){const{mp4Alpha:e,width:t,height:s}=this.props,a=t/s,r=this.state.videoWidth/this.state.videoHeight,n=isNaN(r)?0:a>r?s/this.state.videoHeight:t/this.state.videoWidth,o=[],[d,l,u,h]=this.state.contentBounds,p=u-d&&h-l?10*n:0;return this.supportsFilters&&(o.push(`blur(${30*e*n}px)`),o.push(`brightness(${100-100*e**3}%)`),o.push(`saturate(${100-100*e**3}%)`)),i.createElement("div",{className:Q},i.createElement("div",{className:$,style:{backdropFilter:this.supportsFilters&&1!==e?o.join(" "):"none",borderRadius:Z*n,left:d-p,top:l-p,width:u-d+2*p,height:h-l+2*p}}),i.createElement("canvas",{className:L,width:this.state.videoWidth*n,height:this.state.videoHeight*n,ref:this.canvas}))}handleLoadedMetadata=()=>{this.setState({videoWidth:this.video.videoWidth,videoHeight:this.video.videoHeight})};updateSources=()=>{this.stopChroma(),this.video.src=`${document.baseURI}api/media/${this.props.mediaId}?type=video`,this.video.load()};updateIsPlaying=()=>{this.props.isPlaying?this.video.play().catch(e=>this.props.onError(e.message)):(this.video.pause(),this.stopChroma())};startChroma=()=>{this.frameId=requestAnimationFrame(this.startChroma);const e=this.chroma.render({passthrough:1===this.props.mp4Alpha}).getContentBounds();e.every((e,t)=>e===this.state.contentBounds[t])||this.setState({contentBounds:e})};stopChroma=()=>cancelAnimationFrame(this.frameId);handleEnded=()=>{this.props.onEnd(),this.stopChroma()};handleError=()=>{const{message:e,code:t}=this.video.error;this.props.onError(`${e} (code ${t})`)};handlePlay=()=>{this.props.onPlay(),this.startChroma()};handleTimeUpdate=()=>{this.props.onStatus({position:this.video.currentTime})}}const X=Y,ee=i.lazy(()=>Promise.all([s.e(715),s.e(851)]).then(s.bind(s,9851)));class te extends i.Component{audioCtx=null;audioGainNode=null;audioSourceNode=null;isFetching=!1;state={visualizerAudioSourceNode:null};componentDidMount(){this.audioCtx||(this.audioCtx=new(window.AudioContext||window.webkitAudioContext),this.audioGainNode=this.audioCtx.createGain()),this.updateVolume()}componentDidUpdate(e){this.props.isPlaying&&!e.isPlaying&&this.audioCtx?.resume(),this.props.mediaKey!==e.mediaKey&&(this.isFetching=!0),this.isFetching||e.volume===this.props.volume&&e.rgTrackGain===this.props.rgTrackGain&&e.rgTrackPeak===this.props.rgTrackPeak&&e.isReplayGainEnabled===this.props.isReplayGainEnabled||this.updateVolume()}handleAudioElement=e=>{if(!this.audioCtx||this.audioSourceNode&&this.audioSourceNode.mediaElement===e)return;this.audioSourceNode=this.audioCtx.createMediaElementSource(e),this.audioSourceNode.connect(this.audioGainNode),this.audioGainNode.connect(this.audioCtx.destination);const t=this.audioSourceNode;this.setState({visualizerAudioSourceNode:t})};handlePlay=()=>{this.isFetching=!1,this.updateVolume(),this.props.onPlay()};updateVolume=()=>{let e=this.props.volume;const{isReplayGainEnabled:t,rgTrackGain:s,rgTrackPeak:i}=this.props;if(t&&"number"==typeof s&&"number"==typeof i){const t=this.props.rgTrackGain,s=20*Math.log10(this.props.rgTrackPeak),i=t+s>=0?-.01-s:t;e*=Math.pow(10,i/20)}this.audioCtx&&this.audioGainNode&&this.audioGainNode.gain.setValueAtTime(e,this.audioCtx.currentTime)};render(){if(!this.props.isVisible||"number"!=typeof this.props.mediaId)return null;let e;if("cdg"===this.props.mediaType?e=_:"mp4"===this.props.mediaType&&(e=this.props.isVideoKeyingEnabled?X:j),void 0===e)return this.props.onError(`No player for mediaType: ${this.props.mediaType}`),null;const t=("cdg"===this.props.mediaType||this.props.isVideoKeyingEnabled)&&this.props.isWebGLSupported&&this.props.visualizer.isEnabled&&this.state.visualizerAudioSourceNode;return i.createElement(i.Fragment,null,i.createElement(e,(0,D.A)({},this.props,{onAudioElement:this.handleAudioElement,onPlay:this.handlePlay})),t&&i.createElement(ee,{audioSourceNode:this.state.visualizerAudioSourceNode,isPlaying:this.props.isPlaying,onError:this.props.onError,presetKey:this.props.visualizer.presetKey,sensitivity:this.props.visualizer.sensitivity,width:this.props.width,height:this.props.height}))}}const se=te;var ie=s(88146),ae=s(34164);const re="wfATTZ4_j6b_TY69Ic18",ne="rSYTHnGgZWylvF2FCmo6";class oe extends i.Component{shouldComponentUpdate(e){return e.text!==this.props.text}render(){const e=this.props.offset||-300*Math.random(),t=this.props.text.split("").map((t,s)=>{const a=33*(s-this.props.text.length+e);return i.createElement("span",{key:this.props.text+s,className:ne,style:{animationDelay:`${a}ms`}},t)});return i.createElement("div",{className:(0,ae.A)(re,this.props.className)},t)}}const de=oe;var le=s(51009),ue=s(5668);const he="ztWniIznPl6ywm0j65nW",pe="T5fdoZnFMIASoNGkWTyQ",ce="bGuftvpRla3cVmG6JC6K",me="xTKaKb5T6fSjh0UvN9Pr",ye="XcvWHmE5QoiGaPRF9yHb",ge="N_kMqAEJY9q1nZBGsVUL",Ee="Q2KBXSyDS_61hMQff6Zp",ve=({queueItem:e})=>{const[t,s]=(0,i.useState)(!1),a=(0,i.useRef)(null),r=(0,i.useRef)(null),n=()=>{a.current&&clearTimeout(a.current),s(!0),a.current=setTimeout(()=>{s(!1)},5e3)};return(0,i.useEffect)(()=>(n(),()=>{a.current&&clearTimeout(a.current)}),[]),(0,i.useEffect)(()=>(n(),()=>{a.current&&clearTimeout(a.current)}),[e.queueId]),i.createElement(le.A,{nodeRef:r,in:t,timeout:500,classNames:{enterActive:ce,enterDone:me,exitActive:ye}},i.createElement("div",{ref:r,className:he,translate:"no"},i.createElement("div",{className:pe},i.createElement(ue.A,{userId:e.userId,dateUpdated:e.userDateUpdated,className:Ee}),i.createElement("div",{className:ge},e.userDisplayName))))};var fe=s(80519);const be="KR1xPhhGxBDKGqbw_jFu",Pe="bHA4DaGm54xZUQxZdLXR",Se="goAlmmz6jtor51Fz3dQ9",Ce="I9MQO9OCDtlFwi4b5Xh4",Ae="FQpKtHbs3r0MzUvNPO_A",Ie=({isQueueEmpty:e,isAtQueueEnd:t,isErrored:s,nextQueueItem:a,queueItem:r,width:o,height:d})=>{const l=(0,n.j)(),u=(0,i.useCallback)(()=>l((0,ie.cd)()),[l]);let h;if(e||t&&!a)h=i.createElement(de,{text:"CAN HAZ MOAR SONGZ?",className:Ae});else if(!r||t&&a)h=i.createElement(i.Fragment,null,i.createElement("svg",{width:"0",height:"0",style:{position:"absolute"}},i.createElement("defs",null,i.createElement("linearGradient",{id:"play-icon-gradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},i.createElement("stop",{offset:"0%",className:Se}),i.createElement("stop",{offset:"100%",className:Ce})))),i.createElement("button",{className:Pe,onClick:u,"aria-label":"Play"},i.createElement(fe.A,{icon:"PLAY"})));else if(s){const e=-300*Math.random();h=i.createElement(i.Fragment,null,i.createElement(de,{text:"OOPS...",offset:e,className:Ae}),i.createElement(de,{text:"SEE QUEUE FOR DETAILS",offset:e,className:Ae}))}else h=i.createElement(ve,{queueItem:r});return i.createElement("div",{style:{width:o,height:d},className:be},h)},xe=i.memo(Ie);var Ne=s(76028);const Te="KNbu9kyIDEFZeDNrryKF",we="MM1M0wHif8TunIa_00JS",ke="N9nWI9_a9r9Urmsxb0M6",Ge="TjEsnhnwVcWDHhhlRs4B",Re=({height:e,prefs:t,queueItem:s})=>{const a=(0,i.useRef)(null),r=(0,i.useRef)(null),o=(0,i.useRef)(Date.now()),[d,l]=(0,i.useState)(!0),[u,h]=(0,i.useState)(!1),{isPlaying:p}=(0,n.G)(e=>e.player),{roomId:c}=(0,n.G)(e=>e.user),m=(0,i.useCallback)(()=>{if(r.current&&(clearTimeout(r.current),r.current=null),p)return;const e=Date.now()-o.current,t=Math.max(18e4-e,0);r.current=setTimeout(()=>{l(!1)},t)},[p]);(0,i.useEffect)(()=>(m(),()=>{r.current&&clearTimeout(r.current)}),[p,m]),(0,i.useEffect)(()=>{Date.now()-o.current>1e4&&l(!1)},[s?.queueId]);const y=(0,i.useCallback)(()=>{d||(h(e=>!e),l(!0),o.current=Date.now(),m())},[d,m]),g=(0,i.useMemo)(()=>{const e=new URL(window.location.href);return e.pathname=e.pathname.replace(/\/player$/,""),e.searchParams.append("roomId",String(c)),t.password&&e.searchParams.append("password",btoa(t.password)),e},[c,t.password]),E=Math.round(e*(.05+(t.size??.5)/5)),v=5+10*(t.size??.5);return i.createElement(le.A,{in:d,nodeRef:a,classNames:{enterActive:ke,exitActive:Ge},addEndListener:e=>{const t=a.current;if(!t)return;const s=i=>{i.target===t&&(t.removeEventListener("transitionend",s),e(),y())};t.addEventListener("transitionend",s,!1)}},i.createElement("div",{className:(0,ae.A)(Te,u&&we),ref:a},i.createElement(Ne.r,{value:g.href,ecLevel:"L",size:E,quietZone:v,style:{opacity:t.opacity??.625},logoImage:`${document.baseURI}assets/app.png`,logoWidth:.5*E,logoHeight:.5*E,logoOpacity:.5,qrStyle:"dots"})))};var Fe=s(32509),De=s(25508);const Ke={qr:{isEnabled:!1,opacity:.625,password:"",size:.5}},ze=(0,De.Mz)([e=>e.user.roomId,e=>e.rooms.entities],(e,t)=>"number"==typeof e&&t[e]&&t[e].prefs?t[e]?.prefs:Ke),Ve=ze,Me=e=>{const t=(0,n.G)(Fe.A),s=(0,n.G)(e=>e.player),a=(0,n.G)(e=>e.playerVisualizer),r=(0,n.G)(e=>e.prefs),o=(0,n.G)(Ve),d=t.entities[s.queueId],m=t.entities[t.result[t.result.indexOf(s.queueId)+1]],y=(0,n.j)(),g=(0,i.useCallback)(e=>y(function(e={},t=!1){return(s,i)=>{const{player:a,playerVisualizer:r}=i();s(u(e));const n=Object.fromEntries(Object.entries({...a,...e}).filter(([e])=>!e.startsWith("_")));s({type:l.zF,payload:{...n,visualizer:r},meta:{throttle:{wait:1e3,leading:!t}}})}}(e)),[y]),E=(0,i.useCallback)(()=>y(p()),[y]),v=(0,i.useCallback)(()=>y(c()),[y]),f=(0,i.useCallback)(e=>{y(h(e)),g()},[y,g]),P=(0,i.useCallback)(e=>{const i=t.entities[e];if(!i)return;const a=JSON.parse(s.historyJSON);if(e!==s.queueId){const t=a.lastIndexOf(e);-1!==t&&a.splice(t)}g({historyJSON:JSON.stringify(a),isAtQueueEnd:!1,isPlaying:!0,isVideoKeyingEnabled:i.isVideoKeyingEnabled,mediaType:i.mediaType,position:0,queueId:i.queueId,nextUserId:null,_isReplayingQueueId:null})},[g,s.queueId,s.historyJSON,t.entities]),S=(0,i.useCallback)(()=>{const e=JSON.parse(s.historyJSON);d&&-1===e.lastIndexOf(d.queueId)&&e.push(d.queueId),g(m?{historyJSON:JSON.stringify(e),isAtQueueEnd:!1,isPlaying:!0,isVideoKeyingEnabled:m.isVideoKeyingEnabled,mediaType:m.mediaType,position:0,queueId:m.queueId,nextUserId:null,_isPlayingNext:!1}:{historyJSON:JSON.stringify(e),isAtQueueEnd:!0,mediaType:null,_isPlayingNext:!1})},[g,m,s.historyJSON,d]);return(0,i.useEffect)(()=>{if(!s.nextUserId||d?.userId===m?.userId)for(let e=t.result.indexOf(d?.queueId)+1;e<t.result.length;e++)if(d?.userId!==t.entities[t.result[e]].userId)return void g({nextUserId:t.entities[t.result[e]].userId})},[g,m,s.nextUserId,t,d]),(0,i.useEffect)(()=>g({isVideoKeyingEnabled:d?.isVideoKeyingEnabled}),[g,s.cdgAlpha,s.cdgSize,s.isPlaying,s.mp4Alpha,s.volume,a,d?.isVideoKeyingEnabled]),(0,i.useEffect)(()=>()=>y(b()),[y]),(0,i.useEffect)(()=>{(s.isPlaying&&-1===s.queueId||s._isPlayingNext)&&S()},[S,s.isPlaying,s.queueId,s._isPlayingNext]),(0,i.useEffect)(()=>{null!==s._isReplayingQueueId&&P(s._isReplayingQueueId)},[P,s._isReplayingQueueId]),(0,i.useEffect)(()=>{s.isAtQueueEnd&&m&&s.isPlaying&&S()},[S,s.isPlaying,s.isAtQueueEnd,m]),(0,i.useEffect)(()=>{s.isErrored&&s.isPlaying&&g({isErrored:!1})},[g,s.isErrored,s.isPlaying]),i.createElement(i.Fragment,null,i.createElement(se,{cdgAlpha:s.cdgAlpha,cdgSize:s.cdgSize,isPlaying:s.isPlaying,isVisible:!!d&&!s.isErrored&&!s.isAtQueueEnd,isReplayGainEnabled:r.isReplayGainEnabled,isVideoKeyingEnabled:!!d?.isVideoKeyingEnabled,isWebGLSupported:s.isWebGLSupported,mediaId:d?d.mediaId:null,mediaKey:d?d.queueId:null,mediaReplayKey:s._lastReplayTime,mediaType:d?d.mediaType:null,mp4Alpha:s.mp4Alpha,onEnd:S,onError:f,onLoad:E,onPlay:v,onStatus:g,rgTrackGain:d?d.rgTrackGain:null,rgTrackPeak:d?d.rgTrackPeak:null,visualizer:a,volume:s.volume,width:e.width,height:e.height}),i.createElement(xe,{queueItem:d,nextQueueItem:m,isAtQueueEnd:s.isAtQueueEnd,isQueueEmpty:!t.result.length,isErrored:s.isErrored,width:e.width,height:e.height}),o?.qr?.isEnabled&&i.createElement(Re,{height:e.height,prefs:o.qr,queueItem:d}))};var Ue=s(80470);const qe="gdWFZNJZjyDozcxHMCpw",Be=()=>{const{innerWidth:e,innerHeight:t,headerHeight:s,footerHeight:o}=(0,n.G)(e=>e.ui),d=t-s-o,l=(0,n.j)();return(0,n.G)(e=>e.player)||(r.A.inject({reducerPath:"player",reducer:S}),r.A.inject({reducerPath:"playerVisualizer",reducer:F}),l(C())),(0,i.useEffect)(()=>{l((0,Ue.x1)())},[l]),(0,i.useEffect)(()=>{document.title="Karaoke Eternal | Player"},[]),i.createElement("div",{style:{overflow:"hidden"}},i.createElement("div",{id:"player-fs-container",className:qe,style:{top:a.A.isFullscreen?0:s,width:e,height:a.A.isFullscreen?t:d,overflow:"hidden"}},i.createElement(Me,{width:e,height:a.A.isFullscreen?t:d})))}}}]);
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><title>Karaoke Eternal</title><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"><base href="/"><script defer="defer" src="718.83b0127845c2fa8729fe.js"></script><script defer="defer" src="main.83b0127845c2fa8729fe.js"></script><link href="main.83b0127845c2fa8729fe.css" rel="stylesheet"></head><body><div id="root" style="height: 100%"></div></body></html>
1
+ <!doctype html><html lang="en"><head><title>Karaoke Eternal</title><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"><base href="/"><script defer="defer" src="811.e01cd516d8fb126954e5.js"></script><script defer="defer" src="main.e01cd516d8fb126954e5.js"></script><link href="main.e01cd516d8fb126954e5.css" rel="stylesheet"></head><body><div id="root" style="height: 100%"></div></body></html>
@@ -778,33 +778,6 @@ SOFTWARE.
778
778
 
779
779
  *******************************************************************************
780
780
 
781
- react-router
782
- MIT License
783
-
784
- Copyright (c) React Training LLC 2015-2019
785
- Copyright (c) Remix Software Inc. 2020-2021
786
- Copyright (c) Shopify Inc. 2022-2023
787
-
788
- Permission is hereby granted, free of charge, to any person obtaining a copy
789
- of this software and associated documentation files (the "Software"), to deal
790
- in the Software without restriction, including without limitation the rights
791
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
792
- copies of the Software, and to permit persons to whom the Software is
793
- furnished to do so, subject to the following conditions:
794
-
795
- The above copyright notice and this permission notice shall be included in all
796
- copies or substantial portions of the Software.
797
-
798
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
799
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
800
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
801
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
802
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
803
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
804
- SOFTWARE.
805
-
806
- *******************************************************************************
807
-
808
781
  redux
809
782
  The MIT License (MIT)
810
783
 
@@ -995,6 +968,33 @@ SOFTWARE.
995
968
 
996
969
  *******************************************************************************
997
970
 
971
+ react-router
972
+ MIT License
973
+
974
+ Copyright (c) React Training LLC 2015-2019
975
+ Copyright (c) Remix Software Inc. 2020-2021
976
+ Copyright (c) Shopify Inc. 2022-2023
977
+
978
+ Permission is hereby granted, free of charge, to any person obtaining a copy
979
+ of this software and associated documentation files (the "Software"), to deal
980
+ in the Software without restriction, including without limitation the rights
981
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
982
+ copies of the Software, and to permit persons to whom the Software is
983
+ furnished to do so, subject to the following conditions:
984
+
985
+ The above copyright notice and this permission notice shall be included in all
986
+ copies or substantial portions of the Software.
987
+
988
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
989
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
990
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
991
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
992
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
993
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
994
+ SOFTWARE.
995
+
996
+ *******************************************************************************
997
+
998
998
  @babel/runtime
999
999
  MIT License
1000
1000
 
@@ -269,12 +269,12 @@ summary {
269
269
  --btn-bg-color: hsl(var(--hue-blue), 40%, 30%);
270
270
  --btn-active-bg-color: var(--link-color);
271
271
  --btn-active-filter: drop-shadow(0 0 10px hsla(var(--hue-blue), 100%, 100%, .5));
272
- --btn-activate-filter: drop-shadow(-.25rem 0 .75rem hsl(var(--hue-blue), 80%, 50%)) drop-shadow(.25rem 0 .75rem hsl(var(--hue-blue), 80%, 50%)) drop-shadow(0 0 1rem hsl(var(--hue-blue), 80%, 50%));
272
+ --btn-activate-filter: drop-shadow(-.25rem 0 .75rem hsl(var(--hue-blue), 80%, 50%)) drop-shadow(.25rem 0 .75rem hsl(var(--hue-blue), 80%, 50%)) drop-shadow(0 0 1rem hsla(var(--hue-blue), 80%, 50%, 0.5));
273
273
 
274
274
  --btn-danger-bg-color: hsl(var(--hue-pink), 60%, 57%);
275
275
  --btn-danger-filter: drop-shadow(0 0 10px hsla(var(--hue-pink), 100%, 100%, .5));
276
276
  --btn-danger-activate-filter:
277
- drop-shadow(-5px 0 10px hsl(var(--hue-pink), 80%, 70%)) drop-shadow(5px 0 10px hsl(var(--hue-pink), 80%, 70%)) drop-shadow(0 0 10px hsl(var(--hue-pink), 80%, 70%));
277
+ drop-shadow(-5px 0 10px hsl(var(--hue-pink), 80%, 70%)) drop-shadow(5px 0 10px hsl(var(--hue-pink), 80%, 70%)) drop-shadow(0 0 10px hsla(var(--hue-pink), 80%, 70%, 0.5));
278
278
 
279
279
  /* UI chrome (header/footer) */
280
280
  --chrome-bg-color: hsla(var(--hue-blue), 100%, 5%, .8);
@@ -326,14 +326,14 @@ summary {
326
326
  --spring-duration: .5s;
327
327
  --spring-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
328
328
  --animation-text-shadow-glow: glow .25s ease-out;
329
- --animation-btn-danger-activate: btn-danger-activate .1s ease-out;
329
+ --animation-btn-danger-activate: btn-danger-activate 1s var(--activate-1);
330
330
  --text-shadow-glow: 0 0 .25em hsl(var(--hue-pink), 100%, 50%), 0 0 .5em hsl(var(--hue-pink), 100%, 50%);
331
331
 
332
332
  --animation-btn-star: starBounce .5s var(--bounce-1);
333
333
  --bounce-1: linear(0, 0.74 5.9%, 0.911 8.5%, 0.954 9.8%, 0.969 11.1%, 0.956 12.4%, 0.919 13.7%, 0.766 16.5%, -0.246 28.6%, -0.382 31.4%, -0.449 34.2%, -0.456 35.4%, -0.452 36.6%, -0.405 39.3%, 0.012 50.9%, 0.09 54.1%, 0.131 57.3%, 0.138 59.7%, 0.127 62.4%, 0.022 72.7%, -0.011 78.2%, -0.016 82.9%, 0);
334
334
 
335
- --animation-btn-activate: btn-activate 5s var(--activate-1);
336
- --activate-1: linear(0, 0.027 1%, 0.206 4.8%, 0.331 7.9%, 0.437 11%, 0.532 14.3%, 0.623 18.2%, 0.7 22.3%, 0.766 26.8%, 0.821 31.6%, 0.865 36.7%, 0.902 42.4%, 0.954 56%, 0.983 73.7%, 1);
335
+ --animation-btn-activate: btn-activate 1s var(--activate-1);
336
+ --activate-1: ease-out;
337
337
  }
338
338
 
339
339
  @keyframes starBounce {
@@ -376,7 +376,7 @@ summary {
376
376
  }
377
377
 
378
378
  to {
379
- filter: none;
379
+ filter: var(--btn-danger-filter);
380
380
  }
381
381
  }
382
382
  @font-face {
@@ -385,21 +385,6 @@ summary {
385
385
  font-weight: normal;
386
386
  src: url(a35814dd9eb496e3d7cc.woff2) format('woff2');
387
387
  }
388
-
389
- @font-face {
390
- font-family: 'Raleway';
391
- font-style: normal;
392
- font-weight: 200;
393
- src: url(e419b95dccb58b362811.woff2) format('woff2');
394
- }
395
-
396
- @font-face {
397
- font-family: 'Raleway';
398
- font-style: normal;
399
- font-weight: 700;
400
- src: url(7ce9eb3fe454f54745a4.woff2) format('woff2');
401
- }
402
-
403
388
  html {
404
389
  height: 100%;
405
390
  touch-action: manipulation;
@@ -569,11 +554,10 @@ mark {
569
554
  }
570
555
 
571
556
  .jvBgtBq5nhwhgFxDdohV {
572
- flex: 1;
573
- margin: 0;
574
- margin-left: -4px;
575
- border: none !important;
557
+ align-self: stretch;
558
+ padding: var(--space-xs) var(--space-s) var(--space-xs) var(--space-xs) !important;
576
559
  font-size: var(--font-size-m) !important;
560
+ line-height: normal;
577
561
  color: var(--text-color) !important;
578
562
  background-color: transparent !important;
579
563
  box-shadow: none !important;
@@ -595,8 +579,12 @@ mark {
595
579
  }
596
580
  }
597
581
 
598
- .zKCotnvYis3lj_IxNd42 svg {
599
- height: 2.75rem;
582
+ .zKCotnvYis3lj_IxNd42 {
583
+ margin-right: var(--space-s);
584
+
585
+ svg {
586
+ height: 3rem;
587
+ }
600
588
  }
601
589
  .DY6_kAr5khzv1QwqLveK {
602
590
  --track-height: 0.5rem;
@@ -930,11 +918,13 @@ mark {
930
918
  }
931
919
 
932
920
  .R0tWhGzOMnxRvplqamqt {
921
+ --progress-color: hsl(var(--hue-blue), 100%, 20%);
922
+
933
923
  display: flex;
934
924
  align-items: center;
935
925
  height: 40px;
936
926
  width: 100%;
937
- background-image: linear-gradient(to right, var(--active-item-from-bg-color), var(--active-item-from-bg-color));
927
+ background-image: linear-gradient(to right, var(--progress-color), var(--progress-color));
938
928
  background-repeat: no-repeat;
939
929
  }
940
930
 
@@ -948,10 +938,6 @@ mark {
948
938
  color: var(--text-color);
949
939
  }
950
940
 
951
- .L3KVVs498s_TTzMFHKn5 {
952
- cursor: pointer;
953
- }
954
-
955
941
  .iL_22Dl4fbuLsQo42o2o {
956
942
  color: var(--btn-danger-bg-color);
957
943
  filter: var(--btn-danger-filter);
@@ -977,8 +963,13 @@ mark {
977
963
  }
978
964
 
979
965
  @keyframes chycT2sgXRCUDLsKIkuK {
980
- 0% { background-color: var(--up-next-bg-color-to); }
981
- 100% { background-color: var(--up-next-bg-color-from); }
966
+ 0% {
967
+ background-color: var(--up-next-bg-color-to);
968
+ }
969
+
970
+ 100% {
971
+ background-color: var(--up-next-bg-color-from);
972
+ }
982
973
  }
983
974
 
984
975
  .C9WuYntlaEVvxRaewY7r {
@@ -987,8 +978,13 @@ mark {
987
978
  }
988
979
 
989
980
  @keyframes arEOr6pUTnFXinmiHz2o {
990
- 0% { background-color: var(--up-now-bg-color-to); }
991
- 100% { background-color: var(--up-now-bg-color-from); }
981
+ 0% {
982
+ background-color: var(--up-now-bg-color-to);
983
+ }
984
+
985
+ 100% {
986
+ background-color: var(--up-now-bg-color-from);
987
+ }
992
988
  }
993
989
 
994
990
  .pXcSEQ5RRGogLr2WCFum {
@@ -1048,7 +1044,7 @@ mark {
1048
1044
  }
1049
1045
 
1050
1046
  .bx9kUlhkDMmCKpxez9Kn {
1051
- animation: YlMykufEl9xVpOVVrlnC 5s var(--activate-1);
1047
+ animation: YlMykufEl9xVpOVVrlnC 1s var(--activate-1);
1052
1048
  }
1053
1049
 
1054
1050
  @keyframes YlMykufEl9xVpOVVrlnC {
@@ -1303,6 +1299,10 @@ mark {
1303
1299
  margin-right: 5px;
1304
1300
  }
1305
1301
 
1302
+ .ZKYWLeUdrki571OMgwqw.zMurrtazRZl6yxeeInn2 svg {
1303
+ color: #E3B341;
1304
+ }
1305
+
1306
1306
  .ZKYWLeUdrki571OMgwqw.z6j4SZzTbavwii_DBoa2 svg {
1307
1307
  color: #db61a2;
1308
1308
  }
@@ -1877,6 +1877,10 @@ mark {
1877
1877
  .oqSOn8U_QmqEzSvyfAw_ {
1878
1878
  color: var(--color-gray-5);
1879
1879
  }
1880
+
1881
+ .INKd0vI4DamezRZUfFHO {
1882
+ color: var(--color-gray-4);
1883
+ }
1880
1884
  }
1881
1885
 
1882
1886
  &._t4JBPFRguFbumW7x8D6 {
@@ -1903,11 +1907,13 @@ mark {
1903
1907
  }
1904
1908
 
1905
1909
  .z8K08MurHExDsFH50TjN {
1906
- cursor: pointer;
1907
1910
  flex: 1;
1911
+ align-self: stretch;
1912
+ align-content: center;
1908
1913
  overflow: hidden;
1909
1914
  white-space: nowrap;
1910
1915
  margin-left: 14px;
1916
+ cursor: pointer;
1911
1917
  }
1912
1918
 
1913
1919
  .oqSOn8U_QmqEzSvyfAw_ {
@@ -2217,7 +2223,6 @@ mark {
2217
2223
  .SUdDbZdeZwQPymCmhaMA {
2218
2224
  button {
2219
2225
  position: relative;
2220
- /* overflow: hidden; */
2221
2226
  width: var(--queue-item-btn-size);
2222
2227
  height: var(--queue-item-btn-size);
2223
2228
  color: var(--song-item-btn-bg-color);
@@ -2236,19 +2241,28 @@ mark {
2236
2241
  svg {
2237
2242
  width: var(--queue-item-btn-size);
2238
2243
  height: var(--queue-item-btn-size);
2244
+ position: absolute;
2245
+ top: 50%;
2246
+ left: 50%;
2247
+ transform: translate(-50%, -50%);
2248
+ pointer-events: none;
2239
2249
  }
2240
2250
  }
2241
2251
 
2242
2252
  .gh_SYElq5eTJHE5IZynP svg,
2243
- ._gt_BEXlOrYwzEmK6sQ8 svg,
2244
2253
  .ENoEOjlwEk0jBI45f4pk svg {
2245
- position: absolute;
2246
- top: 50%;
2247
- left: 50%;
2248
2254
  width: 60px;
2249
2255
  height: 60px;
2250
- transform: translate(-50%, -50%);
2251
- pointer-events: none;
2256
+ }
2257
+
2258
+ ._gt_BEXlOrYwzEmK6sQ8 svg {
2259
+ width: 56px;
2260
+ height: 56px;
2261
+ }
2262
+
2263
+ .sSOYgUUl_mJhj1uPzBFs svg {
2264
+ width: 52px;
2265
+ height: 52px;
2252
2266
  }
2253
2267
 
2254
2268
  .ZRVZZ_1kYEKO36fznW79 {