Refactor code structure for improved readability and maintainability

This commit is contained in:
Naiel
2026-02-12 14:17:05 +00:00
parent 129188c022
commit dc4ba25b20
4 changed files with 29 additions and 31 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -128,3 +128,12 @@ function LogOutTeleSec() {
location.reload(); location.reload();
} }
var TTS_RATE = parseFloat(urlParams.get('tts_rate')) || 0.75; var TTS_RATE = parseFloat(urlParams.get('tts_rate')) || 0.75;
function TS_SayTTS(msg) {
try {
if (window.speechSynthesis) {
let utterance = new SpeechSynthesisUtterance(tts_msg);
utterance.rate = TTS_RATE;
speechSynthesis.speak(utterance);
}
} catch { console.warn('TTS error'); }
}

View File

@@ -2,7 +2,7 @@ PERMS['cajas'] = 'Cajas';
PERMS['cajas:edit'] = '> Editar'; PERMS['cajas:edit'] = '> Editar';
PAGES.cajas = { PAGES.cajas = {
navcss: 'btn8', navcss: 'btn8',
icon: 'static/appico/credit_cards.png', icon: 'static/appico/piggy_bank.png',
AccessControl: true, AccessControl: true,
Title: 'Cajas', Title: 'Cajas',

View File

@@ -80,6 +80,8 @@ PAGES.supercafe = {
// When all rows are processed, show warning if needed // When all rows are processed, show warning if needed
if (processed === total && deudasCount >= 3) { if (processed === total && deudasCount >= 3) {
var tts_msg = `Atención: Esta persona tiene ${deudasCount} comandas en deuda. No se podrá guardar el pedido.`;
TS_SayTTS(tts_msg)
toastr.warning(`Esta persona tiene ${deudasCount} comandas en deuda. No se podrá guardar el pedido.`, '', { toastr.warning(`Esta persona tiene ${deudasCount} comandas en deuda. No se podrá guardar el pedido.`, '', {
timeOut: 5000 timeOut: 5000
}); });
@@ -279,6 +281,10 @@ PAGES.supercafe = {
<div id="cont2"></div> <div id="cont2"></div>
</details> </details>
`; `;
document.getElementById(tts_check).checked = localStorage.getItem('TELESEC_TTS_ENABLED') === 'true';
document.getElementById(tts_check).onchange = function () {
localStorage.setItem('TELESEC_TTS_ENABLED', this.checked);
}
var config = [ var config = [
{ {
key: 'Persona', key: 'Persona',
@@ -361,49 +367,35 @@ PAGES.supercafe = {
} }
if (old[key] != data.Estado) { if (old[key] != data.Estado) {
if (tts && document.getElementById(tts_check).checked) { if (tts && document.getElementById(tts_check).checked) {
// say "El pedido está de camino a ${Region}" when all comandas for that aula are set to "Entregado".
if (ttS_data[data.Region] == undefined) { if (ttS_data[data.Region] == undefined) {
ttS_data[data.Region] = {}; ttS_data[data.Region] = {};
} }
ttS_data[data.Region][data._key] = data.Estado; ttS_data[data.Region][data._key] = data.Estado;
var allEntregado = true; var allReady = true;
Object.values(ttS_data[data.Region]).forEach((estado) => { Object.values(ttS_data[data.Region]).forEach((estado) => {
if (estado != 'Entregado') { if (estado != 'Listo') {
allEntregado = false; allReady = false;
} }
}); });
if (allEntregado) { if (allReady) {
var msgRegion = `Hola, ${SC_Personas[data.Persona].Region}. - Estamos entregando vuestro pedido. ¡Que aproveche!`; var msgRegion = `Hola, ${SC_Personas[data.Persona].Region}. - Vamos a entregar vuestro pedido. ¡Que aproveche!`;
let utteranceRegion = new SpeechSynthesisUtterance(msgRegion); TS_SayTTS(msgRegion)
utteranceRegion.rate = TTS_RATE;
speechSynthesis.speak(utteranceRegion);
} if (data.Estado == 'Entregado') { } if (data.Estado == 'Entregado') {
var msgEntregado = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} ha sido entregado.`; var msgEntregado = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} ha sido entregado.`;
let utteranceEntregado = new SpeechSynthesisUtterance(msgEntregado); TS_SayTTS(msgEntregado)
utteranceEntregado.rate = TTS_RATE;
speechSynthesis.speak(utteranceEntregado);
} else if (data.Estado == 'En preparación') { } else if (data.Estado == 'En preparación') {
var msgPreparacion = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} está en preparación.`; var msgPreparacion = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} está en preparación.`;
let utterancePreparacion = new SpeechSynthesisUtterance(msgPreparacion); TS_SayTTS(msgPreparacion)
utterancePreparacion.rate = TTS_RATE;
speechSynthesis.speak(utterancePreparacion);
} else if (data.Estado == 'Listo') { } else if (data.Estado == 'Listo') {
var msgListo = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} está listo para ser entregado.`; var msgListo = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} está listo para ser entregado.`;
let utteranceListo = new SpeechSynthesisUtterance(msgListo); TS_SayTTS(msgListo)
utteranceListo.rate = TTS_RATE;
speechSynthesis.speak(utteranceListo);
} else if (data.Estado == 'Pedido') { } else if (data.Estado == 'Pedido') {
var msgPedido = `Se ha realizado un nuevo pedido para ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region}.`; var msgPedido = `Se ha realizado un nuevo pedido para ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region}.`;
let utterancePedido = new SpeechSynthesisUtterance(msgPedido); TS_SayTTS(msgPedido)
utterancePedido.rate = TTS_RATE;
speechSynthesis.speak(utterancePedido);
} else { } else {
var msg = `Comanda de ${SC_Personas[data.Persona].Region}. - ${JSON.parse(data.Comanda)['Selección'] var msg = `Comanda de ${SC_Personas[data.Persona].Region}. - ${JSON.parse(data.Comanda)['Selección']
}. - ${SC_Personas[data.Persona].Nombre}. - ${data.Estado}`; }. - ${SC_Personas[data.Persona].Nombre}. - ${data.Estado}`;
let utterance = new SpeechSynthesisUtterance(msg); TS_SayTTS(msg)
utterance.rate = TTS_RATE;
// utterance.voice = speechSynthesis.getVoices()[7]
speechSynthesis.speak(utterance);
} }
} }
} }
@@ -449,10 +441,7 @@ PAGES.supercafe = {
if (old[key] != data.Estado) { if (old[key] != data.Estado) {
if (tts && document.getElementById(tts_check).checked) { if (tts && document.getElementById(tts_check).checked) {
var msg = `La comanda de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} ha pasado a deuda.`; var msg = `La comanda de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} ha pasado a deuda.`;
let utterance = new SpeechSynthesisUtterance(msg); TS_SayTTS(msg)
utterance.rate = TTS_RATE;
// utterance.voice = speechSynthesis.getVoices()[7]
speechSynthesis.speak(utterance);
} }
} }
old[key] = data.Estado; old[key] = data.Estado;