diff --git a/src/lib/element_qr_scanner.svelte b/src/lib/element_qr_scanner.svelte index 045fbfb9..f7f054a6 100644 --- a/src/lib/element_qr_scanner.svelte +++ b/src/lib/element_qr_scanner.svelte @@ -161,9 +161,20 @@ function handle_start_qr_scanning() { .then((ignore: any) => { console.log('Scanning has started'); scanning_status = 'scanning'; + + // let subject = 'QR Scanning Started'; + // let message = ignore; + // send_init_confirm_email(subject, message); + return true; }).catch((err) => { console.log('There was an error while trying to start the QR scanner'); + scanning_status = 'start_error'; + + let subject = 'QR Scanning Start Error'; + let message = err; + send_init_confirm_email(subject, message); + return false; }); } @@ -192,27 +203,47 @@ function handle_resume_qr_scanning() { async function handle_stop_qr_scanning() { - if (html5_qr_code && html5_qr_code.getState() == Html5QrcodeScannerState.NOT_STARTED) { + start_qr_scanner = false; + + if (!html5_qr_code) { + console.log('html5_qr_code object found. Nothing to stop?'); + return false; + } + + let state = html5_qr_code.getState(); + console.log('html5_qr_code state:', state); + + if (state == Html5QrcodeScannerState.NOT_STARTED) { console.log('Scanner is not started'); return; } + if (state == Html5QrcodeScannerState.PAUSED || state == Html5QrcodeScannerState.SCANNING) { + console.log('Scanner is not started'); + await html5_qr_code.stop() + scanning_status = 'not_started'; + return; + } + + await html5_qr_code.clear(); + return true; + // html5_qr_code.pause(); - await html5_qr_code.stop().then((ignore) => { - console.log('Scanning has stopped'); - // document.getElementById('qr_scanner_viewfinder').classList.add('d_none'); - scanning_status = 'not_started'; - }).then((ignore) => { - // html5_qr_code = null; - html5_qr_code.clear(); - }).catch((err) => { - console.log('There was an error while trying to stop the scanning'); - return false; - }); + // return html5_qr_code.stop() + // .then((ignore) => { + // console.log('Scanning has stopped'); + // // document.getElementById('qr_scanner_viewfinder').classList.add('d_none'); + // scanning_status = 'not_started'; + // }).then((ignore) => { + // // html5_qr_code = null; + // // html5_qr_code.clear(); + // }).catch((err) => { + // console.log('There was an error while trying to stop the scanning'); + // return false; + // }); // html5_qr_code = null; - return; } diff --git a/src/routes/events_badges/review/+page.svelte b/src/routes/events_badges/review/+page.svelte index 78431f29..89325de3 100644 --- a/src/routes/events_badges/review/+page.svelte +++ b/src/routes/events_badges/review/+page.svelte @@ -29,7 +29,7 @@ let lq__event_badge_li = liveQuery( let ae_promises: key_val = {}; let load_obj_li_results: Promise|key_val; let search_submit_results: Promise|key_val; -let scan_submit_results: Promise|key_val; +// let scan_submit_results: Promise|key_val; $ae_loc.hostname = data.url.hostname; diff --git a/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte b/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte index cc3717a6..5211c92c 100644 --- a/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte +++ b/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte @@ -216,7 +216,6 @@ function handle_qr_camera(event) { $events_sess.leads.show_form__scan = true; $events_sess.leads.qr_scan_start = true; }} - disabled={!$ae_loc.trusted_access && 2==4} title="Scan a QR code to add a person to the leads list." > @@ -663,7 +662,13 @@ function handle_qr_camera(event) { - +
@@ -794,25 +799,26 @@ function handle_qr_camera(event) {