diff --git a/package-lock.json b/package-lock.json
index a95f99f..20b7446 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,18 +8,18 @@
"name": "hyperpipe",
"version": "0.0.0",
"dependencies": {
- "bootstrap-icons": "^1.11.2",
- "dompurify": "^3.0.6",
+ "bootstrap-icons": "^1.11.3",
+ "dompurify": "^3.0.8",
"peerjs": "^1.5.2",
"pinia": "^2.1.7",
- "shaka-player": "^4.7.1",
- "sortablejs": "^1.15.1",
+ "shaka-player": "^4.7.6",
+ "sortablejs": "^1.15.2",
"vue": "^3.2.38"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.6.2",
- "prettier": "^3.1.1",
- "vite": "^5.0.10",
+ "prettier": "^3.2.4",
+ "vite": "^5.0.12",
"vite-plugin-pwa": "^0.17.4"
}
},
@@ -201,9 +201,9 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz",
- "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz",
+ "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==",
"dev": true,
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.6",
@@ -426,9 +426,9 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz",
- "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==",
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz",
+ "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==",
"dev": true,
"dependencies": {
"@babel/template": "^7.22.15",
@@ -873,16 +873,15 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz",
- "integrity": "sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==",
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz",
+ "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-function-name": "^7.23.0",
- "@babel/helper-optimise-call-expression": "^7.22.5",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-replace-supers": "^7.22.20",
"@babel/helper-split-export-declaration": "^7.22.6",
@@ -1533,9 +1532,9 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.7.tgz",
- "integrity": "sha512-SY27X/GtTz/L4UryMNJ6p4fH4nsgWbz84y9FE0bQeWJP6O5BhgVCt53CotQKHCOeXJel8VyhlhujhlltKms/CA==",
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.8.tgz",
+ "integrity": "sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.23.5",
@@ -1571,7 +1570,7 @@
"@babel/plugin-transform-block-scoping": "^7.23.4",
"@babel/plugin-transform-class-properties": "^7.23.3",
"@babel/plugin-transform-class-static-block": "^7.23.4",
- "@babel/plugin-transform-classes": "^7.23.5",
+ "@babel/plugin-transform-classes": "^7.23.8",
"@babel/plugin-transform-computed-properties": "^7.23.3",
"@babel/plugin-transform-destructuring": "^7.23.3",
"@babel/plugin-transform-dotall-regex": "^7.23.3",
@@ -1647,9 +1646,9 @@
"dev": true
},
"node_modules/@babel/runtime": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz",
- "integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==",
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
+ "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
"dev": true,
"dependencies": {
"regenerator-runtime": "^0.14.0"
@@ -2195,9 +2194,9 @@
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.20",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
- "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
+ "version": "0.3.22",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
+ "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
"dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
@@ -2248,9 +2247,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz",
- "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz",
+ "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==",
"cpu": [
"arm"
],
@@ -2261,9 +2260,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz",
- "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz",
+ "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==",
"cpu": [
"arm64"
],
@@ -2274,9 +2273,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz",
- "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz",
+ "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==",
"cpu": [
"arm64"
],
@@ -2287,9 +2286,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz",
- "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz",
+ "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==",
"cpu": [
"x64"
],
@@ -2300,9 +2299,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz",
- "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz",
+ "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==",
"cpu": [
"arm"
],
@@ -2313,9 +2312,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz",
- "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz",
+ "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==",
"cpu": [
"arm64"
],
@@ -2326,9 +2325,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz",
- "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz",
+ "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==",
"cpu": [
"arm64"
],
@@ -2339,9 +2338,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz",
- "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz",
+ "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==",
"cpu": [
"riscv64"
],
@@ -2352,9 +2351,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz",
- "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz",
+ "integrity": "sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==",
"cpu": [
"x64"
],
@@ -2365,9 +2364,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz",
- "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz",
+ "integrity": "sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==",
"cpu": [
"x64"
],
@@ -2378,9 +2377,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz",
- "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz",
+ "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==",
"cpu": [
"arm64"
],
@@ -2391,9 +2390,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz",
- "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz",
+ "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==",
"cpu": [
"ia32"
],
@@ -2404,9 +2403,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz",
- "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz",
+ "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==",
"cpu": [
"x64"
],
@@ -2438,15 +2437,15 @@
}
},
"node_modules/@types/estree": {
- "version": "0.0.39",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
- "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
"node_modules/@types/node": {
- "version": "20.10.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz",
- "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==",
+ "version": "20.11.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz",
+ "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
@@ -2481,49 +2480,49 @@
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.3.tgz",
- "integrity": "sha512-u8jzgFg0EDtSrb/hG53Wwh1bAOQFtc1ZCegBpA/glyvTlgHl+tq13o1zvRfLbegYUw/E4mSTGOiCnAJ9SJ+lsg==",
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.15.tgz",
+ "integrity": "sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==",
"dependencies": {
"@babel/parser": "^7.23.6",
- "@vue/shared": "3.4.3",
+ "@vue/shared": "3.4.15",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.0.2"
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.3.tgz",
- "integrity": "sha512-oGF1E9/htI6JWj/lTJgr6UgxNCtNHbM6xKVreBWeZL9QhRGABRVoWGAzxmtBfSOd+w0Zi5BY0Es/tlJrN6WgEg==",
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.15.tgz",
+ "integrity": "sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==",
"dependencies": {
- "@vue/compiler-core": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/compiler-core": "3.4.15",
+ "@vue/shared": "3.4.15"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.3.tgz",
- "integrity": "sha512-NuJqb5is9I4uzv316VRUDYgIlPZCG8D+ARt5P4t5UDShIHKL25J3TGZAUryY/Aiy0DsY7srJnZL5ryB6DD63Zw==",
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.15.tgz",
+ "integrity": "sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==",
"dependencies": {
"@babel/parser": "^7.23.6",
- "@vue/compiler-core": "3.4.3",
- "@vue/compiler-dom": "3.4.3",
- "@vue/compiler-ssr": "3.4.3",
- "@vue/shared": "3.4.3",
+ "@vue/compiler-core": "3.4.15",
+ "@vue/compiler-dom": "3.4.15",
+ "@vue/compiler-ssr": "3.4.15",
+ "@vue/shared": "3.4.15",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.5",
- "postcss": "^8.4.32",
+ "postcss": "^8.4.33",
"source-map-js": "^1.0.2"
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.3.tgz",
- "integrity": "sha512-wnYQtMBkeFSxgSSQbYGQeXPhQacQiog2c6AlvMldQH6DB+gSXK/0F6DVXAJfEiuBSgBhUc8dwrrG5JQcqwalsA==",
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.15.tgz",
+ "integrity": "sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==",
"dependencies": {
- "@vue/compiler-dom": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/compiler-dom": "3.4.15",
+ "@vue/shared": "3.4.15"
}
},
"node_modules/@vue/devtools-api": {
@@ -2532,48 +2531,48 @@
"integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA=="
},
"node_modules/@vue/reactivity": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.3.tgz",
- "integrity": "sha512-q5f9HLDU+5aBKizXHAx0w4whkIANs1Muiq9R5YXm0HtorSlflqv9u/ohaMxuuhHWCji4xqpQ1eL04WvmAmGnFg==",
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.15.tgz",
+ "integrity": "sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==",
"dependencies": {
- "@vue/shared": "3.4.3"
+ "@vue/shared": "3.4.15"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.3.tgz",
- "integrity": "sha512-C1r6QhB1qY7D591RCSFhMULyzL9CuyrGc+3PpB0h7dU4Qqw6GNyo4BNFjHZVvsWncrUlKX3DIKg0Y7rNNr06NQ==",
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.15.tgz",
+ "integrity": "sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==",
"dependencies": {
- "@vue/reactivity": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/reactivity": "3.4.15",
+ "@vue/shared": "3.4.15"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.3.tgz",
- "integrity": "sha512-wrsprg7An5Ec+EhPngWdPuzkp0BEUxAKaQtN9dPU/iZctPyD9aaXmVtehPJerdQxQale6gEnhpnfywNw3zOv2A==",
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.15.tgz",
+ "integrity": "sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==",
"dependencies": {
- "@vue/runtime-core": "3.4.3",
- "@vue/shared": "3.4.3",
+ "@vue/runtime-core": "3.4.15",
+ "@vue/shared": "3.4.15",
"csstype": "^3.1.3"
}
},
"node_modules/@vue/server-renderer": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.3.tgz",
- "integrity": "sha512-BUxt8oVGMKKsqSkM1uU3d3Houyfy4WAc2SpSQRebNd+XJGATVkW/rO129jkyL+kpB/2VRKzE63zwf5RtJ3XuZw==",
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.15.tgz",
+ "integrity": "sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==",
"dependencies": {
- "@vue/compiler-ssr": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/compiler-ssr": "3.4.15",
+ "@vue/shared": "3.4.15"
},
"peerDependencies": {
- "vue": "3.4.3"
+ "vue": "3.4.15"
}
},
"node_modules/@vue/shared": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.3.tgz",
- "integrity": "sha512-rIwlkkP1n4uKrRzivAKPZIEkHiuwY5mmhMJ2nZKCBLz8lTUlE73rQh4n1OnnMurXt1vcUNyH4ZPfdh8QweTjpQ=="
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.15.tgz",
+ "integrity": "sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g=="
},
"node_modules/acorn": {
"version": "8.11.3",
@@ -2677,13 +2676,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.7",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz",
- "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==",
+ "version": "0.4.8",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz",
+ "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.4.4",
+ "@babel/helper-define-polyfill-provider": "^0.5.0",
"semver": "^6.3.1"
},
"peerDependencies": {
@@ -2703,13 +2702,29 @@
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
- "node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz",
- "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==",
+ "node_modules/babel-plugin-polyfill-corejs3/node_modules/@babel/helper-define-polyfill-provider": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz",
+ "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==",
"dev": true,
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.4"
+ "@babel/helper-compilation-targets": "^7.22.6",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-regenerator": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz",
+ "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.5.0"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -2722,9 +2737,9 @@
"dev": true
},
"node_modules/bootstrap-icons": {
- "version": "1.11.2",
- "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.11.2.tgz",
- "integrity": "sha512-TgdiPv+IM9tgDb+dsxrnGIyocsk85d2M7T0qIgkvPedZeoZfyeG/j+yiAE4uHCEayKef2RP05ahQ0/e9Sv75Wg==",
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.11.3.tgz",
+ "integrity": "sha512-+3lpHrCw/it2/7lBL15VR0HEumaBss0+f/Lb6ZvHISn1mlK83jjFpooTLsMWbIjJMDjDjOExMsTxnXSIT4k4ww==",
"funding": [
{
"type": "github",
@@ -2823,9 +2838,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001572",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz",
- "integrity": "sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==",
+ "version": "1.0.30001579",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz",
+ "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==",
"dev": true,
"funding": [
{
@@ -2928,9 +2943,9 @@
"dev": true
},
"node_modules/core-js-compat": {
- "version": "3.35.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.0.tgz",
- "integrity": "sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==",
+ "version": "3.35.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.1.tgz",
+ "integrity": "sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==",
"dev": true,
"dependencies": {
"browserslist": "^4.22.2"
@@ -3021,9 +3036,9 @@
}
},
"node_modules/dompurify": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.6.tgz",
- "integrity": "sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w=="
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.8.tgz",
+ "integrity": "sha512-b7uwreMYL2eZhrSCRC4ahLTeZcPZxSmYfmcQGXGkXiZSNW1X85v+SDM5KsWcpivIiUBH47Ji7NtyUdpLeF5JZQ=="
},
"node_modules/ejs": {
"version": "3.1.9",
@@ -3041,9 +3056,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.616",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz",
- "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==",
+ "version": "1.4.640",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz",
+ "integrity": "sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA==",
"dev": true
},
"node_modules/eme-encryption-scheme-polyfill": {
@@ -4357,9 +4372,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
- "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
+ "version": "8.4.33",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
+ "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
"funding": [
{
"type": "opencollective",
@@ -4384,9 +4399,9 @@
}
},
"node_modules/prettier": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz",
- "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz",
+ "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==",
"dev": true,
"bin": {
"prettier": "bin/prettier.cjs"
@@ -4573,10 +4588,13 @@
}
},
"node_modules/rollup": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz",
- "integrity": "sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==",
+ "version": "4.9.6",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz",
+ "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==",
"dev": true,
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
"bin": {
"rollup": "dist/bin/rollup"
},
@@ -4585,19 +4603,19 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.9.2",
- "@rollup/rollup-android-arm64": "4.9.2",
- "@rollup/rollup-darwin-arm64": "4.9.2",
- "@rollup/rollup-darwin-x64": "4.9.2",
- "@rollup/rollup-linux-arm-gnueabihf": "4.9.2",
- "@rollup/rollup-linux-arm64-gnu": "4.9.2",
- "@rollup/rollup-linux-arm64-musl": "4.9.2",
- "@rollup/rollup-linux-riscv64-gnu": "4.9.2",
- "@rollup/rollup-linux-x64-gnu": "4.9.2",
- "@rollup/rollup-linux-x64-musl": "4.9.2",
- "@rollup/rollup-win32-arm64-msvc": "4.9.2",
- "@rollup/rollup-win32-ia32-msvc": "4.9.2",
- "@rollup/rollup-win32-x64-msvc": "4.9.2",
+ "@rollup/rollup-android-arm-eabi": "4.9.6",
+ "@rollup/rollup-android-arm64": "4.9.6",
+ "@rollup/rollup-darwin-arm64": "4.9.6",
+ "@rollup/rollup-darwin-x64": "4.9.6",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.9.6",
+ "@rollup/rollup-linux-arm64-gnu": "4.9.6",
+ "@rollup/rollup-linux-arm64-musl": "4.9.6",
+ "@rollup/rollup-linux-riscv64-gnu": "4.9.6",
+ "@rollup/rollup-linux-x64-gnu": "4.9.6",
+ "@rollup/rollup-linux-x64-musl": "4.9.6",
+ "@rollup/rollup-win32-arm64-msvc": "4.9.6",
+ "@rollup/rollup-win32-ia32-msvc": "4.9.6",
+ "@rollup/rollup-win32-x64-msvc": "4.9.6",
"fsevents": "~2.3.2"
}
},
@@ -4625,13 +4643,13 @@
}
},
"node_modules/safe-array-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz",
- "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
+ "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1",
+ "call-bind": "^1.0.5",
+ "get-intrinsic": "^1.2.2",
"has-symbols": "^1.0.3",
"isarray": "^2.0.5"
},
@@ -4663,15 +4681,18 @@
]
},
"node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz",
+ "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
+ "call-bind": "^1.0.5",
+ "get-intrinsic": "^1.2.2",
"is-regex": "^1.1.4"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -4700,15 +4721,16 @@
}
},
"node_modules/set-function-length": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
- "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
+ "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
"dev": true,
"dependencies": {
"define-data-property": "^1.1.1",
- "get-intrinsic": "^1.2.1",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.2",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
+ "has-property-descriptors": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -4729,9 +4751,9 @@
}
},
"node_modules/shaka-player": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/shaka-player/-/shaka-player-4.7.1.tgz",
- "integrity": "sha512-UrCQ6jLOCpKTRvjEyNILiYFIfdgyOyijkhZUERamV/ldMEn5O0r9YDXviK/rTTJRNA53HpM/q8T0zBmq6oK33g==",
+ "version": "4.7.6",
+ "resolved": "https://registry.npmjs.org/shaka-player/-/shaka-player-4.7.6.tgz",
+ "integrity": "sha512-7AB3jQLtNFpdxxI1YiuFPGIGCVr25EtWAmmWJvHvhvRbJULe4VrP7UL4TXlHLiJ/fONFdjM61xfI2vh15upEwA==",
"dependencies": {
"eme-encryption-scheme-polyfill": "^2.1.1"
},
@@ -4754,9 +4776,9 @@
}
},
"node_modules/sortablejs": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.1.tgz",
- "integrity": "sha512-P5Cjvb0UG1ZVNiDPj/n4V+DinttXG6K8n7vM/HQf0C25K3YKQTQY6fsr/sEGsJGpQ9exmPxluHxKBc0mLKU1lQ=="
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.2.tgz",
+ "integrity": "sha512-FJF5jgdfvoKn1MAKSdGs33bIqLi3LmsgVTliuX6iITj834F+JRQZN90Z93yql8h0K2t0RwDPBmxwlbZfDcxNZA=="
},
"node_modules/source-map": {
"version": "0.8.0-beta.0",
@@ -4944,9 +4966,9 @@
}
},
"node_modules/terser": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz",
- "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==",
+ "version": "5.27.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz",
+ "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==",
"dev": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -5200,9 +5222,9 @@
}
},
"node_modules/vite": {
- "version": "5.0.10",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz",
- "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==",
+ "version": "5.0.12",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz",
+ "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==",
"dev": true,
"dependencies": {
"esbuild": "^0.19.3",
@@ -5279,15 +5301,15 @@
}
},
"node_modules/vue": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.3.tgz",
- "integrity": "sha512-GjN+culMAGv/mUbkIv8zMKItno8npcj5gWlXkSxf1SPTQf8eJ4A+YfHIvQFyL1IfuJcMl3soA7SmN1fRxbf/wA==",
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.15.tgz",
+ "integrity": "sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==",
"dependencies": {
- "@vue/compiler-dom": "3.4.3",
- "@vue/compiler-sfc": "3.4.3",
- "@vue/runtime-dom": "3.4.3",
- "@vue/server-renderer": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/compiler-dom": "3.4.15",
+ "@vue/compiler-sfc": "3.4.15",
+ "@vue/runtime-dom": "3.4.15",
+ "@vue/server-renderer": "3.4.15",
+ "@vue/shared": "3.4.15"
},
"peerDependencies": {
"typescript": "*"
@@ -5502,6 +5524,12 @@
"rollup": "^1.20.0||^2.0.0"
}
},
+ "node_modules/workbox-build/node_modules/@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
"node_modules/workbox-build/node_modules/estree-walker": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
diff --git a/package.json b/package.json
index 93a156b..d67bced 100644
--- a/package.json
+++ b/package.json
@@ -10,18 +10,18 @@
"lint": "prettier --check ."
},
"dependencies": {
- "bootstrap-icons": "^1.11.2",
- "dompurify": "^3.0.6",
+ "bootstrap-icons": "^1.11.3",
+ "dompurify": "^3.0.8",
"peerjs": "^1.5.2",
"pinia": "^2.1.7",
- "shaka-player": "^4.7.1",
- "sortablejs": "^1.15.1",
+ "shaka-player": "^4.7.6",
+ "sortablejs": "^1.15.2",
"vue": "^3.2.38"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.6.2",
- "prettier": "^3.1.1",
- "vite": "^5.0.10",
+ "prettier": "^3.2.4",
+ "vite": "^5.0.12",
"vite-plugin-pwa": "^0.17.4"
}
}
diff --git a/src/App.vue b/src/App.vue
index b2889d1..f51b082 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -30,7 +30,7 @@ const Genres = defineAsyncComponent(() => import('@/components/Genres.vue')),
);
/* Composables */
-import { useStore, useUnwrap } from '@/scripts/util.js';
+import { useStore, useUnwrap, useAutoTheme } from '@/scripts/util.js';
import { useSetupDB, useUpdatePlaylist } from '@/scripts/db.js';
/* Stores */
@@ -134,11 +134,14 @@ function playList(a) {
/* Lifestyle hooks */
onBeforeMount(() => {
/* Set the default theme if set */
- if (store.theme) document.body.setAttribute('data-theme', store.theme);
+ if (store.theme)
+ document.body.setAttribute('data-theme', useAutoTheme(store.theme));
+
if (store.compact == 'true') document.body.setAttribute('data-compact', '');
/* Prefers Reduced Motion */
- if (store.prm == 'true') document.body.classList.add('prm');
+ if (store.prm == 'true' || matchMedia('(prefers-reduced-motion)').matches)
+ document.body.classList.add('prm');
/* Set the default locale if set */
const loc =
diff --git a/src/assets/version.json b/src/assets/version.json
index 9a17eab..fa1b443 100644
--- a/src/assets/version.json
+++ b/src/assets/version.json
@@ -1,3 +1,3 @@
{
- "date": "2024-01-01"
+ "date": "2024-01-21"
}
diff --git a/src/components/Lyrics.vue b/src/components/Lyrics.vue
index 271357c..413c3a4 100644
--- a/src/components/Lyrics.vue
+++ b/src/components/Lyrics.vue
@@ -24,13 +24,18 @@ function set(id) {
function get() {
status.value = false;
- if (data.state.lyrics && data.state.urls === data.state.url) {
- set(data.state.lyrics);
+ const now = data.current();
+
+ if (now.lyrics) {
+ set(now.lyrics);
} else if (data.state.url) {
getJsonHyp(
'/next/' + data.state.url.replace('/watch?v=', '') + '?queue=avoid',
).then(({ lyricsId }) => {
- if (lyricsId) set(lyricsId);
+ if (lyricsId) {
+ set(lyricsId);
+ now.lyrics = lyricsId;
+ }
});
}
}
diff --git a/src/components/Prefs.vue b/src/components/Prefs.vue
index 23ec431..bb4ec11 100644
--- a/src/components/Prefs.vue
+++ b/src/components/Prefs.vue
@@ -8,7 +8,7 @@ import {
useAuthLogout,
} from '@/scripts/fetch.js';
-import { useStore } from '@/scripts/util.js';
+import { useStore, useAutoTheme } from '@/scripts/util.js';
import { SUPPORTED_LOCALES, useI18n } from '@/stores/misc.js';
const date = ref('unknown');
@@ -60,7 +60,7 @@ function getTheme() {
}
function setTheme(theme) {
- document.body.setAttribute('data-theme', theme);
+ document.body.setAttribute('data-theme', useAutoTheme(theme));
setStore('theme', theme);
}
@@ -142,6 +142,7 @@ onMounted(() => {
class="input"
:value="getTheme()"
@change="setTheme($event.target.value)">
+
diff --git a/src/locales/en.json b/src/locales/en.json
index 068f536..68a8c30 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -65,9 +65,9 @@
"auto_queue": "Automatically Queue Songs",
"codec": "Codec",
"quality": "Quality",
- "auto": "auto",
- "best": "best",
- "worst": "worst",
+ "auto": "Auto",
+ "best": "Best",
+ "worst": "Worst",
"volume": "Default Volume",
"home": "Home",
"explore": "Explore",
diff --git a/src/scripts/util.js b/src/scripts/util.js
index fe2bb3d..3b1596b 100644
--- a/src/scripts/util.js
+++ b/src/scripts/util.js
@@ -11,6 +11,14 @@ export function useSanitize(txt) {
});
}
+export function useAutoTheme(t) {
+ return t == 'auto'
+ ? matchMedia('(prefers-color-scheme: light)').matches
+ ? 'light'
+ : 'dark'
+ : t;
+}
+
export function useVerifyAuth(hash) {
return PL_EXP.test(hash);
}
@@ -62,10 +70,8 @@ export function useShare(data) {
}
}
-export function useMetadata(url, urls, data) {
+export function useMetadata(now, data) {
if ('mediaSession' in navigator) {
- const now = urls.find(u => u.url === url);
-
let artwork = [],
album = undefined;
@@ -73,7 +79,7 @@ export function useMetadata(url, urls, data) {
album = now.subtitle;
if (now.thumbnails) {
- artwork = now.thumbnails.map(t => ({
+ artwork = now.thumbnails.reverse().map(t => ({
sizes: t.width && t.height ? t.width + 'x' + t.height : '512x512',
src: t.url,
type: 'image/webp',
diff --git a/src/stores/player.js b/src/stores/player.js
index da2b16a..8f2c196 100644
--- a/src/stores/player.js
+++ b/src/stores/player.js
@@ -62,6 +62,8 @@ export const useData = defineStore('data', () => {
? '/watch?v=' + json.songs[0].id
: '/watch?v=' + hash;
+ json.songs[0] &&= { ...json.songs[0], ...{ lyrics: json.lyricsId } };
+
state.urls =
json.songs.length > 0
? json.songs.map(i => ({
@@ -72,34 +74,25 @@ export const useData = defineStore('data', () => {
},
}))
: state.urls;
+ } else if (state.urls.length == 0)
+ state.urls = [
+ {
+ title: state.title,
+ url: state.url,
+ },
+ ];
- useMetadata(state.url, state.urls, {
- title: state.title,
- artist: state.artist,
- art: state.art,
- });
- } else {
- if (state.urls.length == 0) {
- state.urls = [
- {
- title: state.title,
- url: state.url,
- },
- ];
- }
-
- useMetadata(state.url, state.urls, {
- title: state.title,
- artist: state.artist,
- art: state.art,
- });
- }
+ useMetadata(state.current(), {
+ title: state.title,
+ artist: state.artist,
+ art: state.art,
+ });
}
function playNext() {
const i = state.urls.findIndex(s => s.url === state.url);
- if (player.state.loop == 2) getSong(state.url);
+ if (player.state.loop == 2) play(state.urls[i]);
else if (
state.urls.length > i &&
state.urls.length != 0 &&
@@ -117,8 +110,8 @@ export const useData = defineStore('data', () => {
if (state.urls[i - 1]) play(state.urls[i - 1]);
else if (player.state.loop == 1) {
- state.url = state.urls[state.urls.length - 1].url;
- play(state.urls[state.urls.length - 1]);
+ state.url = state.urls.at(-1).url;
+ play(state.urls.at(-1));
} else state.urls = [];
}
@@ -132,7 +125,11 @@ export const useData = defineStore('data', () => {
} else state.urls = [];
}
- return { state, getSong, play, playNext, prevTrack, nextTrack };
+ function current() {
+ return state.urls.find(i => i.url == state.url);
+ }
+
+ return { state, getSong, play, playNext, prevTrack, nextTrack, current };
});
export const usePlayer = defineStore('player', () => {