A small web app for watching movies and shows easily
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
mrjvs b39ef2c31f start at beginning when pressing next episode button 2 years ago
..
atoms start at beginning when pressing next episode button 2 years ago
base correct languages + settings page styling 2 years ago
display searching of subs + caching of results + sort subs by common usage + better loading state for subs + PiP added to mobile + remove useLoading 2 years ago
hooks start at beginning when pressing next episode button 2 years ago
internals opush 2 years ago
utils correct languages + settings page styling 2 years ago
Player.tsx caption rendering is back! 2 years ago
README.md fundementals for video player rewrite 2 years ago
index.tsx move video to old and setup new video structure 2 years ago

README.md

Video player component

Video player is quite a complex component, so here is a rundown of all the parts

Composable parts

These parts can be used to build any shape of a video player.

  • /atoms- any ui element that controls the player. (Seekbar, Pause button, quality selection, etc)
  • /base - base components that are used to build a player. Like the main container

internal parts

These parts are internally used, they aren't exported. Do not use them outside of player internals.

/display

The display interface, abstraction on how to actually play the content (e.g Video element, chrome casting, etc)

  • It must be completely seperate from any react code
  • It must not interact with state, pass async data back with events

/internals

Internal components that are always rendered on every player.

  • Only components that are always present on the player instance, they must never unmount

/utils

miscellaneous logic, put anything that is unique to the video player internals.

/hooks

Hooks only used for video player.

  • only exception is usePlayer, as its used outside of the player to control the player

~/src/stores/player

State for the video player.

  • Only parts related to the video player may utilize the state