diff --git a/package-lock.json b/package-lock.json index fea1fcb..9a6d8b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,12 @@ "version": "0.0.0", "dependencies": { "@beyonk/svelte-mapbox": "^8.1.4", + "html5-qrcode": "^2.3.0", "mapbox-gl": "^2.10.0", + "qr-scanner": "^1.4.1", + "qrcode-scanner-svelte": "^1.0.0", + "scan-qr-svelte": "^0.0.3", + "svelte-qr-scanner": "^1.1.0", "svelte-routing": "^1.6.0", "yallist": "^4.0.0" }, @@ -204,6 +209,11 @@ "integrity": "sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==", "dev": true }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz", + "integrity": "sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==" + }, "node_modules/@types/pug": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz", @@ -303,6 +313,30 @@ "postcss": "^8.1.0" } }, + "node_modules/babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==", + "dependencies": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -441,6 +475,13 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, "node_modules/csscolorparser": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", @@ -992,6 +1033,24 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/fsm-as-promised": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/fsm-as-promised/-/fsm-as-promised-0.13.2.tgz", + "integrity": "sha512-1tjwtVOEzqygbG3vHbfaQ4XJql5H0Zv2hMm7Mx1DndCeyTYjHNwgklsrC8fTHUslB0eHMSg9HBMV5QZodJpAcg==", + "dependencies": { + "es6-promise": "^4.0.2", + "lodash": "^4.16.2", + "stampit": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fsm-as-promised/node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -1074,6 +1133,11 @@ "node": ">= 0.4.0" } }, + "node_modules/html5-qrcode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/html5-qrcode/-/html5-qrcode-2.3.0.tgz", + "integrity": "sha512-uMUxak0YHgInAwdQAttkuJkGq3qvXgaQEq39CubSr2Xsrk6QDwx8lGKprqRLh4JOw6Rd+x5flQ2oHJjhDRvwNQ==" + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -1115,6 +1179,17 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/instascan": { + "version": "1.0.0", + "resolved": "git+ssh://git@github.com/schmich/instascan.git#b0f9519f2dd2a6661e67066d6ed678e621dd5ce2", + "license": "MIT", + "dependencies": { + "babel-polyfill": "^6.9.1", + "fsm-as-promised": "^0.13.0", + "visibilityjs": "^1.2.3", + "webrtc-adapter": "^1.4.0" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -1169,6 +1244,11 @@ "node": ">=0.12.0" } }, + "node_modules/jsqr": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz", + "integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" + }, "node_modules/kdbush": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", @@ -1192,6 +1272,11 @@ "node": ">=10" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -1575,6 +1660,22 @@ "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" }, + "node_modules/qr-scanner": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/qr-scanner/-/qr-scanner-1.4.1.tgz", + "integrity": "sha512-xiR90NONHTfTwaFgW/ihlqjGMIZg6ExHDOvGQRba1TvV+WVw7GoDArIOt21e+RO+9WiO4AJJq+mwc5f4BnGH3w==", + "dependencies": { + "@types/offscreencanvas": "^2019.6.4" + } + }, + "node_modules/qrcode-scanner-svelte": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/qrcode-scanner-svelte/-/qrcode-scanner-svelte-1.0.0.tgz", + "integrity": "sha512-teI93sQETcRUxDbeoLfn25aEan78v/eVewTB5+SbGAOH6cRk/Wasqwlvr+5g0ca9PeNzG4f3I4LUZlKG7OEouA==", + "dependencies": { + "jsqr": "^1.4.0" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -1633,6 +1734,11 @@ "node": ">=8.10.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==" + }, "node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -1752,6 +1858,32 @@ "node": ">=12.0.0" } }, + "node_modules/scan-qr-svelte": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/scan-qr-svelte/-/scan-qr-svelte-0.0.3.tgz", + "integrity": "sha512-S1JVi24g6wlkIoPqWXsFkdMbOPuEZfNtAoIA8ZAsACtlkL8I+foCL5gksxo4gBprtMjvlT1NCrnas90QhadkNg==", + "dependencies": { + "svelte2tsx": "^0.5.6" + } + }, + "node_modules/scan-qr-svelte/node_modules/svelte2tsx": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.5.20.tgz", + "integrity": "sha512-yNHmN/uoAnJ7d1XqVohiNA6TMFOxibHyEddUAHVt1PiLXtbwAJF3WaGYlg8QbOdoXzOVsVNCAlqRUIdULUm+OA==", + "dependencies": { + "dedent-js": "^1.0.1", + "pascal-case": "^3.1.1" + }, + "peerDependencies": { + "svelte": "^3.24", + "typescript": "^4.1.2" + } + }, + "node_modules/sdp": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/sdp/-/sdp-1.5.4.tgz", + "integrity": "sha512-9x0+fpJHW2bbqtIktmL+H9m+BswgurPVPhWrur4cCZPDWDSsdGYvRBaKhDXlnNCD1b/Xi8cOTG2u703CTQuwgg==" + }, "node_modules/sorcery": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", @@ -1782,6 +1914,11 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "node_modules/stampit": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/stampit/-/stampit-3.2.1.tgz", + "integrity": "sha512-2QXR/GWaz3qgLUvyTjIyvWLdT9iGC8rjZdyAt2IduajSCJUusehWJ1QAKmXdXWhJSofYJyCNZHCmp5yETiV4CA==" + }, "node_modules/strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -1909,6 +2046,14 @@ "sourcemap-codec": "^1.4.8" } }, + "node_modules/svelte-qr-scanner": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/svelte-qr-scanner/-/svelte-qr-scanner-1.1.0.tgz", + "integrity": "sha512-8ybSBhGxceNpfCZYgEcoDsX8QVd59X+GhTw7+gUNRYE9qTXPqb7zFMRElLLozd3NTTSf6r3RCG87YKlN0na0DQ==", + "dependencies": { + "instascan": "git+https://github.com/schmich/instascan.git" + } + }, "node_modules/svelte-routing": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/svelte-routing/-/svelte-routing-1.6.0.tgz", @@ -2090,6 +2235,11 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "node_modules/visibilityjs": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/visibilityjs/-/visibilityjs-1.2.8.tgz", + "integrity": "sha512-Y+aL3OUX88b+/VSmkmC2ApuLbf0grzbNLpCfIDSw3BzTU6PqcPsdgIOaw8b+eZoy+DdQqnVN3y/Evow9vQq9Ig==" + }, "node_modules/vite": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.6.tgz", @@ -2141,6 +2291,17 @@ "pbf": "^3.2.1" } }, + "node_modules/webrtc-adapter": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-1.4.0.tgz", + "integrity": "sha512-QY3cFbkvUW9kSim9XzzKr7jl1zdfxh7ii9j67kZz+Jc/HsKOXcC+mEmovbTID3QthyZCiYsWz2Qs6aUwxEDa/w==", + "dependencies": { + "sdp": "^1.0.0" + }, + "engines": { + "npm": "~3.0.0" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -2299,6 +2460,11 @@ "integrity": "sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==", "dev": true }, + "@types/offscreencanvas": { + "version": "2019.7.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz", + "integrity": "sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==" + }, "@types/pug": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz", @@ -2367,6 +2533,32 @@ "postcss-value-parser": "^4.2.0" } }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==", + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2456,6 +2648,11 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, "csscolorparser": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", @@ -2771,6 +2968,23 @@ "dev": true, "optional": true }, + "fsm-as-promised": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/fsm-as-promised/-/fsm-as-promised-0.13.2.tgz", + "integrity": "sha512-1tjwtVOEzqygbG3vHbfaQ4XJql5H0Zv2hMm7Mx1DndCeyTYjHNwgklsrC8fTHUslB0eHMSg9HBMV5QZodJpAcg==", + "requires": { + "es6-promise": "^4.0.2", + "lodash": "^4.16.2", + "stampit": "^3.0.1" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -2835,6 +3049,11 @@ "function-bind": "^1.1.1" } }, + "html5-qrcode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/html5-qrcode/-/html5-qrcode-2.3.0.tgz", + "integrity": "sha512-uMUxak0YHgInAwdQAttkuJkGq3qvXgaQEq39CubSr2Xsrk6QDwx8lGKprqRLh4JOw6Rd+x5flQ2oHJjhDRvwNQ==" + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -2862,6 +3081,16 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "instascan": { + "version": "git+ssh://git@github.com/schmich/instascan.git#b0f9519f2dd2a6661e67066d6ed678e621dd5ce2", + "from": "instascan@git+https://github.com/schmich/instascan.git", + "requires": { + "babel-polyfill": "^6.9.1", + "fsm-as-promised": "^0.13.0", + "visibilityjs": "^1.2.3", + "webrtc-adapter": "^1.4.0" + } + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -2901,6 +3130,11 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "jsqr": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz", + "integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" + }, "kdbush": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", @@ -2918,6 +3152,11 @@ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", "dev": true }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -3192,6 +3431,22 @@ "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" }, + "qr-scanner": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/qr-scanner/-/qr-scanner-1.4.1.tgz", + "integrity": "sha512-xiR90NONHTfTwaFgW/ihlqjGMIZg6ExHDOvGQRba1TvV+WVw7GoDArIOt21e+RO+9WiO4AJJq+mwc5f4BnGH3w==", + "requires": { + "@types/offscreencanvas": "^2019.6.4" + } + }, + "qrcode-scanner-svelte": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/qrcode-scanner-svelte/-/qrcode-scanner-svelte-1.0.0.tgz", + "integrity": "sha512-teI93sQETcRUxDbeoLfn25aEan78v/eVewTB5+SbGAOH6cRk/Wasqwlvr+5g0ca9PeNzG4f3I4LUZlKG7OEouA==", + "requires": { + "jsqr": "^1.4.0" + } + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -3227,6 +3482,11 @@ "picomatch": "^2.2.1" } }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==" + }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -3307,6 +3567,30 @@ "source-map-js": ">=0.6.2 <2.0.0" } }, + "scan-qr-svelte": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/scan-qr-svelte/-/scan-qr-svelte-0.0.3.tgz", + "integrity": "sha512-S1JVi24g6wlkIoPqWXsFkdMbOPuEZfNtAoIA8ZAsACtlkL8I+foCL5gksxo4gBprtMjvlT1NCrnas90QhadkNg==", + "requires": { + "svelte2tsx": "^0.5.6" + }, + "dependencies": { + "svelte2tsx": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.5.20.tgz", + "integrity": "sha512-yNHmN/uoAnJ7d1XqVohiNA6TMFOxibHyEddUAHVt1PiLXtbwAJF3WaGYlg8QbOdoXzOVsVNCAlqRUIdULUm+OA==", + "requires": { + "dedent-js": "^1.0.1", + "pascal-case": "^3.1.1" + } + } + } + }, + "sdp": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/sdp/-/sdp-1.5.4.tgz", + "integrity": "sha512-9x0+fpJHW2bbqtIktmL+H9m+BswgurPVPhWrur4cCZPDWDSsdGYvRBaKhDXlnNCD1b/Xi8cOTG2u703CTQuwgg==" + }, "sorcery": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", @@ -3331,6 +3615,11 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "stampit": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/stampit/-/stampit-3.2.1.tgz", + "integrity": "sha512-2QXR/GWaz3qgLUvyTjIyvWLdT9iGC8rjZdyAt2IduajSCJUusehWJ1QAKmXdXWhJSofYJyCNZHCmp5yETiV4CA==" + }, "strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -3391,6 +3680,14 @@ } } }, + "svelte-qr-scanner": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/svelte-qr-scanner/-/svelte-qr-scanner-1.1.0.tgz", + "integrity": "sha512-8ybSBhGxceNpfCZYgEcoDsX8QVd59X+GhTw7+gUNRYE9qTXPqb7zFMRElLLozd3NTTSf6r3RCG87YKlN0na0DQ==", + "requires": { + "instascan": "git+https://github.com/schmich/instascan.git" + } + }, "svelte-routing": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/svelte-routing/-/svelte-routing-1.6.0.tgz", @@ -3506,6 +3803,11 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "visibilityjs": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/visibilityjs/-/visibilityjs-1.2.8.tgz", + "integrity": "sha512-Y+aL3OUX88b+/VSmkmC2ApuLbf0grzbNLpCfIDSw3BzTU6PqcPsdgIOaw8b+eZoy+DdQqnVN3y/Evow9vQq9Ig==" + }, "vite": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.6.tgz", @@ -3529,6 +3831,14 @@ "pbf": "^3.2.1" } }, + "webrtc-adapter": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-1.4.0.tgz", + "integrity": "sha512-QY3cFbkvUW9kSim9XzzKr7jl1zdfxh7ii9j67kZz+Jc/HsKOXcC+mEmovbTID3QthyZCiYsWz2Qs6aUwxEDa/w==", + "requires": { + "sdp": "^1.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index 222e1c9..0bd3dad 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,12 @@ }, "dependencies": { "@beyonk/svelte-mapbox": "^8.1.4", + "html5-qrcode": "^2.3.0", "mapbox-gl": "^2.10.0", + "qr-scanner": "^1.4.1", + "qrcode-scanner-svelte": "^1.0.0", + "scan-qr-svelte": "^0.0.3", + "svelte-qr-scanner": "^1.1.0", "svelte-routing": "^1.6.0", "yallist": "^4.0.0" } diff --git a/src/App.svelte b/src/App.svelte index 2147c34..51383c1 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,4 +1,5 @@ + +
+ + + + +
diff --git a/src/lib/Components/QR/QRinput.svelte b/src/lib/Components/QR/QRinput.svelte new file mode 100644 index 0000000..61d62ca --- /dev/null +++ b/src/lib/Components/QR/QRinput.svelte @@ -0,0 +1,35 @@ + + +
+
+
+ + + + + + + + + + +
+ +
+
diff --git a/src/lib/Components/QR/QRscanner.svelte b/src/lib/Components/QR/QRscanner.svelte new file mode 100644 index 0000000..4125118 --- /dev/null +++ b/src/lib/Components/QR/QRscanner.svelte @@ -0,0 +1,39 @@ + + +
+
+
+ +
+
+ + diff --git a/src/lib/Components/QR/ScanFrame.svelte b/src/lib/Components/QR/ScanFrame.svelte new file mode 100644 index 0000000..eb52860 --- /dev/null +++ b/src/lib/Components/QR/ScanFrame.svelte @@ -0,0 +1,17 @@ + + +
+ + + + + + + + + + + + +
diff --git a/src/lib/Components/QR/SwitchBar.svelte b/src/lib/Components/QR/SwitchBar.svelte new file mode 100644 index 0000000..f81dcdf --- /dev/null +++ b/src/lib/Components/QR/SwitchBar.svelte @@ -0,0 +1,21 @@ + + +{#if switched === 'scan'} +
+ + +
+{:else if switched === 'input'} +
+ + +
+{/if} diff --git a/src/routes/qrReader.svelte b/src/routes/qrReader.svelte new file mode 100644 index 0000000..c71becd --- /dev/null +++ b/src/routes/qrReader.svelte @@ -0,0 +1,30 @@ + + +{#if switched === 'scan'} + navigate(-1)}>Scan our QR code or type in code to load the experience + console.log(e.detail)}> +
+ +
+
+{:else if switched === 'input'} + navigate(-1)}>Type code or type in code to load the experience + +{/if} + + (switched = e.detail)} class="mb-[30px] absolute bottom-0 z-10" /> + +