diff --git a/assets/js/app.js b/assets/js/app.js
index 73d6b603..d94de6de 100644
--- a/assets/js/app.js
+++ b/assets/js/app.js
@@ -98,8 +98,6 @@ import 'katex/dist/katex.css';
window.ClipboardJS = require('clipboard');
-window.QRCode = require('qrcode');
-
require('../ts_src/ajax_ui');
import {ajaxUI} from "../ts_src/ajax_ui";
diff --git a/assets/ts_src/event_listeners.ts b/assets/ts_src/event_listeners.ts
index 226d907d..ed8db61c 100644
--- a/assets/ts_src/event_listeners.ts
+++ b/assets/ts_src/event_listeners.ts
@@ -21,7 +21,6 @@ import {ajaxUI} from "./ajax_ui";
import "bootbox";
import "marked";
import * as marked from "marked";
-import "qrcode";
import {parse} from "marked";
import * as ZXing from "@zxing/library";
@@ -510,15 +509,6 @@ $(document).on("ajaxUI:start ajaxUI:reload attachment:create", function() {
$('select.attachment_type_selector').change(updater).each(updater);
});
-$(document).on("ajaxUI:start ajaxUI:reload", function() {
- $('.qrcode').each(function() {
- let canvas = $(this);
- //@ts-ignore
- QRCode.toCanvas(canvas[0], canvas.data('content'), function(error) {
- if(error) console.error(error);
- })
- });
-});
$(document).on("ajaxUI:start ajaxUI:reload", function() {
function setTooltip(btn, message) {
diff --git a/package.json b/package.json
index 243140f7..6d3ceb10 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,6 @@
"marked": "^1.0.0",
"patternfly-bootstrap-treeview": "^2.1.8",
"pdfmake": "^0.1.53",
- "qrcode": "^1.4.4",
"ts-loader": "^5.3.0",
"typescript": "^3.7.5",
"u2f-api": "^1.1.1"
diff --git a/src/Twig/BarcodeExtension.php b/src/Twig/BarcodeExtension.php
new file mode 100644
index 00000000..0b4b72c6
--- /dev/null
+++ b/src/Twig/BarcodeExtension.php
@@ -0,0 +1,40 @@
+.
+ */
+
+namespace App\Twig;
+
+
+use Com\Tecnick\Barcode\Barcode;
+use Twig\Extension\AbstractExtension;
+use Twig\TwigFilter;
+
+class BarcodeExtension extends AbstractExtension
+{
+ public function getFilters()
+ {
+ return [
+ new TwigFilter('barcodeSVG', function (string $content, string $type = "QRCODE") {
+ $barcodeFactory = new Barcode();
+ $barcode = $barcodeFactory->getBarcodeObj($type, $content);
+ return $barcode->getSvgCode();
+ }),
+ ];
+ }
+}
\ No newline at end of file
diff --git a/templates/Users/_2fa_settings.html.twig b/templates/Users/_2fa_settings.html.twig
index 0863904f..abcde631 100644
--- a/templates/Users/_2fa_settings.html.twig
+++ b/templates/Users/_2fa_settings.html.twig
@@ -41,7 +41,7 @@
-
+
diff --git a/yarn.lock b/yarn.lock
index 3b831d88..5962c3c4 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1642,30 +1642,12 @@ browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.8.5:
node-releases "^1.1.53"
pkg-up "^2.0.0"
-buffer-alloc-unsafe@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
- integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
-
-buffer-alloc@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
- integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
- dependencies:
- buffer-alloc-unsafe "^1.1.0"
- buffer-fill "^1.0.0"
-
buffer-equal@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b"
integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=
-buffer-fill@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
- integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
-
-buffer-from@^1.0.0, buffer-from@^1.1.1:
+buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
@@ -1689,14 +1671,6 @@ buffer@^4.3.0:
ieee754 "^1.1.4"
isarray "^1.0.0"
-buffer@^5.4.3:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
- integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
-
builtin-status-codes@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
@@ -2676,11 +2650,6 @@ diffie-hellman@^5.0.0:
miller-rabin "^4.0.0"
randombytes "^2.0.0"
-dijkstrajs@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b"
- integrity sha1-082BIh4+pAdCz83lVtTpnpjdxxs=
-
dir-glob@^2.0.0:
version "2.2.2"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4"
@@ -4154,11 +4123,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-isarray@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
- integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
-
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -5329,11 +5293,6 @@ png-js@^1.0.0:
resolved "https://registry.yarnpkg.com/png-js/-/png-js-1.0.0.tgz#e5484f1e8156996e383aceebb3789fd75df1874d"
integrity sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==
-pngjs@^3.3.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
- integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
-
popper.js@^1.14.1, popper.js@^1.14.7, popper.js@^1.16.0:
version "1.16.1"
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b"
@@ -5782,19 +5741,6 @@ q@^1.1.2:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
-qrcode@^1.4.4:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83"
- integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==
- dependencies:
- buffer "^5.4.3"
- buffer-alloc "^1.2.0"
- buffer-from "^1.1.1"
- dijkstrajs "^1.0.1"
- isarray "^2.0.1"
- pngjs "^3.3.0"
- yargs "^13.2.4"
-
qs@6.7.0:
version "6.7.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
@@ -7418,7 +7364,7 @@ yargs@13.2.4:
y18n "^4.0.0"
yargs-parser "^13.1.0"
-yargs@^13.2.4, yargs@^13.3.2:
+yargs@^13.3.2:
version "13.3.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==