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.
Removed unnecessary useSignals() hook from components.
StatsData.tsx uses Signals instead of Redux.
New videos or edited videos that change the source file now display how long the video is and its file size.
Area that clicking focuses video in VideoContent.tsx has been increased on left side of page. Video is also autofocused by default.
Fixed issue where changing video progress (such as the left/right or 1-9 hotkeys) would make a paused video play.
Removed old logos
Area that clicking focuses video in VideoContent.tsx has been increased on left side of page. Video is also autofocused by default.
Fixed issue where changing video progress (such as the left/right or 1-9 hotkeys) would make a paused video play.
Removed old logos
ChannelActions.tsx and VideoActionsBar.tsx components created to reduce code reuse between VideoContent.tsx, PlaylistContent.tsx, and VideoListComponentLevel.tsx.
If a playlist is empty, comments and buttons no longer appear, the page just shows text explaining the situation.
1. Home.tsx
2. Home-State.tsx
3. SearchSidebar.tsx
4. SearchSidebar-State.tsx
5. VideoContent.tsx
6. VideoContent-State.tsx
By using custom hooks to hold all state data, these components are easier to read and edit.