diff --git a/assets/css/style.css b/assets/css/style.css index 99a5062..3799fff 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -727,6 +727,28 @@ body { gap: 10px; } +.barcode-manual-entry { + margin-bottom: 12px; +} + +.barcode-input-row { + display: flex; + gap: 8px; + align-items: center; +} + +.barcode-input-row .form-input { + flex: 1; + margin: 0; + font-size: 1.1rem; + letter-spacing: 1px; +} + +.barcode-input-row .btn { + white-space: nowrap; + flex-shrink: 0; +} + .scan-hint { text-align: center; font-size: 0.85rem; diff --git a/assets/js/app.js b/assets/js/app.js index 47219fa..a14c4d8 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -743,6 +743,23 @@ async function onBarcodeDetected(barcode) { } } +function submitManualBarcode() { + const input = document.getElementById('manual-barcode-input'); + const barcode = (input.value || '').trim(); + if (!barcode) { + showToast('Inserisci un codice a barre', 'error'); + input.focus(); + return; + } + if (!/^\d{4,14}$/.test(barcode)) { + showToast('Il codice a barre deve contenere solo numeri (4-14 cifre)', 'error'); + input.focus(); + return; + } + stopScanner(); + onBarcodeDetected(barcode); +} + function startManualEntry(barcode = '') { stopScanner(); // Reset form diff --git a/index.html b/index.html index 515f8cf..bffe4db 100644 --- a/index.html +++ b/index.html @@ -113,6 +113,12 @@
+Inquadra il codice a barre del prodotto oppure usa i pulsanti sotto
+Inquadra il codice a barre del prodotto oppure inseriscilo manualmente