From 39c60dd3443e261abb49191f37cea893938c73e1 Mon Sep 17 00:00:00 2001 From: Marco Gallegos Date: Fri, 15 Aug 2025 15:37:26 +0000 Subject: [PATCH] Actualiza app POS: index, server, print y lockfile --- ap-pos/app.js | 12 ++++++++---- ap-pos/index.html | 1 + ap-pos/print.js | 23 ++++++++--------------- ap-pos/server.js | 8 ++++++-- package-lock.json | 6 ++++++ 5 files changed, 29 insertions(+), 21 deletions(-) create mode 100644 package-lock.json diff --git a/ap-pos/app.js b/ap-pos/app.js index 3a97c25..366d3e7 100644 --- a/ap-pos/app.js +++ b/ap-pos/app.js @@ -162,8 +162,13 @@ async function saveClient(clientData) { await save('clients', { client: clientToSave }); - // Volver a cargar los clientes desde el servidor para asegurar consistencia - clients = await load(KEY_CLIENTS, []); + // Optimización: en lugar de recargar, actualizamos el estado local. + if (isUpdate) { + const index = clients.findIndex(c => c.id === clientToSave.id); + if (index > -1) clients[index] = clientToSave; + } else { + clients.unshift(clientToSave); // Añadir al principio para que aparezca primero + } renderClientsTable(); updateClientDatalist(); @@ -785,7 +790,7 @@ async function initializeApp() { tipoServicioSelect?.addEventListener('change', (e) => { const subtipoContainer = document.getElementById('m-subtipo-container'); - const servicesWithSubtype = ['Microblading', 'Lashes', 'Nail Art']; + const servicesWithSubtype = ['Microblading', 'Lashes', 'Nail Art', 'Lash Lifting']; subtipoContainer.classList.toggle('hidden', !servicesWithSubtype.includes(e.target.value)); }); @@ -825,4 +830,3 @@ async function initializeApp() { document.addEventListener('DOMContentLoaded', initializeApp); - diff --git a/ap-pos/index.html b/ap-pos/index.html index ded21ef..220001b 100644 --- a/ap-pos/index.html +++ b/ap-pos/index.html @@ -88,6 +88,7 @@ +