aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/routes/(app)/scan/+page.svelte35
1 files changed, 19 insertions, 16 deletions
diff --git a/src/routes/(app)/scan/+page.svelte b/src/routes/(app)/scan/+page.svelte
index a7c2f1b4..e3443451 100644
--- a/src/routes/(app)/scan/+page.svelte
+++ b/src/routes/(app)/scan/+page.svelte
@@ -134,7 +134,8 @@
const constraints = $camera
? { video: { deviceId: { exact: $camera } } }
: { video: { facingMode: "environment" } };
- navigator.mediaDevices.getUserMedia(constraints)
+ navigator.mediaDevices
+ .getUserMedia(constraints)
.then((stream) => {
videoEl.srcObject = stream;
return videoEl.play();
@@ -175,21 +176,23 @@
<div class="flex justify-center">
<button class="btn !w-auto" onclick={back}>Cancel</button>
</div>
- <!-- Only display the camera selection if there are multiple cameras -->
- <div>
- <select
- id="cameraSelect"
- bind:value={$camera}
- onchange={onCameraChange}
- >
- {#each cameras as camera}
- <option value={camera.deviceId}>
- {camera.label || `Camera ${camera.deviceId}`}
- </option>
- {/each}
- </select>
- </div>
- <!-- For iOS users, show a "Start Scanning" button if scanning hasn't begun -->
+
+ {#if cameras.length > 1}
+ <div>
+ <select
+ id="cameraSelect"
+ bind:value={$camera}
+ onchange={onCameraChange}
+ >
+ {#each cameras as camera}
+ <option value={camera.deviceId}>
+ {camera.label || `Camera ${camera.deviceId}`}
+ </option>
+ {/each}
+ </select>
+ </div>
+ {/if}
+
{#if !scanningStarted}
<div class="flex justify-center">
<button class="btn !w-auto" onclick={startScanning}>