diff --git a/packages/client/manifest.json b/packages/client/manifest.json index 2a9bc6f258..83a5b858db 100644 --- a/packages/client/manifest.json +++ b/packages/client/manifest.json @@ -3969,6 +3969,12 @@ "key": "allowManualEntry", "defaultValue": false }, + { + "type": "boolean", + "label": "Auto confirm", + "key": "autoConfirm", + "defaultValue": false + }, { "type": "boolean", "label": "Play sound on scan", diff --git a/packages/client/src/components/app/forms/CodeScanner.svelte b/packages/client/src/components/app/forms/CodeScanner.svelte index ff860d216f..2a546eb64c 100644 --- a/packages/client/src/components/app/forms/CodeScanner.svelte +++ b/packages/client/src/components/app/forms/CodeScanner.svelte @@ -14,11 +14,13 @@ export let value export let disabled = false export let allowManualEntry = false + export let autoConfirm = false export let scanButtonText = "Scan code" export let beepOnScan = false export let beepFrequency = 2637 export let customFrequency = 1046 export let preferredCamera = "environment" + export let validator const dispatch = createEventDispatcher() @@ -41,6 +43,9 @@ beep() } dispatch("change", decodedText) + if (autoConfirm && !validator?.(decodedText)) { + camModal?.hide() + } } } @@ -127,7 +132,11 @@