Open scan modal, handle permissions, open/close video preview

This commit is contained in:
Claudio Ortolina
2025-02-13 15:15:30 +00:00
parent db5fec1a3b
commit a626c68d65
6 changed files with 89 additions and 5 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("
let liveSocket = new LiveSocket("/live", Socket, {
longPollFallbackMs: 2500,
params: { _csrf_token: csrfToken },
hooks: { Hooks }
hooks: Hooks
})
// Show progress bar on live navigation and form submits
+24 -1
View File
@@ -19,6 +19,29 @@ const barcodeTest = async function () {
export default {
mounted() {
console.log(this.el);
const video = this.el;
const constraints = {
audio: false,
video: { width: 800, height: 600 },
};
navigator.mediaDevices
.getUserMedia(constraints)
.then((mediaStream) => {
console.debug("Camera access allowed")
this.pushEventTo(video, "camera:allowed", {});
console.log(mediaStream);
video.srcObject = mediaStream;
video.onloadedmetadata = () => {
video.play();
};
})
.catch((err) => {
console.error(`${err.name}: ${err.message}`);
this.pushEventTo(video, "camera:denied", {});
});
},
destroyed() {
this.el.srcObject.getTracks().forEach(track => track.stop());
}
}