diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..9ded98f --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,6 @@ +{ + "recommendations": [ + "tobermory.es6-string-html", + "esbenp.prettier-vscode" + ] +} \ No newline at end of file diff --git a/src/app_modules.js b/src/app_modules.js index f9ba4ff..b3505e4 100644 --- a/src/app_modules.js +++ b/src/app_modules.js @@ -3,6 +3,28 @@ try { } catch { console.log('ScreenLock Failed'); } + +// Configuración de precios del café (cargado desde DB) +window.PRECIOS_CAFE = { + servicio_base: 10, + leche_pequena: 15, + leche_grande: 25, + cafe: 25, + colacao: 25, +}; + +// Cargar precios desde la base de datos al iniciar +if (typeof DB !== 'undefined') { + DB.get('config', 'precios_cafe').then((precios) => { + if (precios) { + Object.assign(window.PRECIOS_CAFE, precios); + console.log('Precios del café cargados:', window.PRECIOS_CAFE); + } + }).catch(() => { + console.log('Usando precios por defecto'); + }); +} + const debounce = (id, callback, wait, args) => { // debounce with trailing callback // First call runs immediately, then locks for 'wait' ms @@ -700,36 +722,44 @@ function SC_parse(json) { } function SC_parse_short(json) { - var valores = "Servicio base (10c)\n"; + const precios = window.PRECIOS_CAFE || { + servicio_base: 10, + leche_pequena: 15, + leche_grande: 25, + cafe: 25, + colacao: 25, + }; + + var valores = `Servicio base (${precios.servicio_base}c)\n`; Object.entries(json).forEach((entry) => { valores += "" + entry[0] + ': ' + entry[1] + ' '; var combo = entry[0] + ';' + entry[1]; switch (entry[0]) { case 'Leche': - // Leche pequeña = 10c + // Leche pequeña if ( json['Tamaño'] == 'Pequeño' && ['de Vaca', 'Sin lactosa', 'Vegetal', 'Almendras'].includes(json['Leche']) ) { - valores += '(P = 10c)'; + valores += `(P = ${precios.leche_pequena}c)`; } - // Leche grande = 20c + // Leche grande if ( json['Tamaño'] == 'Grande' && ['de Vaca', 'Sin lactosa', 'Vegetal', 'Almendras'].includes(json['Leche']) ) { - valores += '(G = 20c)'; + valores += `(G = ${precios.leche_grande}c)`; } break; case 'Selección': - // Café = 20c + // Café if (['Café con leche', 'Solo café (sin leche)'].includes(json['Selección'])) { - valores += '(20c)'; + valores += `(${precios.cafe}c)`; } - // ColaCao = 20c + // ColaCao if (json['Selección'] == 'ColaCao con leche') { - valores += '(20c)'; + valores += `(${precios.colacao}c)`; } default: break; @@ -743,35 +773,50 @@ function SC_parse_short(json) { function SC_priceCalc(json) { var precio = 0; var valores = ''; - // Servicio base = 10c - precio += 10; - valores += 'Servicio base = 10c\n'; - // Leche pequeña = 10c + + // Usar precios configurables + const precios = window.PRECIOS_CAFE || { + servicio_base: 10, + leche_pequena: 15, + leche_grande: 25, + cafe: 25, + colacao: 25, + }; + + // Servicio base + precio += precios.servicio_base; + valores += `Servicio base = ${precios.servicio_base}c\n`; + + // Leche pequeña if ( json['Tamaño'] == 'Pequeño' && ['de Vaca', 'Sin lactosa', 'Vegetal', 'Almendras'].includes(json['Leche']) ) { - precio += 15; - valores += 'Leche pequeña = 15c\n'; + precio += precios.leche_pequena; + valores += `Leche pequeña = ${precios.leche_pequena}c\n`; } - // Leche grande = 20c + + // Leche grande if ( json['Tamaño'] == 'Grande' && ['de Vaca', 'Sin lactosa', 'Vegetal', 'Almendras'].includes(json['Leche']) ) { - precio += 25; - valores += 'Leche grande = 25c\n'; + precio += precios.leche_grande; + valores += `Leche grande = ${precios.leche_grande}c\n`; } - // Café = 20c + + // Café if (['Café con leche', 'Solo café (sin leche)'].includes(json['Selección'])) { - precio += 25; - valores += 'Café = 25c\n'; + precio += precios.cafe; + valores += `Café = ${precios.cafe}c\n`; } - // ColaCao = 20c + + // ColaCao if (json['Selección'] == 'ColaCao con leche') { - precio += 25; - valores += 'ColaCao = 25c\n'; + precio += precios.colacao; + valores += `ColaCao = ${precios.colacao}c\n`; } + valores += '