diff --git a/handybarcodescannerindex.php b/handybarcodescannerindex.php index dde46da..8026eb8 100755 --- a/handybarcodescannerindex.php +++ b/handybarcodescannerindex.php @@ -127,6 +127,14 @@ print ''; print ''; // scanner-box print ''; // div-table-responsive +// Manual Barcode Input (for testing without camera/HTTPS) +print '
'; +print '
'; +print ''; +print ''; +print '
'; +print '
'; + // Last Scan Info print '
'; print ''.$langs->trans("LastScan").': '; diff --git a/js/scanner.js b/js/scanner.js index 1462209..59c9551 100644 --- a/js/scanner.js +++ b/js/scanner.js @@ -41,7 +41,9 @@ videoContainer: document.getElementById('scanner-video-container'), video: document.getElementById('scanner-video'), lastScanCode: document.getElementById('last-scan-code'), - resultArea: document.getElementById('result-area') + resultArea: document.getElementById('result-area'), + manualInput: document.getElementById('manual-barcode-input'), + manualSearchBtn: document.getElementById('manual-search-btn') }; if (!elements.startBtn || !elements.videoContainer) { @@ -101,6 +103,39 @@ function bindEvents() { elements.startBtn.addEventListener('click', startScanner); elements.stopBtn.addEventListener('click', stopScanner); + + // Manual barcode input + if (elements.manualSearchBtn && elements.manualInput) { + elements.manualSearchBtn.addEventListener('click', handleManualSearch); + elements.manualInput.addEventListener('keypress', function(e) { + if (e.key === 'Enter') { + handleManualSearch(); + } + }); + } + } + + // Handle manual barcode input + function handleManualSearch() { + const barcode = elements.manualInput.value.trim(); + if (!barcode) { + showToast('Bitte Barcode eingeben', 'error'); + return; + } + + // Update last scan display + elements.lastScanCode.textContent = barcode; + + // Vibration feedback + if (CONFIG.enableVibration && navigator.vibrate) { + navigator.vibrate(100); + } + + // Search product + searchProduct(barcode); + + // Clear input + elements.manualInput.value = ''; } // Load all suppliers for manual selection diff --git a/langs/de_DE/handybarcodescanner.lang b/langs/de_DE/handybarcodescanner.lang index 9e825e0..326755e 100644 --- a/langs/de_DE/handybarcodescanner.lang +++ b/langs/de_DE/handybarcodescanner.lang @@ -13,6 +13,8 @@ StartScan = Scannen starten StopScan = Scannen stoppen LastScan = Letzter Scan CameraAccessError = Kamera-Zugriff fehlgeschlagen. Bitte Berechtigung erteilen. +BarcodeManualInput = Barcode manuell eingeben... +Search = Suchen # Modes Order = Bestellen