base components on collections

This commit is contained in:
Julian Krauser 2025-03-25 10:42:40 +01:00
parent b6d6dd0796
commit 3e87bbc267
24 changed files with 1347 additions and 57 deletions

View file

@ -2,7 +2,7 @@
<div class="w-full md:max-w-md">
<XMarkIcon class="ml-auto mb-2 w-5 h-5 cursor-pointer" @click="closeModal" />
<qrcode-stream
:constraints="selectedCamera.constraints"
:constraints="selectedCamera?.constraints"
:track="trackFunctionOptions[4].value"
:formats="barcodeFormats"
:paused="paused"
@ -31,6 +31,7 @@ import {
getAvailableCameras,
handleScannerError,
trackFunctionOptions,
type Camera,
} from "../helpers/codeScanner";
import { QrcodeStream, type DetectedBarcode } from "vue-qrcode-reader";
import { XMarkIcon } from "@heroicons/vue/24/outline";
@ -47,7 +48,7 @@ export default defineComponent({
data() {
return {
selecteableCameras: defaultConstraintOptions,
selectedCamera: defaultConstraintOptions[0],
selectedCamera: undefined as undefined | Camera,
paused: false,
detected: "",
};
@ -56,6 +57,9 @@ export default defineComponent({
...mapActions(useModalStore, ["closeModal"]),
async onCameraReady() {
this.selecteableCameras = await getAvailableCameras();
if (!this.selectedCamera) {
this.selectedCamera = this.selecteableCameras[0];
}
},
onDetect(result: Array<DetectedBarcode>) {
this.paused = true;