PageSourceSearch

https://scorefy.app/_next/static/chunks/app/datatv/[clubslug]/cronometro/page-e57e3020fe7deeb5.js

js scorefy.app collected 2026-10-02 00:29:43 UTC 9,752 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7512],{33833:function(e,t,n){Promise.resolve().then(n.bind(n,66585))},66585:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return l}});var a=n(57437),r=n(2265);let i=(0,r.forwardRef)(function(e,t){let{channelRef:n,goals:i,fouls:l,tvUrl:s,period:o}=e,[c,u]=(0,r.useState)({isRunning:!1,elapsedTime:0,startTime:0,pausedTime:0,initialTime:12e5}),[d,m]=(0,r.useState)("20:00.0"),[p,x]=(0,r.useState)(!1),[g,f]=(0,r.useState)("not-initialized"),[h,b]=(0,r.useState)(!1),T=(0,r.useRef)(null),y=(0,r.useRef)(null),v=(0,r.useRef)(),w=(0,r.useRef)(0),j=(0,r.useCallback)(e=>{let t=Math.floor(Math.max(0,c.initialTime-e));return"".concat(Math.floor(t/6e4).toString().padStart(2,"0"),":").concat(Math.floor(t%6e4/1e3).toString().padStart(2,"0"),".").concat(Math.floor(t%1e3/100))},[c.initialTime]),C=(0,r.useCallback)(function(e,t){let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(null==n?void 0:n.current){let u=Math.max(0,c.initialTime-c.elapsedTime);try{n.current.postMessage({type:a?"alarm":"update",payload:{displayTime:e,displayTimeMs:u,displayTimeSeconds:Math.floor(u/1e3),isRunning:t,timeUp:a,alarmPlayed:r,goals:i,fouls:l,tvUrl:s,period:o}})}catch(e){console.warn("Error enviando mensaje por BroadcastChannel:",e)}}},[n,i,l,s,o,c.initialTime,c.elapsedTime]),A=(0,r.useCallback)(()=>{if(null==n?void 0:n.current){let e=Math.floor(c.initialTime/1e3),t={type:"reset",payload:{displayTime:j(0),displayTimeMs:c.initialTime,displayTimeSeconds:e,isRunning:!1,timeUp:!1,alarmPlayed:!1,goals:i,fouls:l,tvUrl:s,period:o}};try{n.current.postMessage(t)}catch(e){console.warn("Error enviando reset por BroadcastChannel:",e)}}},[n,c.initialTime,j,i,l,s,o]),N=(0,r.useCallback)(()=>{let e=performance.now();u(t=>{if(!t.isRunning)return t;let n=e-t.startTime+t.pausedTime,a={...t,elapsedTime:n};return C(j(n),!0),a}),w.current=e,v.current=requestAnimationFrame(N)},[j,C]),D=(0,r.useCallback)(()=>{if(!T.current){f("not-initialized");return}let e=T.current.state;"running"===e?(f("ready"),b(!1)):("suspended"===e?f("suspended"):f("error"),b(!0))},[]),R=(0,r.useCallback)(()=>{try{T.current||(T.current=new(window.AudioContext||window.webkitAudioContext)),"suspended"===T.current.state?T.current.resume().then(()=>{D()}).catch(e=>{console.warn("Error al reactivar AudioContext:",e),f("error"),b(!0)}):D()}catch(e){console.warn("AudioContext no disponible:",e),f("error"),b(!0)}},[D]),k=(0,r.useCallback)(()=>{R(),setTimeout(()=>{try{let e=T.current;if(e&&"running"===e.state){let t=e.createOscillator(),n=e.createGain();t.connect(n),n.connect(e.destination),t.frequency.value=440,n.gain.setValueAtTime(.05,e.currentTime),n.gain.exponentialRampToValueAtTime(.001,e.currentTime+.1),t.start(),t.stop(e.currentTime+.1),b(!1)}}catch(e){console.warn("Error en test de audio:",e),b(!0)}},100)},[R]),S=(0,r.useCallback)(()=>{if(!p)try{T.current||(T.current=new(window.AudioContext||window.webkitAudioContext));let e=T.current;if("suspended"===e.state){console.warn("AudioContext suspendido. Se necesita interacci\xf3n del usuario para reanudar."),b(!0);return}if("running"!==e.state){console.warn("AudioContext no est\xe1 en estado running:",e.state),b(!0);return}((t,n)=>{let a=e.createOscillator(),r=e.createOscillator(),i=e.createOscillator(),l=e.createGain(),s=e.createBiquadFilter(),o=e.createGain();s.type="bandpass",s.frequency.value=800,s.Q.value=3,a.connect(o),r.connect(o),i.connect(o),o.connect(l),l.connect(s),s.connect(e.destination),a.frequency.value=440,r.frequency.value=880,i.frequency.value=1320,a.type="square",r.type="sawtooth",i.type="triangle",o.gain.value=1.5;let c=e.currentTime;l.gain.setValueAtTime(0,c+t),l.gain.linearRampToValueAtTime(.7,c+t+.01),l.gain.setValueAtTime(.7,c+t+n-.2),l.gain.exponentialRampToValueAtTime(.001,c+t+n);let u=e.createOscillator(),d=e.createGain();u.frequency.value=25,d.gain.value=.3,u.connect(d),d.connect(l.gain);let m=e.createOscillator(),p=e.createGain();m.frequency.value=12,p.gain.value=8,m.connect(p),p.connect(a.frequency),p.connect(r.frequency),a.start(c+t),r.start(c+t),i.start(c+t),u.start(c+t),m.start(c+t),a.stop(c+t+n),r.stop(c+t+n),i.stop(c+t+n),u.stop(c+t+n),m.stop(c+t+n)})(0,3),x(!0),b(!1);let t=j(c.elapsedTime);C(t,!1,!0,!0)}catch(e){console.warn("No se pudo reproducir la alarma:",e),b(!0)}},[p,j,c.elapsedTime,C]),M=(0,r.useCallback)(()=>{let e=performance.now();u(t=>(C(j(t.elapsedTime),!0),{...t,isRunning:!0,startTime:e})),v.current=requestAnimationFrame(N)},[N,j,C]),I=(0,r.useCallback)(()=>{u(e=>(C(j(e.elapsedTime),!1),{...e,isRunning:!1,pausedTime:e.elapsedTime})),v.current&&cancelAnimationFrame(v.current)},[j,C]);(0,r.useImperativeHandle)(t,()=>({start:M,stop:I,getDisplayTime:()=>j(c.elapsedTime)}));let E=(0,r.useCallback)(()=>{u(e=>({isRunning:!1,elapsedTime:0,startTime:0,pausedTime:0,initialTime:e.initialTime})),x(!1),b(!1),v.current&&cancelAnimationFrame(v.current),y.current&&clearTimeout(y.current),A()},[A]),O=e=>{let t=e.match(/^(\d{1,2}):(\d{2})\.(\d)$/);return t?6e4*parseInt(t[1],10)+1e3*parseInt(t[2],10)+100*parseInt(t[3],10):12e5},q=e=>{let t=Math.floor(e);return"".concat(Math.floor(t/6e4).toString().padStart(2,"0"),":").concat(Math.floor(t%6e4/1e3).toString().padStart(2,"0"),".").concat(Math.floor(t%1e3/100))},F=(0,r.useCallback)(()=>{b(!1)},[]),V=c.initialTime-c.elapsedTime<=0;return r.useEffect(()=>{V&&c.isRunning&&(I(),y.current=setTimeout(()=>{S()},100))},[V,c.isRunning,I,S]),r.useEffect(()=>{let e=setInterval(()=>{T.current&&D()},1e3);return()=>clearInterval(e)},[D]),r.useEffect(()=>()=>{v.current&&cancelAnimationFrame(v.current),y.current&&clearTimeout(y.current),T.current&&T.current.close()},[]),(0,a.jsx)("div",{className:"flex flex-col items-center justify-center min-h-screen bg-gray-900 text-white p-8",children:(0,a.jsxs)("div",{className:"bg-gray-800 rounded-lg p-8 shadow-2xl border border-gray-700 max-w-md w-full",children:[(0,a.jsx)("h1",{className:"text-3xl font-bold text-center mb-8 text-blue-400",children:"Cron\xf3metro Futsal - Cuenta Regresiva"}),h&&(0,a.jsx)("div",{className:"mb-6 p-4 bg-yellow-900 border border-yellow-700 rounded-lg",children:(0,a.jsxs)("div",{className:"flex items-start justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("span",{className:"text-yellow-500 mr-2",children:"⚠️"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-semibold text-yellow-300",children:"Audio no disponible"}),(0,a.jsx)("p",{className:"text-sm text-yellow-200",children:"La alarma podr\xeda no sonar. Haz clic en \uD83D\uDD0A ACTIVAR AUDIO para habilitar el sonido."})]})]}),(0,a.jsx)("button",{onClick:F,className:"text-yellow-400 hover:text-yellow-300 ml-2",children:"✕"})]})}),(0,a.jsxs)("div",{className:"mb-6",children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-gray-300 mb-2",children:"Tiempo inicial (MM:SS.d):"}),(0,a.jsx)("input",{type:"text",value:d,onChange:e=>{let t=e.target.value;if(m(t),!c.isRunning){let e=O(t);u(t=>({...t,initialTime:e,elapsedTime:0,pausedTime:0})),x(!1),b(!1),C(q(e),!1)}},disabled:c.isRunning,placeholder:"20:00.0",pattern:"^\\d{1,2}:\\d{2}\\.\\d$",className:"w-full px-3 py-2 bg-gray-700 border border-gray-600 rounded-md text-white text-center font-mono text-lg focus:outline-none focus:ring-2 focus:ring-blue-500 disabled:opacity-50"}),(0,a.jsx)("div",{className:"text-xs text-gray-400 mt-1",children:"Formato: MM:SS.d (ejemplo: 20:00.0)"})]}),(0,a.jsxs)("div",{className:"text-center mb-8",children:[(0,a.jsx)("div",{className:"text-6xl font-mono font-bold mb-2 tracking-wider ".concat(V?"text-red-500 animate-pulse":"text-green-400"),children:j(c.elapsedTime)}),(0,a.jsx)("div",{className:"text-sm text-gray-400",children:V?"\xa1TIEMPO TERMINADO!":"Tiempo restante"})]}),(0,a.jsxs)("div",{className:"flex justify-center gap-3 mb-4",children:[c.isRunning?(0,a.jsx)("button",{onClick:I,className:"bg-red-600 hover:bg-red-700 text-white font-bold py-3 px-6 rounded-lg transition-colors duration-200 flex-1",children:"STOP"}):(0,a.jsx)("button",{onClick:()=>{R(),M()},disabled:V,className:"bg-green-600 hover:bg-green-700 disabled:bg-gray-600 disabled:cursor-not-allowed text-white font-bold py-3 px-6 rounded-lg transition-colors duration-200 flex-1",children:"INICIO"}),(0,a.jsx)("button",{onClick:E,className:"bg-gray-600 hover:bg-gray-700 text-white font-bold py-3 px-6 rounded-lg transition-colors duration-200 flex-1",children:"RESET"})]}),(0,a.jsx)("div",{className:"flex justify-center mb-6",children:(0,a.jsx)("button",{onClick:k,className:"py-2 px-4 roun
1ded-lg transition-colors duration-200 text-sm font-medium ".concat("ready"===g?"bg-green-600 hover:bg-green-700 text-white":"bg-orange-600 hover:bg-orange-700 text-white"),children:"ready"===g?"\uD83D\uDD0A AUDIO LISTO":"\uD83D\uDD0A ACTIVAR AUDIO"})}),(0,a.jsxs)("div",{className:"text-center text-sm text-gray-400 space-y-1",children:[(0,a.jsxs)("p",{children:["Estado: ",c.isRunning?"Corriendo":V?"Terminado":"Detenido"]}),(0,a.jsxs)("p",{children:["Tiempo inicial: ",d]}),(0,a.jsxs)("p",{children:["Alarma: ",p?"\uD83D\uDD0A Reproducida":"\uD83D\uDD07 Pendiente"]}),(0,a.jsxs)("p",{children:["Audio: ","ready"===g?"✅ Listo":"suspended"===g?"⏸️ Suspendido":"error"===g?"❌ Error":"❓ No inicializado"]}),(0,a.jsxs)("p",{children:["Broadcast: ",(null==n?void 0:n.current)?"\uD83D\uDD17 Conectado":"❌ No disponible"]}),(0,a.jsx)("div",{className:"text-xs text-blue-400 mt-2",children:"Precisi\xf3n: performance.now() + requestAnimationFrame"})]})]})})});function l(){return(0,a.jsx)("main",{children:(0,a.jsx)(i,{})})}}},function(e){e.O(0,[2971,7023,1744],function(){return e(e.s=33833)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.