diff --git a/app/javascript/controllers/scanner_controller.js b/app/javascript/controllers/scanner_controller.js
index f26bd4d..3c0ab13 100644
--- a/app/javascript/controllers/scanner_controller.js
+++ b/app/javascript/controllers/scanner_controller.js
@@ -1,5 +1,9 @@
import { Controller } from "@hotwired/stimulus";
+//import QrScanner from "qr-scanner"; // Rails findet jetzt über die Importmap deine Datei unter vendor/javascript/
+// KORREKTUR: Lädt das Modul ohne Namens-Zuweisung, da die Legacy-Datei keinen Default-Export besitzt
+import "qr-scanner";
+
export default class extends Controller {
static targets = ["input", "preview", "modal"];
@@ -13,7 +17,9 @@ export default class extends Controller {
const videoElement = this.previewTarget;
- // Greift fehlerfrei auf die Klasse aus dem public-Ordner zu
+ // Scanner initialisieren (Direkt über die importierte Klasse ohne 'window.')
+ //this.qrScanner = new QrScanner(
+ // Greift jetzt absolut fehlerfrei auf die geladene Klasse zu
this.qrScanner = new window.QrScanner(
videoElement,
(result) => { this.handleScanSuccess(result.data); },
@@ -26,8 +32,8 @@ export default class extends Controller {
);
this.qrScanner.start().catch((err) => {
+ alert("Kamera-Zugriff blockiert! Bitte prüfe die Browser-Berechtigungen.");
console.error("Kamera-Fehler:", err);
- alert("Kamera konnte nicht gestartet werden.");
this.modalTarget.classList.add("hidden");
});
}
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index b12c3e6..c9a97ec 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -16,9 +16,6 @@
-
-
-
<%# Includes all stylesheet files in app/assets/stylesheets %>
<%= stylesheet_link_tag :app, "data-turbo-track": "reload" %>
<%= javascript_importmap_tags %>
diff --git a/config/importmap.rb b/config/importmap.rb
index 909dfc5..d2dc711 100644
--- a/config/importmap.rb
+++ b/config/importmap.rb
@@ -5,3 +5,4 @@ pin "@hotwired/turbo-rails", to: "turbo.min.js"
pin "@hotwired/stimulus", to: "stimulus.min.js"
pin "@hotwired/stimulus-loading", to: "stimulus-loading.js"
pin_all_from "app/javascript/controllers", under: "controllers"
+pin "qr-scanner", to: "qr-scanner.js"
diff --git a/public/qr-scanner.js b/vendor/javascript/qr-scanner.js
similarity index 100%
rename from public/qr-scanner.js
rename to vendor/javascript/qr-scanner.js