diff --git a/pos/static/js/pos.js b/pos/static/js/pos.js
index 9cf9755..f5528a3 100644
--- a/pos/static/js/pos.js
+++ b/pos/static/js/pos.js
@@ -242,6 +242,7 @@ const POS = (() => {
if (existing) {
existing.quantity += (item.quantity || 1);
renderCart();
+ if (window.BarcodeFeedback) BarcodeFeedback.success();
return;
}
@@ -502,6 +503,19 @@ const POS = (() => {
if (data.data.length === 0) {
container.innerHTML = '
Sin resultados
';
+ if (window.BarcodeFeedback) BarcodeFeedback.error();
+ } else if (data.data.length === 1 && q.length >= 8) {
+ // Auto-select single result on barcode scan (long codes)
+ const item = data.data[0];
+ let price = item.price_1;
+ if (currentCustomer) {
+ const tier = currentCustomer.price_tier || 1;
+ price = tier === 3 ? item.price_3 : tier === 2 ? item.price_2 : item.price_1;
+ }
+ addFromSearch(item, price);
+ input.value = '';
+ hideSearchResults();
+ return;
} else {
let html = '';
data.data.forEach(item => {
@@ -542,6 +556,7 @@ const POS = (() => {
price_2: item.price_2,
price_3: item.price_3,
});
+ if (window.BarcodeFeedback) BarcodeFeedback.success();
hideSearchResults();
document.getElementById('itemSearch').value = '';
document.getElementById('itemSearch').focus();