feat: create improved player for hosted videos

This commit is contained in:
swve 2025-06-01 22:14:49 +02:00
parent e4d5c44aae
commit 7139448195
6 changed files with 435 additions and 90 deletions

View file

@ -180,6 +180,9 @@ importers:
nextjs-toploader:
specifier: ^1.6.12
version: 1.6.12(next@15.3.2(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
plyr:
specifier: ^3.7.8
version: 3.7.8
prosemirror-state:
specifier: ^1.4.3
version: 1.4.3
@ -204,6 +207,9 @@ importers:
react-katex:
specifier: ^3.0.1
version: 3.0.1(prop-types@15.8.1)(react@19.0.0)
react-plyr:
specifier: ^2.2.0
version: 2.2.0(react@19.0.0)
react-spinners:
specifier: ^0.13.8
version: 0.13.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@ -2063,6 +2069,9 @@ packages:
resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
engines: {node: '>= 0.6'}
core-js@3.42.0:
resolution: {integrity: sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==}
crelt@1.0.6:
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
@ -2090,6 +2099,9 @@ packages:
currency-codes@2.2.0:
resolution: {integrity: sha512-vpbQc5sEYHGdTVAYUhHnKv0DWiYLRvzl/KKyqeHzBh7HD/j3UlWoScpZ9tN/jG6w2feddWoObsBbaNVu5yDapg==}
custom-event-polyfill@1.0.7:
resolution: {integrity: sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==}
damerau-levenshtein@1.0.8:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
@ -2783,6 +2795,9 @@ packages:
load-script@1.0.0:
resolution: {integrity: sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==}
loadjs@4.3.0:
resolution: {integrity: sha512-vNX4ZZLJBeDEOBvdr2v/F+0aN5oMuPu7JTqrMwp+DtgK+AryOlpy6Xtm2/HpNr+azEa828oQjOtWsB6iDtSfSQ==}
locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@ -3006,6 +3021,9 @@ packages:
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
engines: {node: '>=12'}
plyr@3.7.8:
resolution: {integrity: sha512-yG/EHDobwbB/uP+4Bm6eUpJ93f8xxHjjk2dYcD1Oqpe1EcuQl5tzzw9Oq+uVAzd2lkM11qZfydSiyIpiB8pgdA==}
possible-typed-array-names@1.1.0:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
@ -3121,6 +3139,9 @@ packages:
randomcolor@0.6.2:
resolution: {integrity: sha512-Mn6TbyYpFgwFuQ8KJKqf3bqqY9O1y37/0jgSK/61PUxV4QfIMv0+K2ioq8DfOjkBslcjwSzRfIDEXfzA9aCx7A==}
rangetouch@2.0.1:
resolution: {integrity: sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==}
re-resizable@6.11.2:
resolution: {integrity: sha512-2xI2P3OHs5qw7K0Ud1aLILK6MQxW50TcO+DetD9eIV58j84TqYeHoZcL9H4GXFXXIh7afhH8mv5iUCXII7OW7A==}
peerDependencies:
@ -3164,6 +3185,11 @@ packages:
prop-types: ^15.8.1
react: '>=15.3.2 <=18'
react-plyr@2.2.0:
resolution: {integrity: sha512-05oBKvCC9F2VMP7BNhh3x7xeK6PNUMYBPPWIip5sDRuey4HmpghfLQyOfsbNKTssR6kkxRSi2X9neYmfr91NuA==}
peerDependencies:
react: 16.x
react-redux@9.2.0:
resolution: {integrity: sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==}
peerDependencies:
@ -3552,6 +3578,9 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
url-polyfill@1.1.13:
resolution: {integrity: sha512-tXzkojrv2SujumYthZ/WjF7jaSfNhSXlYMpE5AYdL2I3D7DCeo+mch8KtW2rUuKjDg+3VXODXHVgipt8yGY/eQ==}
use-callback-ref@1.3.3:
resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
engines: {node: '>=10'}
@ -5388,6 +5417,8 @@ snapshots:
cookie@0.7.2: {}
core-js@3.42.0: {}
crelt@1.0.6: {}
cross-spawn@7.0.6:
@ -5417,6 +5448,8 @@ snapshots:
first-match: 0.0.1
nub: 0.0.0
custom-event-polyfill@1.0.7: {}
damerau-levenshtein@1.0.8: {}
data-view-buffer@1.0.2:
@ -6238,6 +6271,8 @@ snapshots:
load-script@1.0.0: {}
loadjs@4.3.0: {}
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
@ -6463,6 +6498,14 @@ snapshots:
picomatch@4.0.2: {}
plyr@3.7.8:
dependencies:
core-js: 3.42.0
custom-event-polyfill: 1.0.7
loadjs: 4.3.0
rangetouch: 2.0.1
url-polyfill: 1.1.13
possible-typed-array-names@1.1.0: {}
postcss-value-parser@4.2.0: {}
@ -6617,6 +6660,8 @@ snapshots:
randomcolor@0.6.2: {}
rangetouch@2.0.1: {}
re-resizable@6.11.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
dependencies:
react: 19.0.0
@ -6656,6 +6701,12 @@ snapshots:
prop-types: 15.8.1
react: 19.0.0
react-plyr@2.2.0(react@19.0.0):
dependencies:
plyr: 3.7.8
prop-types: 15.8.1
react: 19.0.0
react-redux@9.2.0(@types/react@19.0.10)(react@19.0.0)(redux@5.0.1):
dependencies:
'@types/use-sync-external-store': 0.0.6
@ -7150,6 +7201,8 @@ snapshots:
dependencies:
punycode: 2.3.1
url-polyfill@1.1.13: {}
use-callback-ref@1.3.3(@types/react@19.0.10)(react@19.0.0):
dependencies:
react: 19.0.0