* Add hashtags to search results
* add global count , implement changes from code review
Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>
* use h3 for title of hashtag element
* implement suggestions from code review
* use hashtag.text, move url update logic
* encodeURI for hashtag url
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Replace margin-left with margin-inline-start
* Replace margin-right with margin-inline-end
* Replace padding-left with padding-inline-start
* Replace padding-right with padding-inline-end
* Replace padding-top & padding-bottom with padding-block; continue replacing padding-left and padding-right with padding-inline-start and padding-inline-end
* Add updated rtl-compatible margins to ft-slider and fix indentation
* Replace margin-top & margin-bottom with margin-block; continue replacing margin-left and margin-right with margin-inline-start and margin-inline-end
* Continue replacing with margin-block and margin-inline
* Replace left and right with inset-inline-start and inset-inline-end
This commit also changes border-left to border-inline-start, and border-right to border-inline-end.
* Replace margin-bottom, top, and bottom with margin-block-end, inset-block-start, and inset-block-end
This commit also replaces border-top and border-bottom with border-block-start and border-block-end.
* Replace text-align left and right with text-align start and end
* Fix syntax error with inset-block-end
* Implement dynamic float: left/right based on direction ltr/rtl
* Implement dynamic navigation arrow placement based on direction ltr/rtl
To the fullest of my understanding, it is expected for the left navigation in rtl-supporting browsers to be for forward navigation, and the right one to be for backward navigation.
* Add direction to body based on preferred language
* Implement horizontal directionality coefficient to fix translate working in wrong x-direction for rtl languages
* Add explicit text-align: start in places to ensure rtl version is correctly aligned
* Add text-align: start to places where it is not inferred to enable proper rtl text orientation
* Fix search bar magnifying glass being too far right issue
* Move body.dir-setting logic to setLocale to fix dir not setting correctly on page reload
* Change .switchColumn to have align-items: start instead of justify-items: start
I have validated this for all settings tabs; the justify-content: start did nothing in any language, left-to-right or right-to-left. Replacing it with align-items: start aligned all menu switch items by their switches, not by their labels. This makes for a much more uniform settings section for trl languages.
* Fix emergent bug in which history icons are temporarily disabled on changing language to one with different directionality
Given that which icon is displayed for which history arrow is now dynamic based on the user's directionality, changing of the icon resets the font-awesome-icon state and thus re-adds the base disabled class to both arrows. This means that changing your language to one that has a different directionality was falsely setting the arrows to their disabled state (until the route is changed, after which the history icons will be fully back to normal). This commmit refactors the history icon setting logic to use class binding to two booleans in the top-nav component's data rather than adding and removing the disabled classes directly to the arrow elements' classLists, thus cleaning up the implementation and fixing the bug.
* Add Kurdish to rtl languages list & add li items to be right-aligned on rtl languages
* Force FreeTube logo to be ordered left-to-right for 'brand consistency'
* Add styling flipping font-awesome icons for rtl languages except for exclusion list
* Update isRightAligned with additional languages, and use it instead of locale value from store
Kudos to absidue for pointing out this existing function for representing this, and that it grabs directly from the i18n object. This means that FreeTube will display the proper rtl interface if one is the user's system language, where it did not before.
* Update isRightAligned property name to more clearly reflect rtl purpose
* Simplify left/right arrow display logic
Leverage the icons being flipped rather than manually setting the classes to their opposites when the directionality is RTL.
* Replace justify-self: left & justify-self: right with justify-self; start and justify-self: end
* Remove misguided attempt to emulate directionality-agnosticism with rightAligned class
* Explicitly center FreeTube version on About page
* Replace pre-existing identation issue
* Replace margin-left with margin-inline-start
* Replace margin-right with margin-inline-end
* Replace padding-left with padding-inline-start
* Replace padding-right with padding-inline-end
* Replace padding-top & padding-bottom with padding-block; continue replacing padding-left and padding-right with padding-inline-start and padding-inline-end
* Add updated rtl-compatible margins to ft-slider and fix indentation
* Replace margin-top & margin-bottom with margin-block; continue replacing margin-left and margin-right with margin-inline-start and margin-inline-end
* Continue replacing with margin-block and margin-inline
* Replace left and right with inset-inline-start and inset-inline-end
This commit also changes border-left to border-inline-start, and border-right to border-inline-end.
* Replace margin-bottom, top, and bottom with margin-block-end, inset-block-start, and inset-block-end
This commit also replaces border-top and border-bottom with border-block-start and border-block-end.
* Replace text-align left and right with text-align start and end
* Fix syntax error with inset-block-end
* Implement dynamic float: left/right based on direction ltr/rtl
* Implement dynamic navigation arrow placement based on direction ltr/rtl
To the fullest of my understanding, it is expected for the left navigation in rtl-supporting browsers to be for forward navigation, and the right one to be for backward navigation.
* Add direction to body based on preferred language
* Implement horizontal directionality coefficient to fix translate working in wrong x-direction for rtl languages
* Add explicit text-align: start in places to ensure rtl version is correctly aligned
* Add text-align: start to places where it is not inferred to enable proper rtl text orientation
* Fix search bar magnifying glass being too far right issue
* Move body.dir-setting logic to setLocale to fix dir not setting correctly on page reload
* Change .switchColumn to have align-items: start instead of justify-items: start
I have validated this for all settings tabs; the justify-content: start did nothing in any language, left-to-right or right-to-left. Replacing it with align-items: start aligned all menu switch items by their switches, not by their labels. This makes for a much more uniform settings section for trl languages.
* Fix emergent bug in which history icons are temporarily disabled on changing language to one with different directionality
Given that which icon is displayed for which history arrow is now dynamic based on the user's directionality, changing of the icon resets the font-awesome-icon state and thus re-adds the base disabled class to both arrows. This means that changing your language to one that has a different directionality was falsely setting the arrows to their disabled state (until the route is changed, after which the history icons will be fully back to normal). This commmit refactors the history icon setting logic to use class binding to two booleans in the top-nav component's data rather than adding and removing the disabled classes directly to the arrow elements' classLists, thus cleaning up the implementation and fixing the bug.
* Add Kurdish to rtl languages list & add li items to be right-aligned on rtl languages
* Force FreeTube logo to be ordered left-to-right for 'brand consistency'
* Add styling flipping font-awesome icons for rtl languages except for exclusion list
* Update isRightAligned with additional languages, and use it instead of locale value from store
Kudos to absidue for pointing out this existing function for representing this, and that it grabs directly from the i18n object. This means that FreeTube will display the proper rtl interface if one is the user's system language, where it did not before.
* Update isRightAligned property name to more clearly reflect rtl purpose
* Simplify left/right arrow display logic
Leverage the icons being flipped rather than manually setting the classes to their opposites when the directionality is RTL.
* Replace justify-self: left & justify-self: right with justify-self; start and justify-self: end
* Remove misguided attempt to emulate directionality-agnosticism with rightAligned class
* Explicitly center FreeTube version on About page
* Fix question mark reversing logic for Arabic, Hebrew, Persian, and Urdu
* Fix minor indentation issue
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Remove unused function
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Update src/renderer/components/ft-slider/ft-slider.css
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* Revert "! Fix watch page layout when theatre mode enabled and sidebar "hidden" (#3931)"
This reverts commit 621cc27938.
* Fix the watch page layout when the sidebar is hidden and theatre mode mode is enabled by default
* Do not use theatre mode while loading
* Add pastel and hot pink base configuration & labels
* Update Author Background Color to be based on --secondary-card-bg-color instead of --scrollbar-color
This unneeded dependency on the scrollbar color here resulted in the Author Background text blending into its background on the new Hot Pink theme. This change does not tangibly affect any other theme, whose scrollbar colors are incidentally similar to the secondary-card-bg-color, as this color is already being used for tags on the Channel About tab.
* Implement Pastel Pink and Hot Pink styling
Note that Hot Pink styling overwrites the primary and secondary color themes to maintain accessible color contrasts throughout FreeTube. It also updates the underline styling to match its aesthetic. The scrollbar-text-color-hover and side-nav-active-text-color colors are added for allow for the text and icon to both change on hover. This allows for more accessible hover and active styling.
* Add textWhiteSmall and iconWhiteSmall to repo; add FT pink icon themes
The textWhiteSmall was actually already sized exactly the same as the other small text files, so I just changed the name to reflect that fact.
* Add side-nav-hover-text-color and side-nav-active-text-color throughout FT
* Update Hot Pink theme accent-color-active
* Add side-nav hover-text and active-text styling to ft-icon-button
* Fix incorrect variable name
* Disable primary & secondary color theme controls when hot pink theme is enabled
* Added hide comment photos option into settings
* Hide comment photos if setting is enabled
* include hidden photos for comment replies
* Always show video uploader photo in comments
* reverted en_GB changes
* Updated settings to "Hide Profile Pictures in Comments"
* This is due to my previous change which included the use of a poorly researched 'user-select: all' to unset a 'user-select'. The problem is that all does something else altogether: 'The content of the element shall be selected atomically: If a selection would contain part of the element, then the selection must contain the entire element including all its descendants. If a double-click or context-click occurred in sub-elements, the highest ancestor with this value will be selected.' Source: https://developer.mozilla.org/en-US/docs/Web/CSS/user-select
* Add user-select:none to one more area
* Remove extraneous additional dash
Co-authored-by: LQ2' <lq2.apostrophe@gmail.com>
---------
Co-authored-by: LQ2' <lq2.apostrophe@gmail.com>
* Implement external player icon and favorites icon only appearing after hover/focus
As a way of cleaning up the look of videos, only shows the video icons on hover or focus. This is for all purposes a very 'free' change that I would opine makes FreeTube appear much cleaner.
* Implement video list settings button only appearing on hover/focus
Same idea as for the favorites & external player icons; much cleaner look without any sizable 'cost' to boot.
* Ensure video list buttons always show on devices without hover (e.g., mobile)
* Remove user-select lines (already in another PR) & one extraneous line
* Make settings heading text unselectable
I often encounter the issue of accidentally selecting/highlighting the settings heading text, which ends up highlighting all of the text inside of that settings tab. This is an unpleasant appearance that I have to click to remove. This change removes this issue altogether.
* Switch all instances of user-select to be only user-select and -webkit-user-select
* Make side-nav labels unselectable
* Make side-nav and channels un-draggable
* Remove selection from ft-flex-box, ft-input placeholders, and profile icons
* CSS updates
* Include resolution to 'auto' in quality display
* Include auto info in video statistics
* Value integrity check in CreateDashQualitySelector
* Refactoring to community polls & fixes for quizzes
* Replaced the interactive quiz with a reveal button and small fixes
* Replaced the interactive quiz with a reveal button and small fixes
* Implemented vote formatting
* vote translation fix
* Accessibility additions
* Fixed local API is_correct typo
* Fixed inconsistent indents
* Add semantic roles to make the site more accessible
Co-Authored-By: Jason <84899178+jasonhenriquez@users.noreply.github.com>
* Apply suggestions from code review
Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>
---------
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* ! Fix outdated subscription cache clearing code when "Remove All Subscriptions / Profiles" performed
* * Use one action to clear cache instead of three
* $ Use early return
* Add basic support for mpc-hc/be, sort list
* Add startOffset handling for mpc-hc family
* Add basic PotPlayer support
* Fix indentations
* Undo entry sorting
* Add Tabs to subscriptions page for live streams and shorts
* Fix naming issue with fetching live streams via Invidious RSS
* Remove console log
* Better error handling and better live stream sorting
* Fix linter issues
* Change videos RSS feed. Make live stream call more efficient.
* Store last used tab in memory. Return to last used tab on mount
* Fix live sorting. Reorganize tabs and check for currentTab via created instead of mounted
* Fix linting issue
* Start Global locales object, add distraction free checks for subscriptions tab
* Start Global locales object for all locales
* Cleanup and reduce duplicate code
* Undo original distraction free settings change
* Fix missing change in previous commit
* Add distraction free settings to hide tabs
* Improve accessibility
* Make app-wide hide live streams setting override hide subscriptions live
* Fix incorrect all tabs disabled message
* Fix arrow key navigation
* Create shared UI component for the subscription tabs
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Update external-player-map.json: Add basic support for external SMPlayer
Adds basic functionality to open videos in SMPlayer.
Adding more parameters (e.g., startOffset or speed) is not possible at this time as SMPlayer expects different formatting compared to what FreeTube currently passes through.
* Update utils.js: Add special startOffset handling for SMPlayer
* Update external-player-map.json: Add startOffset for SMPlayer
* Update utils.js: Truncate startOffset for SMPlayer
If watchProgress contains a non-integer value, SMPlayer will simply parse it as 0. Thus, truncate it before passing it along.
* Update utils.js: startOffset comments
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
---------
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* Wrap long one word channel names in `infoLine`
* Set height of playlist section to auto on small devices to prevent overflow
* Center videoThumbnail in playlist sidebar to visually be the same as playlist view
* Move CSS changes closer together
* * Update channel view to opt out of "Hide Videos From Channels"
* * Update history, local playlist & subscription view to opt out of "Hide Videos From Channels"
* * Update recommended video section to use hide videos from channel preference
* * Update setting tooltip text
* Update `or` to `and`
* * Update most popular view to use hide videos from channel preference
* fix for invidious (+6 squashed commits)
Squashed commits:
[65932b4b4] update playlist and channel filtering
[952a7213a] update subscriptions js to use premiereDate over durationText
[530dea939] Add back isRSS and viewcount check to fix when in subscriptions page
[93ebb7654] Fix hide premiere
[de7a8b4ec] ft-list-lazy-wrapper put whitespace back to what it was
[8dadb59b1] move showResult from a method to a computed to work with v-if
* Fix Hide Premier for Invidous API
* Refactor code to be more redable with better doc
---------
Co-authored-by: petaded <code@zikl.co.uk>
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
Providing these type of links is currently unnecessary
and can turn into a hassle when the players are extended by scripts
that are not expecting them and don't function as intended.
* Only use android formats when the video id in the response is correct
* Fix typo in playability status check
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
---------
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
* Changes from PR #3673
* * Update subscription view to be able to load videos from video cache again
* * Update subscription view to be able to load videos from video cache per channel
* * Remove meaningless argument `allowUseOfChannelCache`
* $ Remove unused imports
---------
Co-authored-by: petaded <code@zikl.co.uk>
* Use playlist thumbnail provided by YT from Local API
* Use correct thumbnails for playlist page
* Fix playlistThumbnail not giving correct value
* Update youtubei.js
* Update package.json
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* Update yarn.lock to align with package.json
---------
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* Fix Hide Channel Subscribers setting still displaying subscribers if changed from a secondary window (#3504)
* Revert naming change subscriptionCountText to channelSubCountText
* Use `!=` instead of `!==` for `subscriberCount` in ft-list-channel
* Set subscriberCount to null if `data.subscribers` is null in ft-list-channel.js
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Fix `proxyVideos` setting for legacy formats & hls urls
- Replace the hostname of stream urls with the current invidious instance when `proxyVideos` is true
- Add `local` flag to iv hls URLs when proxy videos is true
* Add missing `proxyVideos` getter in `ft-video-player`
* Move change of URI to before `getProxyVideos`
* ! Fix YT comment loading for video with comment disabled
* * Update video view w/ Local API to render video comment disabled as no comment
* ! Fix style with less side effects
* * Update watch view playlist component to auto scroll to current video
* ! Fix window being scrolled when playlist is out of initial view
* * Use `nextTick` instead of `setTimeout`
* Revert "* Use `nextTick` instead of `setTimeout`"
This reverts commit 9215b0fe54.
* * Remove setTimeout, fix issue when Invidious API used
* Allow fetching more community posts with IV
* Update src/renderer/views/Channel/Channel.js
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
---------
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* * Update History & UserPlaylists view to filter with delay
* * Use lodash.debounce to implement
* * Update delay to 500ms
* * Update to have delay with empty query string
* + Add setting to auto load comment section
* * Cleanup hooks when possible
* * Update new setting to be a toggle
Possible values reduced to disabled & 0%
* * Use vue-observe-visibility to implement comment autoload
* - Remove unused translation entries
* - Remove no longer valid code comment
* * Rename & retype new setting
* * Implement auto more comment loading
* - Remove outdated comment
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* * Disable new setting switch when hide comments enabled
* * Remove the unnecessary delay on video comment loading
* * Update according to review
* * Disable autoload when hide comment enabled
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Small community post fixes
* fix#3387
* Check if post is empty
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* ! Fix trending video list not updated without a workaround
* ~ Remove outdated comment
* ! Fix search result list rendered items not updated without workaround
* ! Fix invidious API search result incorrect appending
* ! Fix typo & key
* Remove not longer needed timeout
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* ! Fix adaptive format picked by video JS sometimes not showing up in quality selector
* Apply suggestions from code review
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* ! Workaround invidious issue on AV1 formats
* Update src/renderer/views/Watch/Watch.js
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Create `getChannelInstanceLocal` function
which allows channel instances for the local API
to be set within the community posts fallback
* Remove channel variable in `getChanneLocal`
* Switch playlist fallback to calling `getChannelPlaylistsLocal`
* Prevent accidentally refetching channel instance from Local API
* Add fallback for fetching more channel videos through invidious
similar to the fallback for playlists
* Use existing `getLocalChannel` instead of creating a new function
* Initial implementation of import from YouTube history
(Using JSON export)
* Properly escaping hostnames in regular expressions
* support other locales
* Apply suggestions from code review
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* support json import through sane button, bug fix
* remove `import youtube history` translations
* dont save length or view count for imported youtube history
---------
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Add Live tab to channel pages
* Handle invidious streams tab URL
* Clear live videos when navigating between channels
* Reset sort by when changing channels
* Made changes as suggested.
* Made player set volume to user default if it was muted by dragging volume slider to zero. Volume and muted are kept track of seperately and both are set on player with respect to how it was set for previous video
* added comments
* fixed
* fixed
* Changed comments to be more accurate.
* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access
* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access
* Data returning added
* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access
* Data returning added
* Images are now displayed in the community tab
* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access
* Data returning added
* Images are now displayed in the community tab
* Added primitive video display
* Current changes
* Added preston's change with the ftcard and started on some layout basics
* Created Community Post Component and added fetch more button + functionality
* Fixed problem with videothumbnails not loading and adjusted their height to 100% in the ft-list sass file
* Added poll and ft-list-video to the community page
* Added author name placeholder (missing in module), the published date, the likes and dislikes as well as comment counts to posts. Additionally scaling of images was added
* Added basis for community page playlists
* Finalized a setup for playlists when wide enough
* Fix for missing key in custom list
* Added publish date translation
* Add empty alt tags
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
* fix accessibility issue
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
* change: ununique ids to classes
* add missing alt tag
* Redirect channel/id/community to the channel's community tab
* update yt-channel-info
* update to 3.0.1
* Update yarn.lock
* add basic multiImage support
* use tiny-slider for multiImage community posts
* update getChannelCommunityPostsMore
* Update yarn.lock
* fix yarn lock
* swap community and about tab
* Update yarn.lock
* Fix missing comma
* Removed trailing spaces
* Clearing all community post data when changing to another channel
* Restructuring of how the post cards are added, Empty page text,
ft-element-list props customization
1) Now the community page uses the same setup of ft-element-list as the
other pages on the channel.
2) If no posts are available, now it displays a message saying so
3) The ft-element-list component's display style can now be forced into
a certain display mode (list/grid) with the new prop. It will overwrite
the corresponding default value for list display
* Fixed display text path
* Fix lint"
* Adjusted css to fit to new layout
* Final touches community page to tidy up the console
* fix icons, fix linter
* fix hiding showmore button for community page
* fix showToast calls
* change all this.showToast to showToaast
* reinstall tinyslider
* use helpers
* small fixes
* fix: getting continuation of community posts
* remove unused code
* improve slider style import
* fix hiding 'ShowMore' button
* fix weird typo in css
* add invidous community tab support
* remove console testing code
* Apply suggestions from code review
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* implement suggestions, improve thumbnail replacement
* use flip horizontal
* readd invidious fallback code, remove author name workaround
* replace another google domain when using invidious
* suppport invidious multiImage posts
* Use youtube.js for community posts
* add invidious polls, remove support for fetching more
* reorder icons alpabetically
* re-allow loading more when using localapi
* fix styling of multiImage, hide NA text
* fix loading playlist
* fix spacing of items
* fix issue with direct url to community tab
* make review recommendations
Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>
* fix displaying selected tab, get best quality image
---------
Co-authored-by: Preston <freetubeapp@protonmail.com>
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Migrate channel related functionality to YouTube.js
* Better alert handling
* Add support for special autogenerated channels
* Add support for latest YouTube.js changes
* Add support for age restricted channels
* Update YouTube.js to 3.0.0
* Obey hide search bar setting for the tag searching
* Choose a better parameter name
* Allow sharing terminated and age restricted channels
* Add handle support for handles on Invidious
* Fix the backend fallback
* Use a positive parameter name
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* Fix duplicate tags causing errors
* Fix sorting for the Invidious API
* Move URL resolving to the channel page
* Update YouTube.js to 3.1.0
---------
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* * Update subscriptions view to display video publish time in relative form even fetched via RSS
* * Update to support seconds, months, years
Also add more code comments
Also fix issue of display after switching back from another view
* Changed undefined to null
If playlistId is set to undefined it will break /src/renderer/store/modules/utils.js:openInExternalPlayer() as it expects null or string. Undefined makes it believe it is a playlist and ignores the videoId
* revert last commit
* Added tests for undefined in openInExternalPlayer()
* Reduce duplicate code in the data export settings
* Use a more descriptive parameter name
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
---------
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
* Allows sponsor segments to be watched in Auto Skip mode
* 'b': only jump back to segments configured to be auto-skipped
* Remove 'b' keyboard shortcut
* Prevent overflow on playlist view on small 📱displays
* Prevent transition of width on `.thumbnailImage`
* Expand styles to be responsive at more widths
* + Add "infra" code for new feature
* * Update view/component to implement remembering last playlistID in history
* * Implement option to disable new feature
* ! Fix implementation for use case "Find a video (with playlist PL-A) to view, go to channel, view that same video, no playlist restored"
* Adjust side-nav-more-options to account for `a` styles
- These nav-options were changed from `div`s to anchors, and so,
they need to be styled like the `div`s that used to be there.
* Use `inherit` instead of white
v-if="showResult(data)" evaluates once
v-if="showResult" is reactive;
`data` also doesn't need to be passed here
because it is already accessible from `this`.
* move invidious out of stores
* fix getting more replies & local api fallback for comments
* throw error if error message found in invidious response
* fix issue with data setting
* fix issue with replacing thumbnails
* add bank line, remove slash
* Apply suggestions from code review
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* update linters, add stylelint, switch from sass to scss
* remove unused babel-eslint module
* fix spacing in scss files
* dont use npm in script calls
* dont error for `:deep` selector in css
* 2953 Added boilerplate to manage setting.
* Hooked in distraction free title to video list view.
* Tweaked the regexp to include apostrophe when looking for runs.
Also only change case for runs of 3 or more, to avoid messing with
common abbreviations.
* Addressed review feedback.
Co-authored-by: Simon Epstein <simon.epstein@67bricks.com>
* Add wrapper in `ft-input` to correct absolute pos
Previously, the action icon was absolutely positioned
to the relative `ft-input-component`; however,
when the label wrapped (on small displays), the height of the
ft-input-component changed, and the icon would overflow
the bottom of the component. Now, it should be absolutely
positioned to the relative `inputWrapper` which
begins with the top of the input element, and thus, it should
not change position based on the height of the label making it
easier to ensure it is in the right position.
* Modify wrapper to not interfere with existing components
* Make ft-input-tags `width: 100%` on small displays
There isn't a lot of screen real estate on small displays, so
this component should just expand to fill it instead of crunching
in on itself.
* Modify media queries to use more standard breakpoint
# Conflicts:
# src/renderer/components/ft-input/ft-input.css
* Hide line-break in distraction-settings on small displays
* Fix lint issue by removing self-close from `br`
* Improve Watch page accessibility
Co-Authored-By: Jason <84899178+jasonhenriquez@users.noreply.github.com>
* fix title issue, remove unused gotochannel function
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
* 2622 Remove select-on-focus behaviour from ft-input.
Replace this with show-clear-text-button.
* 2622 Make channel search a little wider so placeholder not truncated.
Co-authored-by: Simon Epstein <simon.epstein@67bricks.com>
* add logic to hide channels
* Add new ft-input-tags ui element and use this for channel hiding
* remove unused tooltip code
* Add tooltip to the ft-input-tags and the new setting
* Add spacer between toggle options and ft-flex-box
* Swap to stringify from semicolon + add focus to label
* Simplify the input_tags code + rename setting to channelsHidden
* Fix issue shown by linter
* Recentralize input button + fix tooltip for small windows
* Improve accessiblity
* fix hiding playlist when channel ID entered
* pass tag directly to removeTag function
Co-authored-by: petaded <code@zikl.co.uk>
Co-authored-by: petaded <petaded@zikl.co.uk>
* Hide unsubscribe button on channel list if this is set in parental
controls.
* Fix github linting errors
* Removed trailing whitespace.
* Reverted yarn.lock change
* Remove package-lock.json
* Added support for password protecting settings.
* Push password handling code inside password-settings component.
* Added incorrect password message
* Replace update method with watch.
* Use updateSettingsPassword to commit value to database.
* Move password settings to the bottom (review comment)
* Moved unlock into separate component (review feedback)
* Styling password dialog
* Removed incorrect (and unused) prop value - review comment.
* Removed unused component imports
Co-authored-by: Simon Epstein <simon.epstein@67bricks.com>
* improve accessibility of FreeTube input elements
Co-Authored-By: Jason <84899178+jasonhenriquez@users.noreply.github.com>
* make focus visible for prompt
* add close button to ft-prompt
* Update src/renderer/components/ft-icon-button/ft-icon-button.vue
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* make suggested changes
* move eslint plugin to devdepedencies
Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>
* dont hide ft-prompt on focus out
* add aria-describeby
* update eslint-plugin-vuejs-accessibility
* Update yarn.lock
* Update yarn.lock
* Fix lint issues
* only escape whitespace in ids
* use computed properties
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
* Hide unsubscribe button on channel list if this is set in parental
controls.
* Fix github linting errors
* Removed trailing whitespace.
* Reverted yarn.lock change
* Remove package-lock.json
Co-authored-by: Simon Epstein <simon.epstein@67bricks.com>
* Migrate search suggestions to youtubei.js
* Rename functions to indicate that they are for the local API
* Implement and use a lightweight Innertube session
* Fix typo in comment
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
* Fix another typo in a comment
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
* Deduplicate CSS rules for the Catppuccin Mocha colours
* Deduplicate CSS rules for the Dracula colours
* Deduplicate CSS rules for the themes
* Deduplicate CSS rules for the main and secondary colours
* Use native DomParser instead of opml-to-json dependency
* Add support for Invidious feed URLs
* Fallback to HTML parser, as HTML is much less strict than XML
* Log error before falling back to the HTML parser
* #1414: Add share button ton Channel view
- Update src/renderer/components/ft-share-button to handle Channels
- Update english locale entries for 'Share channel'
* #1414: Add share button ton Channel view
- update youtubeShareURL() in src/renderer/components/ft-share-button
* #1414: Add share button ton Channel view
- implemented the new button in src/renderer/views/Channel
* #1414: Add share button ton Channel view
- renamed mediaType to shareTargetType in ft-share-button.js
- switched logic from !isChannel to isVideo in ft-share-button.vue
* #1414: Add share button ton Channel view
- renamed target type in ft-share-button.vue
- updated implementation in Channel.vue