Compare commits

...

18 Commits

Author SHA1 Message Date
renovate[bot] 13f7bdc660
Merge 8b4b1e2d19 into e82c2fbf61 2024-05-16 19:26:38 -04:00
github-actions[bot] e82c2fbf61
Merge pull request #3624 from TeamPiped/weblate
Translations update from Hosted Weblate
2024-05-16 21:03:19 +00:00
Ghost of Sparta f3e707efd2
Translated using Weblate (Hungarian)
Currently translated at 100.0% (212 of 212 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/hu/
2024-05-16 23:01:54 +02:00
0que 6d80fb42df
Translated using Weblate (Russian)
Currently translated at 100.0% (212 of 212 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/ru/
2024-05-16 23:01:53 +02:00
Matthaiks 064b7c409a
Translated using Weblate (Polish)
Currently translated at 100.0% (212 of 212 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/pl/
2024-05-16 23:01:52 +02:00
Oğuz Ersen 3e560bf4ba
Translated using Weblate (Turkish)
Currently translated at 100.0% (212 of 212 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/tr/
2024-05-16 23:01:51 +02:00
github-actions[bot] b9cea6e4cd
Merge pull request #3623 from TeamPiped/weblate
Translations update from Hosted Weblate
2024-05-16 16:28:10 +00:00
Priit Jõerüüt 9727295a16
Translated using Weblate (Estonian)
Currently translated at 100.0% (210 of 210 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/et/
2024-05-16 18:26:28 +02:00
Matthaiks debc10a899
Translated using Weblate (Polish)
Currently translated at 100.0% (210 of 210 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/pl/
2024-05-16 18:26:28 +02:00
Bnyro a43d56984d
Merge pull request #3622 from Bnyro/master
feat: custom playback speed option
2024-05-16 18:26:20 +02:00
Bnyro cdb9d0188a feat: custom playback speed option 2024-05-16 18:24:43 +02:00
Bnyro c30062eb94
Merge pull request #3610 from TeamPiped/renovate/dompurify-3.x
fix(deps): update dependency dompurify to v3.1.3
2024-05-16 17:18:56 +02:00
Bnyro adeb0a92bd
Merge pull request #3621 from Bnyro/master
fix: links in comments are not clickable
2024-05-16 17:18:39 +02:00
Bnyro afd5c5b3b8 fix: links in comments are not clickable 2024-05-16 17:18:19 +02:00
Bnyro ba4e946dc2
Merge pull request #3620 from Bnyro/master
feat: show tooltips when creator replied / liked comment
2024-05-16 17:04:35 +02:00
Bnyro ca5e39dfd8 feat: show tooltips when creator replied / liked comment 2024-05-16 17:04:08 +02:00
renovate[bot] 8b4b1e2d19
chore(deps): update unocss to v0.60.2 2024-05-12 13:13:30 +00:00
renovate[bot] eccf4d1f78
fix(deps): update dependency dompurify to v3.1.3 2024-05-11 12:44:43 +00:00
12 changed files with 224 additions and 184 deletions

View File

@ -11,7 +11,7 @@
"lint": "eslint --fix --color --ignore-path .gitignore --ext .js,.vue ."
},
"dependencies": {
"dompurify": "3.1.2",
"dompurify": "3.1.3",
"fast-xml-parser": "4.3.6",
"hotkeys-js": "3.13.7",
"javascript-time-ago": "2.5.10",
@ -27,13 +27,13 @@
"@iconify-json/fa6-brands": "1.1.19",
"@iconify-json/fa6-solid": "1.1.21",
"@intlify/unplugin-vue-i18n": "4.0.0",
"@unocss/eslint-config": "0.58.9",
"@unocss/preset-icons": "0.58.9",
"@unocss/preset-uno": "0.58.9",
"@unocss/preset-web-fonts": "0.58.9",
"@unocss/reset": "0.58.9",
"@unocss/transformer-directives": "0.58.9",
"@unocss/transformer-variant-group": "0.58.9",
"@unocss/eslint-config": "0.60.2",
"@unocss/preset-icons": "0.60.2",
"@unocss/preset-uno": "0.60.2",
"@unocss/preset-web-fonts": "0.60.2",
"@unocss/reset": "0.60.2",
"@unocss/transformer-directives": "0.60.2",
"@unocss/transformer-variant-group": "0.60.2",
"@vitejs/plugin-legacy": "5.4.0",
"@vitejs/plugin-vue": "5.0.4",
"@vue/compiler-sfc": "3.4.25",
@ -43,7 +43,7 @@
"eslint-plugin-vue": "9.25.0",
"lightningcss": "1.24.1",
"prettier": "3.2.5",
"unocss": "0.58.9",
"unocss": "0.60.2",
"vite": "5.2.11",
"vite-plugin-eslint": "1.8.1",
"vite-plugin-pwa": "0.20.0",

View File

@ -6,8 +6,8 @@ settings:
dependencies:
dompurify:
specifier: 3.1.2
version: 3.1.2
specifier: 3.1.3
version: 3.1.3
fast-xml-parser:
specifier: 4.3.6
version: 4.3.6
@ -50,26 +50,26 @@ devDependencies:
specifier: 4.0.0
version: 4.0.0(rollup@2.79.1)(vue-i18n@9.13.1)
'@unocss/eslint-config':
specifier: 0.58.9
version: 0.58.9(eslint@8.57.0)(typescript@5.4.5)
specifier: 0.60.2
version: 0.60.2(eslint@8.57.0)(typescript@5.4.5)
'@unocss/preset-icons':
specifier: 0.58.9
version: 0.58.9
specifier: 0.60.2
version: 0.60.2
'@unocss/preset-uno':
specifier: 0.58.9
version: 0.58.9
specifier: 0.60.2
version: 0.60.2
'@unocss/preset-web-fonts':
specifier: 0.58.9
version: 0.58.9
specifier: 0.60.2
version: 0.60.2
'@unocss/reset':
specifier: 0.58.9
version: 0.58.9
specifier: 0.60.2
version: 0.60.2
'@unocss/transformer-directives':
specifier: 0.58.9
version: 0.58.9
specifier: 0.60.2
version: 0.60.2
'@unocss/transformer-variant-group':
specifier: 0.58.9
version: 0.58.9
specifier: 0.60.2
version: 0.60.2
'@vitejs/plugin-legacy':
specifier: 5.4.0
version: 5.4.0(terser@5.31.0)(vite@5.2.11)
@ -98,8 +98,8 @@ devDependencies:
specifier: 3.2.5
version: 3.2.5
unocss:
specifier: 0.58.9
version: 0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.11)
specifier: 0.60.2
version: 0.60.2(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.11)
vite:
specifier: 5.2.11
version: 5.2.11(lightningcss@1.24.1)(terser@5.31.0)
@ -2130,32 +2130,32 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
/@unocss/astro@0.58.9(rollup@2.79.1)(vite@5.2.11):
resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==}
/@unocss/astro@0.60.2(rollup@2.79.1)(vite@5.2.11):
resolution: {integrity: sha512-H8kJHj8aCQXksr0o7OpHqNkzm0RmpOm+qCt8vRcJJVFrdzQyaIQ/vyq3BUTV0Ex6OSzPirTe8fOaWoZdKtKf2Q==}
peerDependencies:
vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
peerDependenciesMeta:
vite:
optional: true
dependencies:
'@unocss/core': 0.58.9
'@unocss/reset': 0.58.9
'@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.11)
'@unocss/core': 0.60.2
'@unocss/reset': 0.60.2
'@unocss/vite': 0.60.2(rollup@2.79.1)(vite@5.2.11)
vite: 5.2.11(lightningcss@1.24.1)(terser@5.31.0)
transitivePeerDependencies:
- rollup
dev: true
/@unocss/cli@0.58.9(rollup@2.79.1):
resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==}
/@unocss/cli@0.60.2(rollup@2.79.1):
resolution: {integrity: sha512-zX7eM95UI6LpKRfHTr8T2gSlFFXemPUswBxR5H4vPVlLeeCOhJWfc04vGdtSwoix5qFdnhQWIwzXGXAaB+kwoA==}
engines: {node: '>=14'}
hasBin: true
dependencies:
'@ampproject/remapping': 2.3.0
'@rollup/pluginutils': 5.1.0(rollup@2.79.1)
'@unocss/config': 0.58.9
'@unocss/core': 0.58.9
'@unocss/preset-uno': 0.58.9
'@unocss/config': 0.60.2
'@unocss/core': 0.60.2
'@unocss/preset-uno': 0.60.2
cac: 6.7.14
chokidar: 3.6.0
colorette: 2.0.20
@ -2168,36 +2168,36 @@ packages:
- rollup
dev: true
/@unocss/config@0.58.9:
resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==}
/@unocss/config@0.60.2:
resolution: {integrity: sha512-EEgivE1xEnamAsYMcmjUmLJjOa9dBdV2zygT/blSFyX6rMfA4OuRlZ8hgfeWrHImZGiTXUU0jV2EaRmK9jEImQ==}
engines: {node: '>=14'}
dependencies:
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
unconfig: 0.3.13
dev: true
/@unocss/core@0.58.9:
resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==}
/@unocss/core@0.60.2:
resolution: {integrity: sha512-9i+eAJAqvy9bv0vrQxUU7VtR+wO6Vfk6dqrPHKRV/vlbwRT18v/C++dQ2L6PLM1CKxgNTeld0iTlpo8J3xZlxQ==}
dev: true
/@unocss/eslint-config@0.58.9(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-7Cf9NVPQqdhd6rbe2JDlqY9bBwuFfxvZOmeEUcKaI10QNNrDNvnMKd8rToxCdm5RToSjNeuj66V/scl8Kv8rfQ==}
/@unocss/eslint-config@0.60.2(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-0/xwt+417V/D3n4HKaruphNM78Ur8FfwilogPH6aYWZlEfp3GPGNZCwb2ZPCHKqrqhmXv4XM4WKz0lYDYBz86A==}
engines: {node: '>=14'}
dependencies:
'@unocss/eslint-plugin': 0.58.9(eslint@8.57.0)(typescript@5.4.5)
'@unocss/eslint-plugin': 0.60.2(eslint@8.57.0)(typescript@5.4.5)
transitivePeerDependencies:
- eslint
- supports-color
- typescript
dev: true
/@unocss/eslint-plugin@0.58.9(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-StlHO850jow2w/PTA01opkGAD6WO+iu65fxel062gp/aeoO/cRwVlQntVX7Z8QHDGXnftjW83RjvX9LqW8+iLw==}
/@unocss/eslint-plugin@0.60.2(eslint@8.57.0)(typescript@5.4.5):
resolution: {integrity: sha512-F3yZza5cqVJudg6YNp4IxaUWK+9vHVXCMyKDbShi4WUY4fdFwc7c/NU20CnO50K4mB+764K06ocXUr2RsMULlA==}
engines: {node: '>=14'}
dependencies:
'@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
'@unocss/config': 0.58.9
'@unocss/core': 0.58.9
'@unocss/config': 0.60.2
'@unocss/core': 0.60.2
magic-string: 0.30.10
synckit: 0.9.0
transitivePeerDependencies:
@ -2206,162 +2206,162 @@ packages:
- typescript
dev: true
/@unocss/extractor-arbitrary-variants@0.58.9:
resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==}
/@unocss/extractor-arbitrary-variants@0.60.2:
resolution: {integrity: sha512-uO4ZPUcaYvyWshXnqzFnSWeh+Du6xVYwaz3oBKq4n7Ryw2Grc0IhiZe6n9MC8w6nkbopdo6ngr5LnFGp86horQ==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
dev: true
/@unocss/inspector@0.58.9:
resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==}
/@unocss/inspector@0.60.2:
resolution: {integrity: sha512-tc+TtTA7yNCS10oT7MfI2rEv1KErwLgEDRvBLCM1vsXmjzsGxkhqnT3vT5pqRkENYh/QhmIfpz1899GvH8WBMQ==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/rule-utils': 0.58.9
'@unocss/core': 0.60.2
'@unocss/rule-utils': 0.60.2
gzip-size: 6.0.0
sirv: 2.0.4
dev: true
/@unocss/postcss@0.58.9(postcss@8.4.38):
resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==}
/@unocss/postcss@0.60.2(postcss@8.4.38):
resolution: {integrity: sha512-fGXzhx5bh1iYxQ0wThmUsu+KMxCTqZsQQZ/a2kbTNzmOIslX1/cCWaQ62BWsfER7rOnZVG6DzGR+3CzVcDzuXg==}
engines: {node: '>=14'}
peerDependencies:
postcss: ^8.4.21
dependencies:
'@unocss/config': 0.58.9
'@unocss/core': 0.58.9
'@unocss/rule-utils': 0.58.9
'@unocss/config': 0.60.2
'@unocss/core': 0.60.2
'@unocss/rule-utils': 0.60.2
css-tree: 2.3.1
fast-glob: 3.3.2
magic-string: 0.30.10
postcss: 8.4.38
dev: true
/@unocss/preset-attributify@0.58.9:
resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==}
/@unocss/preset-attributify@0.60.2:
resolution: {integrity: sha512-PQDObhVtopL/eEceAHX/pBmPQhm50l4yhTu/pMH31hL13DuRYODngWe00jjgmMRTwIAFpMpDVKk2GjxeD05+cQ==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
dev: true
/@unocss/preset-icons@0.58.9:
resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==}
/@unocss/preset-icons@0.60.2:
resolution: {integrity: sha512-knE4CKn4tgjvyZQSZTuC5FIO2/jcP1AWBvpWyJTax5kcKAIrL8IU4b7PhiPwPrQpe0LBTtyQKWCXqWXp7DhDwA==}
dependencies:
'@iconify/utils': 2.1.23
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
ofetch: 1.3.4
transitivePeerDependencies:
- supports-color
dev: true
/@unocss/preset-mini@0.58.9:
resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==}
/@unocss/preset-mini@0.60.2:
resolution: {integrity: sha512-Vp5UWzD9FgxeYNhyJIXjMt8HyL7joGJWzmFa2zR8ZAYZ+WIIIJWtxa+9/H8gJgnGTWa2H9oyj9h3IqOYT/lmSg==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/extractor-arbitrary-variants': 0.58.9
'@unocss/rule-utils': 0.58.9
'@unocss/core': 0.60.2
'@unocss/extractor-arbitrary-variants': 0.60.2
'@unocss/rule-utils': 0.60.2
dev: true
/@unocss/preset-tagify@0.58.9:
resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==}
/@unocss/preset-tagify@0.60.2:
resolution: {integrity: sha512-M730DpoPJ8/uG7aKme9EYrzspr0WfKp7z3CTpb2hb4YHuiCXmiTjdxo5xa9vK3ZGQTZlUkG0rz3TLw8tRKqRDg==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
dev: true
/@unocss/preset-typography@0.58.9:
resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==}
/@unocss/preset-typography@0.60.2:
resolution: {integrity: sha512-QKJi1LbC/f8RwwSwV6yQCXu/8wlBcrNyKiUSe7o9I2NYP+mzINlp64pXEP43UtUQo6x8Dil/TuzpRqMFPG/pMA==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/preset-mini': 0.58.9
'@unocss/core': 0.60.2
'@unocss/preset-mini': 0.60.2
dev: true
/@unocss/preset-uno@0.58.9:
resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==}
/@unocss/preset-uno@0.60.2:
resolution: {integrity: sha512-ggOCehuBm6depGV+79heBlcYlwgcfbIMLnxbywZPIrLwPB/4YaTArBcG4giKILyu4p2PcodAZvfv4uYXrLaE5Q==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/preset-mini': 0.58.9
'@unocss/preset-wind': 0.58.9
'@unocss/rule-utils': 0.58.9
'@unocss/core': 0.60.2
'@unocss/preset-mini': 0.60.2
'@unocss/preset-wind': 0.60.2
'@unocss/rule-utils': 0.60.2
dev: true
/@unocss/preset-web-fonts@0.58.9:
resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==}
/@unocss/preset-web-fonts@0.60.2:
resolution: {integrity: sha512-1lHZVOR6JHkPOvFBQeqZLoAwDk9spUxrX2WfLSVL+sCuBLLeo8voa/LnCxPxKiQwKZGEEoh+qM2MKsLnRd+P6w==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
ofetch: 1.3.4
dev: true
/@unocss/preset-wind@0.58.9:
resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==}
/@unocss/preset-wind@0.60.2:
resolution: {integrity: sha512-9Ml2Wyn7LAcKfqHMJmflT/jdz5eLZtm3SEZKH5Lfk5MOyeVm6NDXjXK140u3zaP5tGKqtO6akJZGtYktWJ6+WQ==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/preset-mini': 0.58.9
'@unocss/rule-utils': 0.58.9
'@unocss/core': 0.60.2
'@unocss/preset-mini': 0.60.2
'@unocss/rule-utils': 0.60.2
dev: true
/@unocss/reset@0.58.9:
resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==}
/@unocss/reset@0.60.2:
resolution: {integrity: sha512-kM0DYAcbmzpAyHefa/W+cifBTScWeZGsNpKagMQ6vci6OlTUiDB1GcmhQZ6dC0Ks59GtPmRbzZLaK1MgG6ayrA==}
dev: true
/@unocss/rule-utils@0.58.9:
resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==}
/@unocss/rule-utils@0.60.2:
resolution: {integrity: sha512-pg3XbU0s0TmmRk0UkSV6wTlca+Zz5xe9V+Mk8a5QqVp0oJ2jNWHO9AfzF4NcvTzM2zV2a/WbpjSBgoK8iAz3zg==}
engines: {node: '>=14'}
dependencies:
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
magic-string: 0.30.10
dev: true
/@unocss/scope@0.58.9:
resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==}
/@unocss/scope@0.60.2:
resolution: {integrity: sha512-pdwNZzQBb6rllgCwirPPrydDZH2XL0DI8/W7iM1RKYiNeDYjoDAWdVD46CrRmxadiHesrhdIwDL6rQz7Q7bl0w==}
dev: true
/@unocss/transformer-attributify-jsx-babel@0.58.9:
resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==}
/@unocss/transformer-attributify-jsx-babel@0.60.2:
resolution: {integrity: sha512-mb66b39qsjyH7+XqC/0ciLdPatVKH5CfMDxUMvzczuFTQ/+V3VAN/Mm6Ru+oxMgbf7qPTALSnLgu6RUhEldTzA==}
dependencies:
'@babel/core': 7.24.5
'@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
'@babel/preset-typescript': 7.24.1(@babel/core@7.24.5)
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
transitivePeerDependencies:
- supports-color
dev: true
/@unocss/transformer-attributify-jsx@0.58.9:
resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==}
/@unocss/transformer-attributify-jsx@0.60.2:
resolution: {integrity: sha512-GZbtuZLz3COMhEqdc33zmn8cKupAzVeLcAV66EL+zj7hfZIvrIEs5RFajtzlkQa7RC5YOOjZfHxMccGBEP1RMQ==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
dev: true
/@unocss/transformer-compile-class@0.58.9:
resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==}
/@unocss/transformer-compile-class@0.60.2:
resolution: {integrity: sha512-dZfkGsqd7mdyRRCG8om5lTxQ4CjaaDka8gPbVawbDkK4U53G2vnN3daVlE7UflUXS32hOPj16RfOcb8cH+pypw==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
dev: true
/@unocss/transformer-directives@0.58.9:
resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==}
/@unocss/transformer-directives@0.60.2:
resolution: {integrity: sha512-p4ZtXoz1mZ125WfANFAD6pXwQJdA4lfff5abZfoDiTPLvtvYQFmwGCeBXUnEKAnBnTwwiBD2zsIwGfumWAsqrA==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/rule-utils': 0.58.9
'@unocss/core': 0.60.2
'@unocss/rule-utils': 0.60.2
css-tree: 2.3.1
dev: true
/@unocss/transformer-variant-group@0.58.9:
resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==}
/@unocss/transformer-variant-group@0.60.2:
resolution: {integrity: sha512-2eE2MZhFhNj+3fxO9VE1yC8LddUn9vetNZKrgGlegrBH/jOL9Pn/vygBmMAg1XFLEgC3DtvwdzCKMVttV30Ivw==}
dependencies:
'@unocss/core': 0.58.9
'@unocss/core': 0.60.2
dev: true
/@unocss/vite@0.58.9(rollup@2.79.1)(vite@5.2.11):
resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==}
/@unocss/vite@0.60.2(rollup@2.79.1)(vite@5.2.11):
resolution: {integrity: sha512-+gBjyT5z/aZgPIZxpUbiXyOt1diY9YQfIJStOhBG0MP6daMdDX78SnDuUq/zKMk9EJuZ3FxhbZF5dYSD4bhJmw==}
peerDependencies:
vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
dependencies:
'@ampproject/remapping': 2.3.0
'@rollup/pluginutils': 5.1.0(rollup@2.79.1)
'@unocss/config': 0.58.9
'@unocss/core': 0.58.9
'@unocss/inspector': 0.58.9
'@unocss/scope': 0.58.9
'@unocss/transformer-directives': 0.58.9
'@unocss/config': 0.60.2
'@unocss/core': 0.60.2
'@unocss/inspector': 0.60.2
'@unocss/scope': 0.60.2
'@unocss/transformer-directives': 0.60.2
chokidar: 3.6.0
fast-glob: 3.3.2
magic-string: 0.30.10
@ -2937,8 +2937,8 @@ packages:
esutils: 2.0.3
dev: true
/dompurify@3.1.2:
resolution: {integrity: sha512-hLGGBI1tw5N8qTELr3blKjAML/LY4ANxksbS612UiJyDfyf/2D092Pvm+S7pmeTGJRqvlJkFzBoHBQKgQlOQVg==}
/dompurify@3.1.3:
resolution: {integrity: sha512-5sOWYSNPaxz6o2MUPvtyxTTqR4D3L77pr5rUQoWgD5ROQtVIZQgJkXbo1DLlK3vj11YGw5+LnF4SYti4gZmwng==}
dev: false
/duplexer@0.1.2:
@ -5010,11 +5010,11 @@ packages:
engines: {node: '>= 10.0.0'}
dev: true
/unocss@0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.11):
resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==}
/unocss@0.60.2(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.11):
resolution: {integrity: sha512-Cj1IXS+VZuiZtQxHn/ffAAN422gUusUEgF1RS83WyNB0kMsJyIxb9KK9N425QAvQvsKpL5GrZs5KoNtU3zGMog==}
engines: {node: '>=14'}
peerDependencies:
'@unocss/webpack': 0.58.9
'@unocss/webpack': 0.60.2
vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
peerDependenciesMeta:
'@unocss/webpack':
@ -5022,26 +5022,26 @@ packages:
vite:
optional: true
dependencies:
'@unocss/astro': 0.58.9(rollup@2.79.1)(vite@5.2.11)
'@unocss/cli': 0.58.9(rollup@2.79.1)
'@unocss/core': 0.58.9
'@unocss/extractor-arbitrary-variants': 0.58.9
'@unocss/postcss': 0.58.9(postcss@8.4.38)
'@unocss/preset-attributify': 0.58.9
'@unocss/preset-icons': 0.58.9
'@unocss/preset-mini': 0.58.9
'@unocss/preset-tagify': 0.58.9
'@unocss/preset-typography': 0.58.9
'@unocss/preset-uno': 0.58.9
'@unocss/preset-web-fonts': 0.58.9
'@unocss/preset-wind': 0.58.9
'@unocss/reset': 0.58.9
'@unocss/transformer-attributify-jsx': 0.58.9
'@unocss/transformer-attributify-jsx-babel': 0.58.9
'@unocss/transformer-compile-class': 0.58.9
'@unocss/transformer-directives': 0.58.9
'@unocss/transformer-variant-group': 0.58.9
'@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.11)
'@unocss/astro': 0.60.2(rollup@2.79.1)(vite@5.2.11)
'@unocss/cli': 0.60.2(rollup@2.79.1)
'@unocss/core': 0.60.2
'@unocss/extractor-arbitrary-variants': 0.60.2
'@unocss/postcss': 0.60.2(postcss@8.4.38)
'@unocss/preset-attributify': 0.60.2
'@unocss/preset-icons': 0.60.2
'@unocss/preset-mini': 0.60.2
'@unocss/preset-tagify': 0.60.2
'@unocss/preset-typography': 0.60.2
'@unocss/preset-uno': 0.60.2
'@unocss/preset-web-fonts': 0.60.2
'@unocss/preset-wind': 0.60.2
'@unocss/reset': 0.60.2
'@unocss/transformer-attributify-jsx': 0.60.2
'@unocss/transformer-attributify-jsx-babel': 0.60.2
'@unocss/transformer-compile-class': 0.60.2
'@unocss/transformer-directives': 0.60.2
'@unocss/transformer-variant-group': 0.60.2
'@unocss/vite': 0.60.2(rollup@2.79.1)(vite@5.2.11)
vite: 5.2.11(lightningcss@1.24.1)(terser@5.31.0)
transitivePeerDependencies:
- postcss

View File

@ -3,7 +3,7 @@
<!-- eslint-disable-next-line vue/no-v-html -->
<span v-if="showFullText" class="contentText" v-html="fullText()" />
<!-- eslint-disable-next-line vue/no-v-html -->
<span v-else v-html="colapsedText()" />
<span v-else v-html="collapsedText()" />
<span v-if="text.length > visibleLimit && !showFullText">...</span>
<button
v-if="text.length > visibleLimit"
@ -38,7 +38,7 @@ export default {
fullText() {
return purifyHTML(rewriteDescription(this.text));
},
colapsedText() {
collapsedText() {
return purifyHTML(rewriteDescription(this.text.slice(0, this.visibleLimit)));
},
},

View File

@ -33,8 +33,13 @@
<div class="comment-footer my-1 flex items-center gap-3">
<div class="i-fa6-solid:thumbs-up" />
<span v-text="numberFormat(comment.likeCount)" />
<i v-if="comment.hearted" class="i-fa6-solid:heart" />
<img v-if="comment.creatorReplied" :src="uploaderAvatarUrl" class="h-5 w-5 rounded-full" />
<i v-if="comment.hearted" class="i-fa6-solid:heart" :title="$t('actions.creator_liked')" />
<img
v-if="comment.creatorReplied"
:src="uploaderAvatarUrl"
class="h-5 w-5 rounded-full"
:title="$t('actions.creator_replied')"
/>
</div>
<template v-if="comment.repliesPage && (!loadingReplies || !showingReplies)">
<div class="cursor-pointer" @click="loadReplies">

View File

@ -31,16 +31,32 @@
class="absolute top-8 rounded bg-black/80 p-2 text-lg backdrop-blur-sm"
/>
</div>
<ModalComponent v-if="showSpeedModal" @close="showSpeedModal = false">
<h2 v-t="'actions.playback_speed'" />
<div class="flex flex-col">
<input
v-model="playbackSpeedInput"
class="input my-3"
type="text"
:placeholder="$t('actions.playback_speed')"
@keyup.enter="setSpeedFromInput()"
/>
<button v-t="'actions.okay'" class="btn ml-auto w-min" @click="setSpeedFromInput()" />
</div>
</ModalComponent>
</template>
<script>
import "shaka-player/dist/controls.css";
import { parseTimeParam } from "@/utils/Misc";
import ModalComponent from "./ModalComponent.vue";
const shaka = import("shaka-player/dist/shaka-player.ui.js");
const hotkeys = import("hotkeys-js");
export default {
components: { ModalComponent },
props: {
video: {
type: Object,
@ -66,6 +82,8 @@ export default {
destroying: false,
inSegment: false,
isHoveringTimebar: false,
showSpeedModal: false,
playbackSpeedInput: null,
currentTime: 0,
seekbarPadding: 2,
error: 0,
@ -106,7 +124,7 @@ export default {
this.hotkeysPromise.then(() => {
var self = this;
this.$hotkeys(
"f,m,j,k,l,c,space,up,down,left,right,0,1,2,3,4,5,6,7,8,9,shift+n,shift+,,shift+.,alt+p,return,.,,",
"f,m,j,k,l,c,space,up,down,left,right,0,1,2,3,4,5,6,7,8,9,shift+n,shift+s,shift+,,shift+.,alt+p,return,.,,",
function (e, handler) {
const videoEl = self.$refs.videoEl;
switch (handler.key) {
@ -196,11 +214,14 @@ export default {
self.$emit("navigateNext");
e.preventDefault();
break;
case "shift+s":
self.showSpeedModal = true;
break;
case "shift+,":
self.$player.trickPlay(Math.max(videoEl.playbackRate - 0.25, 0.25));
self.adjustPlaybackSpeed(videoEl.playbackRate - 0.25);
break;
case "shift+.":
self.$player.trickPlay(Math.min(videoEl.playbackRate + 0.25, 2));
self.adjustPlaybackSpeed(videoEl.playbackRate + 0.25);
break;
case "alt+p":
document.pictureInPictureElement
@ -651,7 +672,19 @@ export default {
this.$refs.videoEl.currentTime = time;
}
},
adjustPlaybackSpeed(newSpeed) {
const normalizedSpeed = Math.min(4, Math.max(0.25, newSpeed));
this.$player.trickPlay(normalizedSpeed);
},
setSpeedFromInput() {
try {
const newSpeed = Number(this.playbackSpeedInput);
this.adjustPlaybackSpeed(newSpeed);
} catch (err) {
alert(this.$t("actions.invalid_input"));
}
this.showSpeedModal = false;
},
updateMarkers() {
const markers = this.$refs.container.querySelector(".shaka-ad-markers");
const array = ["to right"];

View File

@ -546,33 +546,13 @@ export default {
this.fetchSponsors().then(data => (this.sponsors = data));
},
async getComments() {
this.fetchComments().then(data => {
this.rewriteComments(data.comments);
this.comments = data;
});
this.comments = await this.fetchComments();
},
async fetchSubscribedStatus() {
if (!this.channelId) return;
this.subscribed = await this.fetchSubscriptionStatus(this.channelId);
},
rewriteComments(data) {
data.forEach(comment => {
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(comment.commentText, "text/html");
xmlDoc.querySelectorAll("a").forEach(elem => {
if (!elem.innerText.match(/(?:[\d]{1,2}:)?(?:[\d]{1,2}):(?:[\d]{1,2})/))
elem.outerHTML = elem.getAttribute("href");
});
comment.commentText = xmlDoc
.querySelector("body")
.innerHTML.replaceAll(/(?:http(?:s)?:\/\/)?(?:www\.)?youtube\.com(\/[/a-zA-Z0-9_?=&-]*)/gm, "$1")
.replaceAll(
/(?:http(?:s)?:\/\/)?(?:www\.)?youtu\.be\/(?:watch\?v=)?([/a-zA-Z0-9_?=&-]*)/gm,
"/watch?v=$1",
);
});
},
subscribeHandler() {
this.toggleSubscriptionState(this.channelId, this.subscribed).then(success => {
if (success) this.subscribed = !this.subscribed;
@ -616,7 +596,6 @@ export default {
}).then(json => {
this.comments.nextpage = json.nextpage;
this.loading = false;
this.rewriteComments(json.comments);
this.comments.comments = this.comments.comments.concat(json.comments);
});
}

View File

@ -156,7 +156,11 @@
"concurrent_prefetch_limit": "Concurrent Stream Prefetch Limit",
"customize": "Customize",
"invalid_url": "Invalid URL!",
"add": "Add"
"add": "Add",
"creator_replied": "Creator replied",
"creator_liked": "Creator liked",
"playback_speed": "Playback speed",
"invalid_input": "Invalid input"
},
"comment": {
"pinned_by": "Pinned by {author}",

View File

@ -156,7 +156,9 @@
"customize": "Kohanda",
"invalid_url": "Vigane URL!",
"add": "Lisa",
"delete_group_confirm": "Kas kustutame selle grupi?"
"delete_group_confirm": "Kas kustutame selle grupi?",
"creator_replied": "Autor vastas",
"creator_liked": "Autorile meeldis see"
},
"preferences": {
"has_cdn": "CDN'i olek?",

View File

@ -152,7 +152,11 @@
"customize": "Testreszab",
"invalid_url": "Érvénytelen URL!",
"add": "Hozzáadás",
"delete_group_confirm": "Törli ezt a csoportot?"
"delete_group_confirm": "Törli ezt a csoportot?",
"creator_replied": "A készítő válaszolt",
"creator_liked": "A készítő kedvelte",
"playback_speed": "Visszajátszási sebesség",
"invalid_input": "Érvénytelen bevitel"
},
"video": {
"ratings_disabled": "Értékelések Letiltva",

View File

@ -156,7 +156,11 @@
"customize": "Dostosuj",
"invalid_url": "Nieprawidłowy adres URL!",
"add": "Dodaj",
"delete_group_confirm": "Usunąć tę grupę?"
"delete_group_confirm": "Usunąć tę grupę?",
"creator_replied": "Twórca odpowiedział",
"creator_liked": "Twórca polubił",
"invalid_input": "Nieprawidłowe dane wejściowe",
"playback_speed": "Szybkość odtwarzania"
},
"comment": {
"pinned_by": "Przypięty przez {author}",

View File

@ -155,7 +155,12 @@
"concurrent_prefetch_limit": "Предел одновременной предзагрузки трансляций",
"customize": "Персонализация",
"invalid_url": "Неправильная ссылка!",
"add": "Добавить"
"add": "Добавить",
"creator_replied": "Ответ автора",
"creator_liked": "Автор оценил",
"playback_speed": "Скорость воспроизведения",
"invalid_input": "Некорректный ввод",
"delete_group_confirm": "Удалить группу?"
},
"comment": {
"pinned_by": "Закреплено пользователем {author}",

View File

@ -132,7 +132,11 @@
"invalid_url": "Geçersiz URL!",
"customize": "Özelleştir",
"add": "Ekle",
"delete_group_confirm": "Bu grup silinsin mi?"
"delete_group_confirm": "Bu grup silinsin mi?",
"creator_replied": "Oluşturan yanıtladı",
"creator_liked": "Oluşturan beğendi",
"playback_speed": "Oynatma hızı",
"invalid_input": "Geçersiz giriş"
},
"player": {
"watch_on": "{0} üzerinde görüntüle",