Commit Graph

207 Commits

Author SHA1 Message Date
efb4f5ff-1298-471a-8973-3d47447115dc 634ad7c3c4
About page: Add hyperlink to license name (#5081)
* About page: Add hyperlink to licence name

* Fix lint

* Fix localization
2024-05-08 18:07:26 +02:00
SteveO 0ca803ea4a
Add Solarized dark and Solarized light color scheme (#5066)
* feat:  add solarized dark and solarized light color scheme

Add the solarized dark and the solarized light color scheme, as well as accent colors and icons

* fix: 🐛 make colors more readable | forgot colors

Made colors, especially in light mode, more readable.

* feat:  add missing solarized-light branch

Add a missing Solarized-Light branch to the check

* remove trailing empty line

Remove a useless empty line

* modify share button to match light/dark theme

* match index.js color with bg-color

* fix: 🐛 distinguish destructable colors

Add some checks to make destructable colors distinguishable from non-harming ones

* fix: 🐛 improve color contrast/readability

* fix: 🐛 improve color contrast/readability for main colors

* refactor: ♻️ group primary and secondary theme colors by light/dark

* fix: 🐛 remove difference between main/sec grouping

* fix: 🐛 add missing mainSolarizedYellow styling

---------

Co-authored-by: DontBlameMe <32d1938e-18da-413a-853a-ccec6ded1347@slmails.com>
2024-05-08 15:43:18 +00:00
Phil's Git repository 2ca51dbb09
Show error message when search is over the YouTube search limit of 100 characters (#4992)
* Show error message when search is over 100 characters

* Address review comments

* Address review comments

* #4992 - Review comment changes

* Code review changes - Move search character limit value to constants.js

* Update comment based on review
2024-05-04 10:59:04 +08:00
Jason 19c5966a5a
Distinguish destructive actions (#4374)
* Add destructive styling to destructive actions in FreeTube, including prompt confirmations

* Improve destructive action label clarity

* Implement darker red only if red theme is selected

* Fix experimental settings bug

* Update to use fallback destructive colors

* Remove color from 'Cancel' prompt buttons

* Add icon capability to ft-buttons, & attach trash icon to destructive buttons

* Change yellow destructive fallback text color to black for readability

* Change red color to have an accessible color contrast

* Update red color to lighter color closer to original to avoid conflict

* Tentatively codify black as new corresponding text color for red and draculaRed

* Alter red theme text color to white

* Make affirmative label clearer for Ask Before Opening prompt

* Make restart prompt not destructive
2024-05-02 08:27:07 +08:00
Jason 2208393f76
Implement settings section sorting option (#5010)
* Implement settings section sorting

* Make IS_ELECTRON property used directly
2024-04-25 22:59:17 +00:00
Jason ab3c1b9b29
Show when Subscriptions / Trending / Most Popular were last updated (#4380)
* Implement first draft of last subscription refresh timestamp

* Update styling to be a top bar

* Update styling to be banner-compatible, & increase banner X button size on mobile

* Update subscription refresh timestamp to be relative

* Implement refresh timestamps for Shorts, Live, and Community tabs

* Extract refresh widget to its own component

* Add Trending and Popular refresh widgets with timestamps

* Fix justifying when no timestamp exists

* Move timestamps to utils store

* Remove unneeded ref classes and currentLocale computed property

* Add page-specific titles for each feed type

* Implement showing least recent cache date per profile

* Update styling property placement & match top nav box shadow on ft-refresh-widget

* Implement showing timestamp for profile only if all channel subscriptions can be found in cache

* Disable refresh button instead of removing it or the widget from the DOM

* Increase top banner's top margin

* Update channel caching calls to provide timestamps

* Modify updateCacheByChannel functions to have default timestamp of new Date()

* Fix 30-day month relative date calculation scenarios through new optional parameter

* Rectify Case 3 (see https://github.com/FreeTubeApp/FreeTube/pull/3668)

* Add back missing line in Popular.js
2024-04-18 05:54:46 +08:00
Jason 9815ed3da2
Sort videos within playlist (#4921)
* Implement playlist sorting

* Hide sort menu for remote playlists

* Remove 'Custom (descending)' sort order

I don't see the need for this particular sort order.

* Adjust sort order & align dropdown with 'More Options' button

* Make 'Latest added first' default option instead of custom

* Remove unlikely-to-be-implemented 'Date published' sorting options

Context from absidue: 'I don't think we should even attempt to support it, due to all of the situations where it wouldn't be possible.'

* Update to use sortOrder as main variable throughout

* Hide sort menu for playlists of length <2
2024-04-17 06:26:43 +08:00
PikachuEXE 2b7c96eb97
Update most paginated places to auto load next page (except comments) (#4565)
* * Update most paginated places to auto load next page (except comments)

* * Make comment section auto load next pages too

* $ Use new component to dedup auto load code

* * Implement auto load next page for single playlist page

* * Remove comment auto load setting

* * Update tooltip text
2024-04-16 22:16:08 +02:00
Jason 5359d8468e
Improve video playlist search UX (#4929)
* Enable playlist video search mode by default; add Ctrl+F binding

* Fix subject-verb agreement on two search labels

* Remove playlist video search bar when only one video is in the playlist

* Add check for search video mode allowed that is requisite for keybinding

* Remove unnecessary 'async function' in mounted

* Fix styling issue
2024-04-16 17:47:40 +02:00
absidue f7206ec7e8
Use blob URLs for storyboards instead of writing them to the file system (#4891) 2024-04-08 09:31:20 +08:00
ChunkyProgrammer d8387b76d7
Add i18n-eslint-plugin (#4763)
* add i18n-eslint-plugin

* remove `FreeTube` `Invidious` and `YouTube` from locale files as those shouldn't be translated

* Remove testing code

* Uncomment code

* use separate getColorTranslations function

* make suggested changes

Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>

* Add back blank line between import & export

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
Co-authored-by: PikachuEXE <git@pikachuexe.net>
2024-04-07 14:58:15 +00:00
PikachuEXE 65a5b0c045
Add search playlists with matching videos function (#4537)
* * Update user playlists page to add search playlists with matching videos function

* * Update add videos to playlists prompt to add search playlists with matching videos function

* * Update UI & label text

* * Click on playlist link with search matching video enabled now also search for video when view switched

* * Only auto enable search video mode for playlists with video(s)

* * Make new toggle vertically align center

* * Make new toggle vertically align center
2024-03-14 17:16:15 -04:00
PikachuEXE 672803d30c
Add video search in user playlist feature (#4622)
* * Update single playlist view for user playlists to add search video function

* ! Fix load more button appears when searching & visible items under pagination limit

* * Show message when search returns no result

* * Make search button focused after existing search mode

* * Make search result show search result show original playlist item indexes

* * Make search button only appear with video count > 0
2024-03-06 15:27:01 -05:00
PikachuEXE 0afc78314f
Update add video ot playlist prompt to show presence count when adding one video (#4561)
* $ Rename props for ft-playlist-selector

* * Update add video ot playlist prompt to show presence count when adding one video
2024-02-28 09:15:59 -05:00
ChunkyProgrammer 6cbe6b5e9d
Fix some translation issues (#4674)
* fix some locale issues

* change local API to Local API

* update translation keys to `Falling back to Local API`

* fix translation key for local api in js files
2024-02-16 22:20:22 +01:00
Mitchel Paulin 82965211b7
Remove excessive punctuation as part of distraction settings (#4673)
* Remove excessive punctuation

* Update static/locales/en-US.yaml

Co-authored-by: PikachuEXE <git@pikachuexe.net>

* Remove pipe

---------

Co-authored-by: PikachuEXE <git@pikachuexe.net>
2024-02-13 22:34:31 +01:00
JonahFoster 0663a29f39
Added a Nordic base theme (#4542)
* Added a Nordic base theme

* Added Nordic icon

* Added Nordic theme to switch

* Update src/renderer/themes.css

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>

---------

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-02-03 11:25:15 -05:00
Jason 64e3f32f78
Video title filter / blacklist (#4202)
* Implement hiding of videos with user-inputted text

* Implement ft-input minInputLength

* Enable for playlists

* Enable feature on channel pages

The premise for this change is that users would not want to see that forbidden content anywhere, as opposed to hidden channels, where you're clearly on a channel page to see things from that channel.

* Fix 'Play Next Video' playing forbiddenTitle videos and hidden channel videos

* Fix issue of hidden recommended videos taking up vertical space

* Rename variables to better match non-video-specific function, and remove blocks from History and videos in playlists

* Fix to respect hideForbiddenTitles value

* Modify label

* Clarify restriction affecting original titles

* Add toast for entered input of length below min input length

* Add toast for element already exists

* Update to not clear if duplicate tag is entered for Hide Forbidden feature
2024-01-22 17:59:46 -05:00
PikachuEXE 32a2ad9479
Add feature to set a playlist as quick bookmark target (#4518)
* + Add feature to set a playlist as quick bookmark target

* Add back button to watch page

* focus behavior style update

* * Different button text when video saved

* ! Fix mutation function `removeVideos` (still unused)

* * Make default generated favorites playlist as default quick bookmark target

* ! Add fix for `deleteVideoIdsByPlaylistId`

* * Update button text

* * Update quick bookmark playlist first allow revert later

* * Update single playlist view to hide fav button when viewing the target playlist

* - Remove unused code
2024-01-17 22:52:42 -05:00
ChunkyProgrammer ae7a2fa221
Add dearrow support for thumbnails (#4520)
* Add dearrow support for thumbnails

* add translations

* add missing tooltip

* make hidden thumbnails take a higher priority over dearrowed thumbnails

* Implement code suggestions

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2024-01-15 04:20:15 +00:00
trostboot 40ff63abbb
Add toggle to suppress sending additional args to external players (#4515)
* Add toggle to supress sending additional args to ext. players

* Reverse ignoreArgs conditional logic

* Disable custom arg input if args are disabled

* Keep custom arguments, rename option accordingly
2024-01-12 23:06:52 -05:00
PikachuEXE c40b4a69d5
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234)
* ! Fix add/removing videos from favourite list

* ! Fix playlist type not passed into video list item component

* ! Fix playlist data loading issue on new windows

* ! Fix user playlist data parsing

* * Ensure playlist view rerender on video additonal removal for displayed playlist

* ! Fix icons & moving videos up/down in user playlist

* * Don't show move up/down buttons when cannot be done

* * Make user playlist view filtering function now works for filtering playlists

* ! Fix style of prompt from any button within playlist-info component

* $ Refactor a function to use early return style

* * Disallow empty playlist name when saving in playlist edit mode

* * Update add video to playlist prompt to have simple filtering like user playlist view

* * Update playlist view to only show video reorder/remove buttons in edit mode

With notice message

* ! Fix playlist view for remote playlist unnecessary reload on save

* ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering

* $ Remove unused watch function arguments

* * Update user playlist view create new playlist button position

* * Update playlist view to add transitions to video reorder/removal

* * Allow playlist with different case to be created

* * Update visibility of user playlist related action components according to hide playlist settings

Only those visible on video, remote playlist are updated

* * Update video items to only show add to playlist buttons on hover

* - Remove add to favorites button from video list item component

* * Update watch-video-info component to add "add to playlist" button

* * Update watch-video-info component to remove "add to favourite" button

* * Ensure video thumbnail image displayed in 16/9 aspect ratio

Mainly due to YT missing video thumbnail image got different aspect ratio 4/3

* * Update new buttons theme

* * Put edit playlist button before copy button

* * Move "remove video from playlist" button to most right

* * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode"

* ! Fix video count parsing for user playlist

* * Update user playlist to allow duplicate video entries (per video ID)

* * Remove extra attributes assignment to video object except `timeAdded`

Unintended change

* * Update copy playlist button to like adding multiple videos to playlists

* * Update copy playlist prompt to prefill title if create new playlist prompt shown

* * Ensure all playlists have `playlistName`

* $- Remove unused playlist property `removeOnWatched`

* * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default

Also fix issue discovered during testing

* *- Remove unnecessary code line

* * Update playlists from default playlists to be deletable

* ! Fix duplicate `timeAdded` value for videos copied from user playlist

* ! Fix playlist import (tested with db file exported from this branch)

* * Update grid view to only display playlist title up to 255 chars

Still can see full title in single playlist view

* * Update add video to playlist prompt to only display playlist title up to 255 chars

* * Update text of new playlist button to be same as new profile button

* * Ignore many extra keys from playlist objectrs

Also make data import check for object keys against required keys not key counts

* * Disallow playlist import from changing internal playlist ID of existing playlists

Existing playlists are matched by playlist name, not by internal playlist ID

* * Ensure playlist name & description trimmed when saved

* * Add missing change for importing playlist to ignore `protected`

* $ Refactor code for "video object has all require keys"

* ! Fix style of prompt from any button within playlist-info component again

z-index war

* * Update some empty message & button text

* * Ensure playlist item action buttons are hidden during animations

* ! Fix other prompt z-index

* * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data

* *- Remove unused video property `paid` from playlist related code

* *- Remove unused video property `type` from playlist related code

* ! Fix duplicate playlist displayed on playlist conversion

* *- Remove unused video property `published` from playlist related code

* * Don't require & generate property `timeAdded` when display a prompt

* *- Remove unused video property `isLive` from playlist related code

* ! Fix text

* ! Revert code change for debugging only

* ! Fix CSS for "Ensure playlist item action buttons are hidden during animations"

* * Update add playlist button to be shown for live videos

* + Add clear all playlists button

* * Update add video to playlist prompt to swap "save" & "create playlist" button

* ! Fix playlist view won't load after default playlist added due to lack of playlist

* * Show toast message when no playlist selected after pressing save button

* * Update add video to playlist prompt to show latest updated playlist first

Easier for copying playlist with new playlist(s)

* ! Fix watch page when visited via history after viewing the video from a deleted user playlist

* ! Fix share buttons emitting user playlist IDs

* * Add toast message after removing all playlists

* ! Fix remote playlist video list rendering with duplicate videos

* ! Fix missing key for some direct child elements under `transition-group`

* ! Fix animation introduced to unnecessary elements

* ! Prevent video link click during animation

* ! Fix playlist creation/removal not reflected in other windows

* * Ensure playlist visual selected state in sync with data in parent

* * Update add video to playlist prompt to auto select playlists created after prompt shown once

* * Update copy playlist button to show warning about not loaded videos when some not loaded yet

For remote playlist

Won't work for Invidious though (coz no way to load more)

* * Update add video prompt to make it easier to access buttons via keyboard

* * Make video reorder & remove button always visible in user playlist view

* * Make plus button can be focused with tab

Side effect is thumbnail link can be focused too (otherwise can't make plus button visible)

* * Update add video to playlist prompt to focus on search input on shown

* * Accept playlist optional property `createdAt` when importing

* * Update playlist view to always show add to playlist button

* $ Refactor `inUserPlaylist`

Only playlist view would supply `playlistType`

* * Improve accessibility for new prompts

* * Make edit playlist inputs focused on entering edit mode

* * Make most prompts focus back to last focused element on close

* $ Use tabindex 0 for prompts

Possible tabindex values unnecessary with elements programatically focused

* * Update add video to playlist prompt to focus back to search input after new playlist created

* * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed

* ! Fix unable to import duplicate video entries into an existing playlist

* ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt

* ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist

* ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10

* $ Remove unused imports

* ! Fix default playlists added when no playlist stored had no required attributes added on 1st run

* ! Fix invalid prop type warning

* * Use v-if instead of v-show

* $ Just assign bool value instead of if-else

* + Update playlists view to add sorting option

* $- Remove unnecessary property assignments

* ! Fix issues caused by "Remove unnecessary property assignments"

* ! Fix issues caused by "Remove unnecessary property assignments"

* * Ensure sort by time also fallbacks to playlist name sorting

* ! Fix add/remove video does not update playlist last created time

* ! Fix multi window playlist sync

* * Show filtering input & sorting element when no. of playlist > 1

* * Update upcoming video to allow saving in playlist

* ! Fix unable to visit previous video when playing first video in a playlist

* * Update sorting options labels

* ! Fix add to play prompt max width

* ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered

* * Update add to playlist prompt to add sort options

* $ Remove unused classname

* ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable

* * Add playlists sort order for last played at, update it on play

* ! Fix bug introduced by last merge

* ! Fix thumbnail not respecting backend preference

* ! Fix empty playlist thumbnail in single playlist view

* * Make adding large no. of videos faster

* $ Remove unused mapActions entries

* $ Remove unused and unusable playlist code for inserting video IDs into a playlist

* * Update single playlist view to only show `Remove watched videos` btn when there is any video

* ! Fix prompt style issue caused by old branch changes

* ! Fix removing video from local playlist remove all entries with same video ID

* ! Fix adding video does not have uniqueID & timeAdded set

Caused by previous add many video performance fix

* ! Fix navigation in user playlist between entries of same video

* * Reflect playlist updates on watch page playlist panel

* $- Remove outdated incorrect prompt style fix

* ! Fix add video to playlist prompt too high when there are too many playlists

* ! Fix watch page play next/prev video in local playlist

* ! Fix error in online playlist playing

* * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos

* ! Fix grid item for playlist to hide external player button for local playlist

* * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist

* ! Fix grid item for video in user playlist to hide external player button

* ! Fix grid item for video in history with user playlist to hide external player button

* ! Fix grid item for video in watch page playlist component with user playlist to hide external player button

* * Update watch page to clear `uniqueID` from query when not playing local playlist

* ! Fix watch page about user playlist detection on new window

* * Reflect playlist updates on watch page playlist panel, even for currently playing video

* ! Allow video with local playlist to be played in external player, but without playlist

Also add missing fix for WatchVideoInfo

* ! Fix external player handling for video in local playlist

* ! Fix ft-video having different URLs in links

* yarn run lint-style-fix

* $ Rename uniqueId to playlistItemId

* * Ensure local playlist ID won't conflict with remote playlist ID

* - Remove import video while creating playlist related code

* * Make text translatable

* * Make sort option text translatable

* ! Fix reverse condition

* $ Just use ?.

* Code review changes

* Spaces

* beforeDestroy

* Remove unused methods

* Remove infoData

* filter > find

* avoid importing `crypto` from NodeJS

* Compress CSS ruleset

* $ Remove useless prefix from key

* Use template for element with v-if only

* Make playlist selector look more selectable (cursor: pointer)

* Translate toast messages and fix remove watched videos from playlist

* ! Fix translation

* - Remove unused methods

* $ Remove workaround for issue which cannot be reproduced anymore

* $ Remove remaining useless code following last commit removing workaround

* you have no playlist > you have no playlists

* CSS use var --horizontal-directionality-coefficient

* * Update danger buttons color to primary (like clear search cache button)

* ! Fix playlist icon container size

* ! Fix sorting in add video to playlist prompt when filtered

* $- Update ft-inputs to removed prop input-tabindex

* ! Fix vue warning

* + Add toggle to export playlist for older FT

* * Update tooltip text

* ! Fix vue warning

* * Update text align

* * Remove the extra surrounding spaces

* Backtick > quote

* - Remove useless prop

* Fix tootip in lower width view

* Update default filename

* * Make tooltip auto-wrap

* Revert "* Make tooltip auto-wrap"

This reverts commit 7d932b936c.

* Adjust tooltip styling

* * Wait for local playlist loading only when playing with a user playlist

* * Wait for local playlist loading only when playing with a user playlist requested

Request user playlist can still be absent (but not requested for no playlist or remote playlist)

* ! Fix single playlist view cover image having link when no video

* ! Workaround create playlist prompt won't close when enter pressed in input box

* ! Fix clear text button style

* ! Fix copying playlist twice to the same user playlist produces same playlistItemId

* ! Fix add video to playlist prompt input box style

* ! Fix workaround for "create playlist prompt won't close when enter pressed in input box"

* ! Ensure add video to playlist prompt updated when a playlist deleted (in another window)

* ! Avoid saving and displaying unwanted video attributes into playlists

* ! Fix playlist view for deleted user playlists

* ! Fix copying playlist twice to the same user playlist produces same playlistItemId

Real fix
Cause of issue: updating property of input objects (which is shared across multiple run)

* ! Fix search suggestions being blocked by playlist info component in single playlist view

* ! Fix warning when reversing playlist in watch view

* ! Fix prompt in playlist view (playlistinfo component) not above sidebar

* Remove CSS top comments absent in other CSS files

* Remove not useful comment for CSS

* Float with variable

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>

* Revert "! Fix clear text button style"

This reverts commit 44ed286848.

* Missing change for Revert "! Fix clear text button style"

* $ Remove unused style for ft-playlist-selector

* Apply changes from review

* * Use $tc for translation entries with different value according to count values

* ! Fix playlist link in watch view

---------

Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com>
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
Jason 6af85b3726
Show latest from channel (#4352)
* Implement 'show latest video from channel' feature

* Apply suggestions from code review

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Adjust ordering to maximize chance of content being presented

---------

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2023-11-26 08:27:29 +08:00
Jason 62903ceed8
Open/close all settings tabs persistent toggle (#4204)
* Open or close all settings tabs toggle

* Update labels to expanded/collapsed

* Move settings expansion toggle on top (& shorten label)
2023-11-25 18:44:29 +01:00
Jason 47946ff453
Profile settings UX improvements (#4358)
* Update Edit Profile styling, labels, and order

* Introduce additional styling updates

* Remove check for channel name of All Channels, as that can be faulty for users who renamed it & had another profile take the name

* Force use of All Channels profile translation (& forbid alteration of All Channels profile name

* Combine ProfileSettings and ProfileEdit routes under one route

* Implement active settings profile styling & profileList watcher

* Fix pre-existing bug of selected channels & count in Other Channels not updating when changing the profile filter

* Fix pre-existing behavior of filter profile selection resetting after each use

* Fix pre-existing bug with Edit Profile Subscription List of count bugging after adding new channel mid-count

And vice versa with removing channel mid-count on Other Channels.

* Fix two toasts to use localized profile name, & remove unnecessary mounted

* Remove old modification of base ft-input styling
2023-11-25 18:23:27 +01:00
Jason e68c534e6c
A new way to subscribe (#4238)
* Implement styling for new subscribe button

* Implement dropdown element and styling

* Implements remaining styling and logic

* Correct use of aria-selected in FT

Note: was able to add aria-controls to ft-profile-selector because it keeps the hidden dropdown in the DOM. The same is not true of the ft-icon-button or ft-subscribe-button. Main point: aria-expanded should go on the button opening the dropdown, not the dropdown itself.

* Resolve subscribe button staying upon bug

* Remove unneeded vendor-specific transition prefixes

See discussion here: https://www.web-plus-plus.com/Articles/css-transition-moz-and-webkit-vs-css3
2023-11-22 17:19:11 +00:00
Mitchel Paulin 86bad257f5
Add hide channel option directly to More Options menu (#4228)
* Add hide channel option directly to More Options menu

* Added ability to unhide channels as well from the same menu

* Fix issue where unhide would not work with channelId

* Replace filter with some

* Remove extra hide channel

* Hide by channelId rather than name

* Shuffle lang terms to put channel name at the front

* Do not check channel name anymore

* One more spot

* Fixed lang terms
2023-11-20 21:04:41 -05:00
Jason 58fe474d9f
Make landing page configurable (#4200)
* Implement customizable landing pages

* Implement curated list for default landing page dropdown options

* Update top nav link to redirect back to selected landing page

* Update top nav title to be 'Go to {page}' for improved clarity

* Remove landing page from selection and/or restore selection to default if is no longer valid
2023-11-20 15:01:18 -05:00
Benjababe fcb230145b
Add identifiers to channels hidden by ID (#4230)
* add description option to hiding channels

* does channel id search

* add tag tooltip

* legacy support for hidden channels

* update removeTag

* add parenthesis to id name

* add icon and id checking before requesting

* update id regex

* decouple channel hidden from tags

* update handling for legacy hidden channels

* remove tag description

* formatting

* newline

* shorten retrieving hidden channels

* separate channel api requests

* refractor ft-input-tags.js

* replace secondaryName with preferredName for tags

* unify hidden channel name/icon retrieval function

* remove tooltip from ft-input-tags

* auto update hidden channel if ID was used

* remove hiding channel by name

* i18n channels hidden disabled message

* run auto hidden channel id update once

* Update src/renderer/components/ft-input-tags/ft-input-tags.vue

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>

* add text selection for ft tags

* add ft-input-tags icon url

* fix icon link

---------

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2023-11-08 23:08:16 -05:00
Jason 262dd67809
Chores: move 'blur' to be thumbnailPreference, move 1 dep to devDependencies (#4218)
* Chore: move stylelint-use-logical-spec to devDependencies

* Update blur to be a thumbnail preference instead of its own ft-toggle-switch

* Update en-US.yaml
2023-10-30 21:59:34 -04:00
ChunkyProgrammer 47ef3e5746
Subscriptions: Add community tab (#3973)
* Add subscription community tab

* fix up community tab

* simplify if statement

* use global.community for all references to community

* dont show community when useRss is set

* check visibleTabs for showing the community tab

* fix caching, decrease datalimit for community, add missing translations

* L: Hide shared posts, IV: Don't show errors for empty community tab

* add links to related issues
2023-09-23 00:19:50 +00:00
ChunkyProgrammer 67bdf718c0
Fix localization of counts (#4011)
* Fix localization of counts

* Apply suggestions from code review

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Remove unused locale resources

---------

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2023-09-12 19:38:36 +02:00
Benjababe 8c07ef3521
Add subscribed icon to comments (#4007)
* add subscribed icon to comments

* update subscribed img src

* update subscribed icon css

* add author id to local api comments

* update subscribe icon on theme change

* add subscription icon to comment replies

* Update src/renderer/components/watch-video-comments/watch-video-comments.css

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-09-11 07:14:18 +08:00
ChunkyProgrammer c7025b648c
Search: Add hashtags to results (#3780)
* 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>
2023-09-09 18:32:59 +02:00
Benjababe 15437347b4
Add button to pause playlist after current video (#3938)
* Rounded playlist buttons to circles

* Add pause button for playlists

* reverted en_GB changes
2023-09-07 09:28:21 +08:00
Jason c371f6035d
Pastel & Hot Pink Themes (#3937)
* 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
2023-09-01 09:17:46 -04:00
David Frederick Batt 884ba91115
Add option to change thumbnail appearance (#3890)
* Add option to blur thumbnails

* Add dropdown for different thumbnail display modes

* Add dropdown for different thumbnail display modes

* Fix thumbnail display mode setting not appearing due to incorrect localization

* Rename thumbnail display mode option 'Not Loaded' to 'Hidden'

* Fix thumbnail display mode 'hidden' not working

* Fix thumbnail display mode not applying to playlists

Makes thumbnail display mode setting also affect thumbnails in ft-list-playlist and playlist-info.

* Remove unnecessary styling

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Make hidden thumbnails toggleable from thumbnail preferences

* Replace thumbnail placeholder png with svg

* Fix thumbnail preference 'hidden' not applying to ft-list-playlist

* Fix placeholder svg breaking playlist layout

* Refactor ft-list-video

---------

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2023-08-31 11:18:52 -04:00
Benjababe 0b44548331
Include hide comment photos setting (#3939)
* 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"
2023-08-30 00:08:55 +00:00
Wesley Appler 4a7c4d95bf
Refactoring to community polls & fixes for quizzes (#3865)
* 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
2023-08-24 22:26:31 +02:00
efb4f5ff-1298-471a-8973-3d47447115dc 4d85ef85e5
Add Discussions to Help section of the About tab (#3901)
* Add Discussions to About tab

* Add translation entry
2023-08-22 22:43:42 +02:00
ChunkyProgrammer 2d934eabea
Make profiles keyboard accessible (#3863)
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2023-08-14 17:07:57 +02:00
Preston b9eb2a76fb
Add Tabs to subscriptions page for live streams and shorts (#3725)
* 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>
2023-07-21 07:33:34 -04:00
ChunkyProgrammer 095568e1b1
Channels: Add support for release and podcast tab (#3778)
* Channels: Add support for release and podcast tab (local)

* Add support for releases and podcasts tab (Invidious API)

* add urls with has_url

* Fix copy paste error

Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-07-20 00:16:45 +02:00
PikachuEXE 325b36ea01
Update recommended video section to use hide videos from channel preference (#3749)
* * 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
2023-07-12 20:09:28 -04:00
ChunkyProgrammer cf88bd77d8
Add DeArrow support for ft-list-video titles (#3688)
* Add deArrow support for ft-list-video titles

* Implement requested changes

* Remove some code duplication

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* fix lint issues + exception

* Check for vote count when title is not locked

Co-authored-by: Ajay Ramachandran <dev@ajay.app>

* simplify title

* Apply suggestions from code review

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* remove unused clearDeArrowCache function

* Fix deArrow title

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* allow using DeArrow without enabling SB

* add tooltip for DeArrow setting

---------

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
Co-authored-by: Ajay Ramachandran <dev@ajay.app>
2023-07-03 18:27:49 +02:00
absidue 939352347d
Add a script to update the region/geolocation files (#3701)
* Add a script to update the region/geolocation files

* Update tooltip now that we only list supported geolocations

* Add language sensitive sorting
2023-07-01 10:08:09 -04:00
absidue cd08373b28
Add subsections to the distraction free settings (#3591)
* Add subsections to the distraction free settings

* Change pages to page in section headings
2023-05-29 19:46:57 -04:00
ChunkyProgrammer 8dbad618f9
IV: add support for hashtag pages (#3571)
* IV: add support for hashtag pages

* add fallback support

* remove locale strings
2023-05-26 23:01:26 +02:00
absidue 9019be2419
Implement the shorts tab on channel pages (#3533)
* Implement the shorts tab on channel pages

* Remove testing code

* Upgrade YouTube.js
2023-05-15 10:01:18 +08:00
ChunkyProgrammer a4d45b5fa8
Local API: Add support for hashtag pages (#3483)
* Add support for hashtag pages

* Apply suggestions from code review

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

* allow searching hashtags

Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>

* Only use one card

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

* remove hashtag alias search navigation

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-05-13 13:27:41 +02:00