pstream is dead; long live pstream taciturnaxolotl.github.io/pstream-ng/
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add captions button back

TPN 659690f5 8881aa5c

+73 -30
+40 -29
pnpm-lock.yaml
··· 41 41 version: 0.7.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 42 42 '@movie-web/providers': 43 43 specifier: github:sussy-code/providers 44 - version: https://codeload.github.com/sussy-code/providers/tar.gz/d261a3baab252d2474c930169e149dfa5fda8075 44 + version: https://codeload.github.com/sussy-code/providers/tar.gz/b1a68ce6ca608bab12bf6abcfe55c90580e46004 45 45 '@noble/hashes': 46 46 specifier: ^1.4.0 47 47 version: 1.4.0 ··· 291 291 version: 0.5.14(prettier@3.3.3) 292 292 rollup-plugin-visualizer: 293 293 specifier: ^5.12.0 294 - version: 5.12.0(@rollup/wasm-node@4.19.1) 294 + version: 5.12.0(@rollup/wasm-node@4.20.0) 295 295 tailwind-scrollbar: 296 296 specifier: ^3.1.0 297 297 version: 3.1.0(tailwindcss@3.4.7) ··· 1202 1202 react: '>=16.8.0' 1203 1203 react-dom: '>=16.8.0' 1204 1204 1205 - '@movie-web/providers@https://codeload.github.com/sussy-code/providers/tar.gz/d261a3baab252d2474c930169e149dfa5fda8075': 1206 - resolution: {tarball: https://codeload.github.com/sussy-code/providers/tar.gz/d261a3baab252d2474c930169e149dfa5fda8075} 1205 + '@movie-web/providers@https://codeload.github.com/sussy-code/providers/tar.gz/b1a68ce6ca608bab12bf6abcfe55c90580e46004': 1206 + resolution: {tarball: https://codeload.github.com/sussy-code/providers/tar.gz/b1a68ce6ca608bab12bf6abcfe55c90580e46004} 1207 1207 version: 2.3.0 1208 1208 1209 1209 '@noble/hashes@1.4.0': ··· 1320 1320 1321 1321 '@rollup/wasm-node@4.19.1': 1322 1322 resolution: {integrity: sha512-G90QnusWbCqaHB0BRgGb5f1FIs7W+0bh/kaoBMZNS30VzCcGBEzbpL0UIDQZYPkbKnP5GHZ9s+HrWuny3IAGIw==} 1323 + engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1324 + hasBin: true 1325 + 1326 + '@rollup/wasm-node@4.20.0': 1327 + resolution: {integrity: sha512-NxIRJDju9ZzXwpCZ+TMYEflT/KJPgcamVrkInPwB/jSzEIEhckHGgbC9C8Fkzt77nEZZpfF/H2BedwKfjxO9qQ==} 1323 1328 engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1324 1329 hasBin: true 1325 1330 ··· 5259 5264 react: 18.3.1 5260 5265 react-dom: 18.3.1(react@18.3.1) 5261 5266 5262 - '@movie-web/providers@https://codeload.github.com/sussy-code/providers/tar.gz/d261a3baab252d2474c930169e149dfa5fda8075': 5267 + '@movie-web/providers@https://codeload.github.com/sussy-code/providers/tar.gz/b1a68ce6ca608bab12bf6abcfe55c90580e46004': 5263 5268 dependencies: 5264 5269 cheerio: 1.0.0-rc.12 5265 5270 cookie: 0.6.0 ··· 5331 5336 5332 5337 '@remix-run/router@1.18.0': {} 5333 5338 5334 - '@rollup/plugin-babel@5.3.1(@babel/core@7.25.2)(@rollup/wasm-node@4.19.1)(@types/babel__core@7.20.5)': 5339 + '@rollup/plugin-babel@5.3.1(@babel/core@7.25.2)(@rollup/wasm-node@4.20.0)(@types/babel__core@7.20.5)': 5335 5340 dependencies: 5336 5341 '@babel/core': 7.25.2 5337 5342 '@babel/helper-module-imports': 7.24.7 5338 - '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.19.1) 5339 - rollup: '@rollup/wasm-node@4.19.1' 5343 + '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.20.0) 5344 + rollup: '@rollup/wasm-node@4.20.0' 5340 5345 optionalDependencies: 5341 5346 '@types/babel__core': 7.20.5 5342 5347 transitivePeerDependencies: 5343 5348 - supports-color 5344 5349 5345 - '@rollup/plugin-node-resolve@15.2.3(@rollup/wasm-node@4.19.1)': 5350 + '@rollup/plugin-node-resolve@15.2.3(@rollup/wasm-node@4.20.0)': 5346 5351 dependencies: 5347 - '@rollup/pluginutils': 5.1.0(@rollup/wasm-node@4.19.1) 5352 + '@rollup/pluginutils': 5.1.0(@rollup/wasm-node@4.20.0) 5348 5353 '@types/resolve': 1.20.2 5349 5354 deepmerge: 4.3.1 5350 5355 is-builtin-module: 3.2.1 5351 5356 is-module: 1.0.0 5352 5357 resolve: 1.22.8 5353 5358 optionalDependencies: 5354 - rollup: '@rollup/wasm-node@4.19.1' 5359 + rollup: '@rollup/wasm-node@4.20.0' 5355 5360 5356 - '@rollup/plugin-replace@2.4.2(@rollup/wasm-node@4.19.1)': 5361 + '@rollup/plugin-replace@2.4.2(@rollup/wasm-node@4.20.0)': 5357 5362 dependencies: 5358 - '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.19.1) 5363 + '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.20.0) 5359 5364 magic-string: 0.25.9 5360 - rollup: '@rollup/wasm-node@4.19.1' 5365 + rollup: '@rollup/wasm-node@4.20.0' 5361 5366 5362 - '@rollup/plugin-terser@0.4.4(@rollup/wasm-node@4.19.1)': 5367 + '@rollup/plugin-terser@0.4.4(@rollup/wasm-node@4.20.0)': 5363 5368 dependencies: 5364 5369 serialize-javascript: 6.0.2 5365 5370 smob: 1.5.0 5366 5371 terser: 5.31.3 5367 5372 optionalDependencies: 5368 - rollup: '@rollup/wasm-node@4.19.1' 5373 + rollup: '@rollup/wasm-node@4.20.0' 5369 5374 5370 - '@rollup/pluginutils@3.1.0(@rollup/wasm-node@4.19.1)': 5375 + '@rollup/pluginutils@3.1.0(@rollup/wasm-node@4.20.0)': 5371 5376 dependencies: 5372 5377 '@types/estree': 0.0.39 5373 5378 estree-walker: 1.0.1 5374 5379 picomatch: 2.3.1 5375 - rollup: '@rollup/wasm-node@4.19.1' 5380 + rollup: '@rollup/wasm-node@4.20.0' 5376 5381 5377 - '@rollup/pluginutils@5.1.0(@rollup/wasm-node@4.19.1)': 5382 + '@rollup/pluginutils@5.1.0(@rollup/wasm-node@4.20.0)': 5378 5383 dependencies: 5379 5384 '@types/estree': 1.0.5 5380 5385 estree-walker: 2.0.2 5381 5386 picomatch: 2.3.1 5382 5387 optionalDependencies: 5383 - rollup: '@rollup/wasm-node@4.19.1' 5388 + rollup: '@rollup/wasm-node@4.20.0' 5384 5389 5385 5390 '@rollup/wasm-node@4.19.1': 5391 + dependencies: 5392 + '@types/estree': 1.0.5 5393 + optionalDependencies: 5394 + fsevents: 2.3.3 5395 + 5396 + '@rollup/wasm-node@4.20.0': 5386 5397 dependencies: 5387 5398 '@types/estree': 1.0.5 5388 5399 optionalDependencies: ··· 7222 7233 '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) 7223 7234 '@babel/types': 7.25.2 7224 7235 kleur: 4.1.5 7225 - rollup: '@rollup/wasm-node@4.19.1' 7236 + rollup: '@rollup/wasm-node@4.20.0' 7226 7237 unplugin: 1.12.0 7227 7238 transitivePeerDependencies: 7228 7239 - supports-color ··· 7721 7732 dependencies: 7722 7733 glob: 7.2.3 7723 7734 7724 - rollup-plugin-visualizer@5.12.0(@rollup/wasm-node@4.19.1): 7735 + rollup-plugin-visualizer@5.12.0(@rollup/wasm-node@4.20.0): 7725 7736 dependencies: 7726 7737 open: 8.4.2 7727 7738 picomatch: 2.3.1 7728 7739 source-map: 0.7.4 7729 7740 yargs: 17.7.2 7730 7741 optionalDependencies: 7731 - rollup: '@rollup/wasm-node@4.19.1' 7742 + rollup: '@rollup/wasm-node@4.20.0' 7732 7743 7733 7744 rrweb-cssom@0.6.0: {} 7734 7745 ··· 8291 8302 dependencies: 8292 8303 esbuild: 0.21.5 8293 8304 postcss: 8.4.40 8294 - rollup: '@rollup/wasm-node@4.19.1' 8305 + rollup: '@rollup/wasm-node@4.20.0' 8295 8306 optionalDependencies: 8296 8307 '@types/node': 20.14.13 8297 8308 fsevents: 2.3.3 ··· 8453 8464 '@babel/core': 7.25.2 8454 8465 '@babel/preset-env': 7.25.3(@babel/core@7.25.2) 8455 8466 '@babel/runtime': 7.25.0 8456 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.25.2)(@rollup/wasm-node@4.19.1)(@types/babel__core@7.20.5) 8457 - '@rollup/plugin-node-resolve': 15.2.3(@rollup/wasm-node@4.19.1) 8458 - '@rollup/plugin-replace': 2.4.2(@rollup/wasm-node@4.19.1) 8459 - '@rollup/plugin-terser': 0.4.4(@rollup/wasm-node@4.19.1) 8467 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.25.2)(@rollup/wasm-node@4.20.0)(@types/babel__core@7.20.5) 8468 + '@rollup/plugin-node-resolve': 15.2.3(@rollup/wasm-node@4.20.0) 8469 + '@rollup/plugin-replace': 2.4.2(@rollup/wasm-node@4.20.0) 8470 + '@rollup/plugin-terser': 0.4.4(@rollup/wasm-node@4.20.0) 8460 8471 '@surma/rollup-plugin-off-main-thread': 2.2.3 8461 8472 ajv: 8.17.1 8462 8473 common-tags: 1.8.2 ··· 8465 8476 glob: 7.2.3 8466 8477 lodash: 4.17.21 8467 8478 pretty-bytes: 5.6.0 8468 - rollup: '@rollup/wasm-node@4.19.1' 8479 + rollup: '@rollup/wasm-node@4.20.0' 8469 8480 source-map: 0.8.0-beta.0 8470 8481 stringify-object: 3.3.0 8471 8482 strip-comments: 2.0.1
+28
src/components/player/atoms/Captions.tsx
··· 1 + import { useEffect } from "react"; 2 + 3 + import { Icons } from "@/components/Icon"; 4 + import { OverlayAnchor } from "@/components/overlays/OverlayAnchor"; 5 + import { VideoPlayerButton } from "@/components/player/internals/Button"; 6 + import { useOverlayRouter } from "@/hooks/useOverlayRouter"; 7 + import { usePlayerStore } from "@/stores/player/store"; 8 + 9 + export function Captions() { 10 + const router = useOverlayRouter("settings"); 11 + const setHasOpenOverlay = usePlayerStore((s) => s.setHasOpenOverlay); 12 + 13 + useEffect(() => { 14 + setHasOpenOverlay(router.isRouterActive); 15 + }, [setHasOpenOverlay, router.isRouterActive]); 16 + 17 + return ( 18 + <OverlayAnchor id={router.id}> 19 + <VideoPlayerButton 20 + onClick={() => { 21 + router.open(); 22 + router.navigate("/captionsOverlay"); 23 + }} 24 + icon={Icons.CAPTIONS} 25 + /> 26 + </OverlayAnchor> 27 + ); 28 + }
+1
src/components/player/atoms/index.ts
··· 16 16 export * from "./NextEpisodeButton"; 17 17 export * from "./Chromecast"; 18 18 export * from "./CastingNotification"; 19 + export * from "./Captions";
+4 -1
src/pages/parts/player/PlayerPart.tsx
··· 111 111 ) : null} 112 112 {status === playerStatus.PLAYBACK_ERROR || 113 113 status === playerStatus.PLAYING ? ( 114 - <Player.Settings /> 114 + <> 115 + <Player.Captions /> 116 + <Player.Settings /> 117 + </> 115 118 ) : null} 116 119 <Player.Fullscreen /> 117 120 </div>