diff --git a/package-lock.json b/package-lock.json
index f1e26a7..f2121fe 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -40,6 +40,7 @@
"unplugin-vue-markdown": "^28.3.1",
"uuid": "^11.1.0",
"vue": "^3.4.29",
+ "vue-qrcode-reader": "^5.7.1",
"vue-router": "^4.3.3"
},
"devDependencies": {
@@ -3691,6 +3692,18 @@
"@types/underscore": "*"
}
},
+ "node_modules/@types/dom-webcodecs": {
+ "version": "0.1.14",
+ "resolved": "https://registry.npmjs.org/@types/dom-webcodecs/-/dom-webcodecs-0.1.14.tgz",
+ "integrity": "sha512-ba9aF0qARLLQpLihONIRbj8VvAdUxO+5jIxlscVcDAQTcJmq5qVr781+ino5qbQUJUmO21cLP2eLeXYWzao5Vg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/emscripten": {
+ "version": "1.40.1",
+ "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.40.1.tgz",
+ "integrity": "sha512-sr53lnYkQNhjHNN0oJDdUm5564biioI5DuOpycufDVK7D3y+GR3oUswe2rlwY1nPNyusHbrJ9WoTyIHl4/Bpwg==",
+ "license": "MIT"
+ },
"node_modules/@types/eslint": {
"version": "9.6.1",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
@@ -4706,6 +4719,16 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/barcode-detector": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/barcode-detector/-/barcode-detector-2.2.2.tgz",
+ "integrity": "sha512-JcSekql+EV93evfzF9zBr+Y6aRfkR+QFvgyzbwQ0dbymZXoAI9+WgT7H1E429f+3RKNncHz2CW98VQtaaKpmfQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/dom-webcodecs": "^0.1.11",
+ "zxing-wasm": "1.1.3"
+ }
+ },
"node_modules/birpc": {
"version": "0.2.19",
"resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.19.tgz",
@@ -9241,6 +9264,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/sdp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/sdp/-/sdp-3.2.0.tgz",
+ "integrity": "sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==",
+ "license": "MIT"
+ },
"node_modules/section-matter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
@@ -10758,6 +10787,19 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/vue-qrcode-reader": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/vue-qrcode-reader/-/vue-qrcode-reader-5.7.1.tgz",
+ "integrity": "sha512-7QBu3PqaPJHxobiDLqgcrp6wsjdTk9GJWhRCd4CgQYi93gBw/sIXNNWtbjeKz8d3QYj13n9dyPvcPMUcGOsBHw==",
+ "license": "MIT",
+ "dependencies": {
+ "barcode-detector": "2.2.2",
+ "webrtc-adapter": "8.2.3"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
"node_modules/vue-router": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz",
@@ -10803,6 +10845,19 @@
"integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
"license": "MIT"
},
+ "node_modules/webrtc-adapter": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-8.2.3.tgz",
+ "integrity": "sha512-gnmRz++suzmvxtp3ehQts6s2JtAGPuDPjA1F3a9ckNpG1kYdYuHWYpazoAnL9FS5/B21tKlhkorbdCXat0+4xQ==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "sdp": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=6.0.0",
+ "npm": ">=3.10.0"
+ }
+ },
"node_modules/whatwg-url": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
@@ -11509,6 +11564,15 @@
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
+ },
+ "node_modules/zxing-wasm": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/zxing-wasm/-/zxing-wasm-1.1.3.tgz",
+ "integrity": "sha512-MYm9k/5YVs4ZOTIFwlRjfFKD0crhefgbnt1+6TEpmKUDFp3E2uwqGSKwQOd2hOIsta/7Usq4hnpNRYTLoljnfA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/emscripten": "^1.39.10"
+ }
}
}
}
diff --git a/src/components/ScanInput.vue b/src/components/ScanInput.vue
index e45376e..9c98885 100644
--- a/src/components/ScanInput.vue
+++ b/src/components/ScanInput.vue
@@ -2,7 +2,7 @@
diff --git a/src/components/admin/unit/respiratoryGear/CreateRespiratoryGearModal.vue b/src/components/admin/unit/respiratoryGear/CreateRespiratoryGearModal.vue
index 6690d9a..515473d 100644
--- a/src/components/admin/unit/respiratoryGear/CreateRespiratoryGearModal.vue
+++ b/src/components/admin/unit/respiratoryGear/CreateRespiratoryGearModal.vue
@@ -10,7 +10,7 @@
Anrede
{{ selectedSalutation?.salutation }}
@@ -24,7 +24,7 @@
leave-to-class="opacity-0"
>
Anrede
{{ selectedSalutation?.salutation }}
@@ -24,7 +24,7 @@
leave-to-class="opacity-0"
>
Anrede
{{ selectedSalutation?.salutation }}
@@ -24,7 +24,7 @@
leave-to-class="opacity-0"
>
{{ tab.title }}
diff --git a/src/views/admin/unit/equipment/CreateEquipment.vue b/src/views/admin/unit/equipment/CreateEquipment.vue
index ee764d6..3c1c421 100644
--- a/src/views/admin/unit/equipment/CreateEquipment.vue
+++ b/src/views/admin/unit/equipment/CreateEquipment.vue
@@ -13,7 +13,7 @@
Typ
@@ -26,7 +26,7 @@
@after-leave="query = ''"
>
@@ -91,12 +91,12 @@
:to="{ name: 'admin-unit-equipment' }"
primary-outline
button
- class="!w-fit"
+ class="w-fit!"
:disabled="status == 'loading' || status?.status == 'success'"
>
abbrechen
-
+
diff --git a/src/views/admin/unit/equipment/Equipment.vue b/src/views/admin/unit/equipment/Equipment.vue
index 5e8f1c0..595921f 100644
--- a/src/views/admin/unit/equipment/Equipment.vue
+++ b/src/views/admin/unit/equipment/Equipment.vue
@@ -27,7 +27,7 @@
:to="{ name: 'admin-unit-equipment-create' }"
primary
button
- class="!w-fit"
+ class="w-fit!"
>
Gerätschaft erfassen
diff --git a/src/views/admin/unit/equipment/EquipmentRouting.vue b/src/views/admin/unit/equipment/EquipmentRouting.vue
index 10a7214..21ee805 100644
--- a/src/views/admin/unit/equipment/EquipmentRouting.vue
+++ b/src/views/admin/unit/equipment/EquipmentRouting.vue
@@ -27,8 +27,8 @@
>
{{ tab.title }}
diff --git a/src/views/admin/unit/equipment/UpdateEquipment.vue b/src/views/admin/unit/equipment/UpdateEquipment.vue
index 58e7792..c52b920 100644
--- a/src/views/admin/unit/equipment/UpdateEquipment.vue
+++ b/src/views/admin/unit/equipment/UpdateEquipment.vue
@@ -18,10 +18,10 @@
-