diff --git a/static/index.html b/static/index.html index 1593505..2253f67 100644 --- a/static/index.html +++ b/static/index.html @@ -2974,6 +2974,25 @@ } } + function showFallbackCameraError(extraMsg) { + // Show just the manual search fallback without re-creating placeholder + const fallback = document.getElementById('manualSearchFallback'); + if (fallback) { + fallback.style.display = 'block'; + fallback.innerHTML = ` +
+ Camera unavailable
+ ${extraMsg} +
+
Enter ID manually:
+ + + + `; + setTimeout(() => document.getElementById('manualBarcodeInput')?.focus(), 100); + } + } + function stopScanning() { scanningActive = false; if (codeReader) { @@ -3085,9 +3104,10 @@ function resetBarcodeScanner() { // Reset the scan result UI and restart barcode scanner - document.getElementById('scanResult').style.display = 'none'; - document.getElementById('scanResult').innerHTML = ''; - document.getElementById('checkinCard').style.display = 'none'; + const sr = document.getElementById('scanResult'); + if (sr) { sr.style.display = 'none'; sr.innerHTML = ''; } + const cc = document.getElementById('checkinCard'); + if (cc) cc.style.display = 'none'; setScanStatus('Ready — scan another barcode', 'success'); stopScanning(); // Re-show the camera placeholder @@ -3096,7 +3116,8 @@ ph.style.display = 'block'; ph.innerHTML = '' + gi('📷') + '
Tap to start camera
'; } - document.getElementById('cameraVideo').style.display = 'none'; + const cv = document.getElementById('cameraVideo'); + if (cv) cv.style.display = 'none'; const fallback = document.getElementById('manualSearchFallback'); if (fallback) fallback.style.display = 'none'; scanningActive = false; @@ -3108,10 +3129,12 @@ function resetOcrScanner() { // Reset the OCR result UI and restart OCR camera stopOcrCamera(); - document.getElementById('ocrResult').style.display = 'none'; - document.getElementById('ocrResult').innerHTML = ''; - document.getElementById('ocrGpsBadge').style.display = 'none'; - document.getElementById('ocrCameraArea').style.display = 'block'; + const or = document.getElementById('ocrResult'); + if (or) { or.style.display = 'none'; or.innerHTML = ''; } + const og = document.getElementById('ocrGpsBadge'); + if (og) og.style.display = 'none'; + const oca = document.getElementById('ocrCameraArea'); + if (oca) oca.style.display = 'block'; setOcrStatus('Point camera at the machine sticker and tap capture', 'success'); const ph = document.getElementById('ocrPlaceholder'); if (ph) { @@ -3161,6 +3184,9 @@
Try OCR scanning the sticker, or search in the Assets tab. +
+
+
`; }