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.
+
+
+
`;
}