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.
fixes bug where pause() could interrupt play() and prevent video playback.
Excessive delay between clicking play and when the video starts playing after a long time paused is eliminated.
Layout of VideoContent.tsx and PlaylistContent.tsx updated, so it will feel more familiar to users.
Video Description boxes will not show the expand/contract button if the contracted description shows all text. The height of the contracted description is doubled.
Deleted Video Image no longer appears in VideoContent.tsx until after the video is loaded.
A new hotkey 'o' on the Video Player lets users switch between maintaining aspect ratio or filling all available space
Description and file downloader don't appear if video is deleted
In PlaylistContent.tsx and VideoContent.tsx, clicking anywhere other than the description or commentEditors will focus the video so that hotkeys will work on it
Deleted videos are not filtered out. They are now visible and show an image on the Home, Channel, and VideoContent pages that says "This video has been removed by the user".
Fixed minification bug caused by store.ts
titleFormatter and titleFormatterOnSave redone, only characters not allowed by Operating Systems are filtered out when saving as file.
.eslintrc renamed to cjs to fix error when using ESLint
Max file size is now global variable that coverts file size to binary byte format automatically.
Many small EsLint fixes.
Fixed no key warning in MultiplePublishAll.tsx
.eslintrc renamed to cjs to fix error when using ESLint
Max file size is now global variable that coverts file size to binary byte format automatically.
Many small EsLint fixes.
Fixed no key warning in MultiplePublishAll.tsx
The Subscribe and Follow buttons no longer appear when the user views their own videos
Minimum Superlike amount lowered from 10 to 1 QORT
Fixed bug that made searches in the Home page Subscriptions Tab return results from all videos.
Fixed bug that prevented filtering by name on Subscriptions Tab
Clicking in area around video gives it focus, allowing hotkeys to work, orange border around video when focused is removed
Subscription tab doesn't say "You have no subscriptions" while loading videos
SubscriptionData type moved from persistSlice.ts to SubscribeButton.tsx
Added check when subscribing to make sure both userName AND subscriberName are not already in subscribeList before subscribing. This ensures that a subscription from another username doesn't prevent a subscription from the current name.
Default Tab is now "All Tabs" since people running Q-Tube for the first time won't have any subscriptions.
Stats section of home page uses no horizontal padding to prevent the numbers from going to another line. Average videos per publisher doesn't show decimals for the same reason.