All controls and hotkeys work when the VideoPlayer is fullscreen
Controls are below video instead of inside of it
Controls have tooltips showing what they do and their hotkeys
Each control is a separate component that is used in both mobile and normal controls
Video Progress slider is above controls to save horizontal space
Controls will disappear when fullscreen if mouse leaves video player, or after 5 seconds of inactivity
Default port in vite.config.ts set to 3000 for simplicity.
DownloadTaskManager.tsx:
1. Fixed bug that made clicking on videos do nothing instead of going to that video's page.
2. It also displays the video title instead of identifier.
3. The menu is a lot wider, so it is far easier to see the full titles of videos
VideoPlayer.tsx now persists across sessions whether it was muted and its volume when unmuting.
When screen is small, VideoPlayer automatically switches to Mobile Controls. Mobile Controls now show Playback Rate and Fullscreen buttons.
DownloadTaskManager.tsx now shows the video title instead of identifier.
settingsSlice.ts renamed to persistentSlice, it is only used to store persistent data.
reset button no longer changes video type from "playlist" to "video".
Subscriptions are now stored as list of objects that have the name of the user and the name of the channel that is followed.
When the application starts in App.tsx the subscription list is filtered by the user's name, so they only see channels by the name they have subscribed to.
Edits to QuickMythril's bounty commits (showing home page stats and publish video form displaying supported codecs) to improve visibility and readability.
Filter added that removes characters that Operating Systems don't allow in filenames when saving file
VideoList-styles.tsx uses Radio button instead of Checkbox for main page video/playlist filter
Video player has aspect ratio of 16 / 9, doesn't put controls over video, and removes controls if mouse exits video when in fullscreen (but only when playing for some reason)
Created new redux slice called settingsSlice.ts. It is used to store settings that are saved to disk automatically
Videoplayer is much bigger, playlist is next to it instead of below
Video publisher name, icon, etc. moved to same row as superlike, file downloader
Titles can be selected/copied
Changed structure of ListSuperLikes.tsx slightly to fix undesirable warnings involving list keys and <div> being descendent of <p>
SubscribeButton.tsx created, but not fully implemented