Commit Graph

934 Commits

Author SHA1 Message Date
Emma 25d954f990
Cleaning up calls to the Clipboard API (#2597)
* Added a copyToClipboard function to utils

This should make it easier to handle errors which
result from the clipboard API (which are more likely
in web builds). This should also make it easier to handle
copying to clipboard in cordova builds by abstracting the
platform specific code out of the views and moving it
all into one function.

* Moved the $t function out of utils

* Removing locale snippets I was using and am not now

* Added function comment to copyToClipboard

* Adding some missing references

* Adding an additional check

* Re-reviewing my changes, I found a mistake

* Update src/renderer/store/modules/utils.js

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

* Update static/locales/en-US.yaml

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>

* Reverting the language back to what it was previously

* Switching to using i18n.t()

instead of handling the translations myself.
Also, it looks like eslint removed a tab.

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
2022-09-21 15:00:21 +08:00
Emma b722435a88
Calling updateVisibleDataList on inputData update (#2601) 2022-09-21 08:01:00 +02:00
Emma c4722c9533
Implementing downloadMedia in web environments (#2602) 2022-09-21 08:00:34 +02:00
Aiz 7f6834d8f6
set height of watch page grid with auto in dual-column-template (#2588)
this ensures the page doesn't keep scrolling forever if live chat is enabled and recommended videos is disabled
2022-09-20 14:31:25 +00:00
PikachuEXE d8de7fe06f
* Implement last window's fullscreen state (#2495) 2022-09-20 08:49:45 -04:00
absidue 77c26638e1
Fully replace electron-debug with our own implementation (#2585) 2022-09-19 09:36:40 -04:00
absidue 76a9e5c3c4
Fix the localised description containing broken URLs (#2572)
* Fix the localised description containing broken URLs

* Fix hashtag handling in title and description
2022-09-19 08:49:30 -04:00
ChunkyProgrammer 8fa182e246
Properly localize numbers (#2557)
* localize numbers properly

* Remove tostring

Co-authored-by: Aiz <66974576+Aiz0@users.noreply.github.com>

Co-authored-by: Aiz <66974576+Aiz0@users.noreply.github.com>
2022-09-19 20:14:53 +08:00
Emma 386b9c586b
Fixing an undefined function reference (#2586) 2022-09-17 14:43:11 +00:00
absidue f2d2827e0f
Fix some web issues and cleanup (#2582) 2022-09-17 08:19:31 +00:00
ChunkyProgrammer d1a50a4e52
update vue2 to latest (#2554)
* update vue2 to latest

* remove vue-template-compiler, update loader & router

* use :deep instead of v-deep

* fix yarn.lock
2022-09-16 14:49:27 +00:00
absidue 62829b736a
Electron variable at build time instead of at runtime (#2574) 2022-09-15 08:59:09 +00:00
Malik c1ff6587ad
#2512: Update search suggestions on input (#2567)
* #2512: Update visible data list on input

* #2512: Remove excessive visible data list update on input
2022-09-13 04:18:05 +00:00
absidue 97e3813182
Update css-loader and switch to webpack 5's asset modules (#2566) 2022-09-11 20:34:58 -04:00
absidue 036abdc96b
Remove unused ft-intersection-observer component (#2563) 2022-09-11 14:29:27 -04:00
absidue c5bef13ee6
Don't log any errors if there are no SponsorBlock segments (#2555) 2022-09-10 16:08:11 +00:00
absidue 644df97acc
Increase width of quality selector so that 1080p60 doesn't overflow into the full screen button (#2556) 2022-09-10 14:14:18 +00:00
Emma 77470751c3
Localization inconsistency fix for Local API (#2535)
* Applying a workaround for localization issue

This changes where the title comes from on the response object from ytdl.
This is related to FreeTubeApp#2530.

* Applying the same workaround on the description

* Added a fallback to videoDetails

* Adding a console error to the title try block

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

* Simplifying a loop to Array.join

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

* Adding a console error to the description try block

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

* Add a map for the description lines

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

* Added a question mark operator for descriptions

This should prevent errors from erroneously being thrown on videos
which have a blank description. If the description is undefined or does
not contain a 'runs' field, the resulting descriptionLines should be
and empty array. Then, videoDescription will be an empty string.

* Each line already contains a `\n`

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2022-09-09 13:39:56 -04:00
absidue eaa15ea833
Webpack bundle dependencies (#2511)
* Allow webpack to bundle *most* dependencies

* Exclude *most* node_modules from getting packaged by electron-builder

* Import only the required icons instead of bundling the whole icon pack

* Reduce packaging blacklist to only include the few things that still need blacklisting
2022-09-06 02:29:10 +00:00
Aiz c784841b22
Display time remaining until video goes live (#2501)
* display time left until video premiers:

* video premiere display time left with time units

Displays time left in seconds, minutes, hours, and days.

This depends on how much time is left.

* premiere time left, display time in singular if needed

also simplified the big if block

* premiere time left, display time unit in lowercase

* Add Starting Soon string to locale file

* apply fixes reported by linter

* premiere time left, add suggested changes

Better temp variable scoping, flatten nested code, rename temp variables, use string intepolation

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

* replace tabs with spaces

tabs where used in some places in the suggested code

* display time left, remove "starting soon" string

Since upcomingTimeStamp will be null when the time has passed the scheduled timestamp
it doesn't make sense to use something that will rarely be displayed.
e.g. a user has to click on the video with less than a second remaing until it goes live for it to be displayed

it would also be displayed as "Premieres in Starting soon" which doesn't make sense

* display 'less than a minute' instead of exactly how many seconds remain

Looks better and works for values less than 0

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2022-09-05 23:45:45 +02:00
Malik 141860376d
#2463: Change formats button title from "Video" to "Media" (#2537) 2022-09-05 09:07:48 +00:00
absidue c0285c38c4
Update yt-trending-scraper to 3.1.0 (#2522) 2022-08-31 20:55:10 -04:00
PikachuEXE cb63b12caf
Update top nav search input to open new window on shift click/enter (#2427)
* * Update search input shift click to open new window

* - Remove unused import

Probably auto added by IDE...
2022-08-29 09:40:42 +00:00
MarmadileManteater 02db9483a3
Removing an an empty toast (#2504)
which was unintentionally introduced by my
last pull request.
2022-08-21 20:19:36 +08:00
MarmadileManteater 166fe004b2
This should eliminate this race condition by using (#2493)
the seconds length value provided by the API
rather than trying to pull the time from the video
element. This is related to FreeTubeApp#2492 and
MarmadileManteater#9.
2022-08-20 14:49:41 +02:00
absidue 3e07114d47
Add support for bold, italics and strikethrough formatting in comments (#2475) 2022-08-16 08:11:29 -04:00
absidue 83d54bec39
Fix playlist page sizing and layout (#2484) 2022-08-16 07:44:57 -04:00
PikachuEXE e0e7b5053a
! Fix Cmd+M unable to minimize window when viewing video (#2486) 2022-08-16 06:57:07 -04:00
d 4f9aa231cb
add playlist progress bar (#2402)
* add playlist progress bar

could use some css

* theme and lint
idk if those changes to the package.json or yarn.lock are ok but
it wouldent lint without them :/

* hopfuly fix errors

* why is this not working

* this is anoying.

* fix some other issues

thx @PikachuEXE

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

* spelling mistake

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

* will not display if playlist is shuffled or
reversed

Co-authored-by: makerio90 <makerio1@pm.me>
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2022-08-16 12:37:16 +02:00
ChunkyProgrammer 84b4d230ab
fix unsubscribe from "All Channels" profile (#2451) 2022-08-16 11:45:39 +02:00
MarmadileManteater 33cf88ce31
Mapping the invidious API field to the view (#2483)
Added a line to map the field "authorId" to "channelId"
on the featured channels that come from the Invidious API
because the Channel view expects related channels to have
the property "channelId". This is related to FreeTubeApp#2481.
2022-08-15 23:14:59 +00:00
PrestonN 180a89d7c6 Move channels page to more menu in mobile UI 2022-08-11 21:46:41 -04:00
9ekaitz f8eff0e422
External player choice 'None' translated in Settings (#2075)
* External player choice 'None' translated in Settings

* requested fix related to Vue i18n import

* suggested changes using translation key and fallback to player name
2022-08-10 17:52:31 -04:00
absidue 6334df0ad0
Fix channel page ID handling (#2457)
* Fix channel page ID check race condition

* Correctly handle the different channel ID types
2022-08-08 09:26:04 +00:00
Svallinn fa012972bd
Watch: Fix "Show More replies" button visibility condition (#2460) 2022-08-07 22:10:28 -04:00
absidue 620e2eaa10
Drastically improve loading speed of the settings page (#2452) 2022-08-05 08:29:31 -04:00
Preston ad01e95ec4
Change URL for proxy test (#2434) 2022-07-31 20:26:04 -04:00
Preston 22dd5baf23
Respect autoplay playlists setting (#2430) 2022-07-31 15:37:34 -04:00
absidue 4a8d7c28c0
Fix banner width (#2432) 2022-07-31 15:37:22 -04:00
absidue 01cfbe7b1e
Fix scrolling through the download dropdown (#2426)
* Fix scrolling through the download dropdown

* Fix lining issue
2022-07-31 10:08:49 -04:00
PikachuEXE 9fa4a5a36e
! Fix style issue introduced in https://github.com/FreeTubeApp/FreeTube/pull/2399 (#2421) 2022-07-28 22:47:37 -04:00
absidue 0539e68164
Fix blank space in the subscription settings (#2372)
* Fix blank space in the subscription settings

* Remove the unused code instead of hiding it
2022-07-28 10:10:22 +08:00
Rekito e14a5796ba
Added Catppuccin Mocha Theme (#2395)
* Added Catppuccin Mocha Theme

* Corrected Catppuccin Mocha Theme Hover Colors

* Fix text overflow when selecting theme accent colors

Co-authored-by: Otiker <oportunityfly.imp+gitlab2@protonmail.com>
2022-07-20 09:44:47 +08:00
Luca Hohmann f7b9c5acca
Fix for banner and too far scrolling (#2399)
* Fix for banner and too far scrolling

* Update App.css
2022-07-16 09:30:38 +00:00
absidue 43b9effb46
Replace sketchy lodash import for tooltip ids with own implementation (#2378) 2022-07-09 21:43:51 +00:00
absidue 60d07aa99d
Fixes search suggestion issues with arrow keys (#2370)
* Fix cursor moving while cycling through search suggestions

* Fix the search suggestions changing for all keyboard events

* Remove use of deprecated event.keyCode
2022-07-09 19:30:57 +02:00
absidue df0ec94233
Fix long video links in the video description breaking the layout (#2381) 2022-07-09 16:29:32 +01:00
ChunkyProgrammer 997b6c2f35
allow more locales to be used by FreeTube (#2322) 2022-07-08 18:01:58 +08:00
bob1520 94030b6a8d
Feature/channels page (#2129)
* init

* sync multiple windows

* respect "preferred api"

* prompt, update thumbnail

* regexp fix

* locale

* hide search when empty
2022-07-08 11:40:10 +08:00
vallode 2340af09e2
Fix blog banner layout (#2300)
* Fix blog banner layout

* Fix banner stretching with no content
2022-07-07 19:43:14 +02:00
bob1520 3ccdf56699
search suggestion out of index (#2353) 2022-07-01 16:29:10 +08:00
absidue 65d36852ff
Fix right clicking on links being treated as link clicks (#2355) 2022-06-30 14:53:15 -04:00
bob1520 63442282a9
clear filter in userplaylists and history when clicked "clear input" (#2349) 2022-06-24 23:53:17 +02:00
ChunkyProgrammer 3321fa91e4
Add Parental Controls (#1456)
* start to implement some parental controls

* Hide share + Hide Unsubscribe

* Hide live streams

* fix hide live streams

* Add "parental-control-settings"

* Implement Hide Live Streams & Hide "Age Restricted"

* Hide live streams from Subscriptions + fix hide live streams from search

* enable safe search on showFamilyFriendlyOnly

* Move some settings from parental control to distraction free

* fix channel loading

* make parental control settings collapsible

* fix lint

* dont show age restricted on videos that are loading

* improve hide live videos

* code refactor

* grammar

* nvm im dumb

* use named placeholder for age restricted message

* improve readability

* change Hide Description to Hide Video Description

* update translated strings

* fix age restricted component

Co-authored-by: Preston <freetubeapp@protonmail.com>
Co-authored-by: peepopoggers <72892531+peepopoggers@users.noreply.github.com>
2022-06-21 08:14:15 +02:00
absidue 35dcdbac10
Fix removing the meta files when navigating to a new video (#2344) 2022-06-20 22:33:42 -04:00
PikachuEXE 10f0af1efa
* Update app menu to add item for new window (#2306)
with keyboard shortcut
2022-06-20 22:31:47 -04:00
absidue 5643419131
Fix the redundant navigation error (#2286)
* Fix the redundant navigation error

* Fix the redundant navigation error for the profile selector settings button

* Wrap router push in function that prevents redundant navigation

* Improve duplicate route detection

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

* Remove unused function

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2022-06-20 22:29:39 -04:00
vallode 8d816ed2fe
Fix channel names being cut off (#2292) 2022-06-21 09:49:45 +08:00
bob1520 c2ddac724d
Fix download filename problems (#2320)
* fix "illegal" filename and EISDIR

* check download folder exists
2022-06-21 09:43:45 +08:00
vallode 6a07d558b7
Fix confusing zoomin shortcut (#2289)
* Add hidden ctrl plus shortcut for zoomin

* Add numpad codes to zoom shortcuts
2022-06-20 11:57:25 +00:00
absidue 809274182c
Fix the theming of the share menu logos for the system, black and dracula themes (#2329) 2022-06-19 17:19:52 -04:00
absidue f4aff3964b
Fix emojis displaying incorrectly (#2327) 2022-06-19 16:44:24 -04:00
bob1520 7057633906
loop button color (#2321) 2022-06-19 18:39:29 +00:00
Svallinn b1183fe0c0
Utils+Everywhere: Add a start offset tolerance for the external player (#2325)
If a current video is practically over or the value in
the history's watch progress is almost the same as the length
of the video, it's safe to deduce that if the external player
button is clicked, the user is most likely just rewatching
the video, making no sense to pass a start offset to it
2022-06-19 18:02:57 +00:00
bob1520 330086e87c
add ? and * (#2319) 2022-06-15 22:41:38 +00:00
absidue e2c7fa35a3
Fix the YouTube GDPR cookie not being sent along with requests (#2315) 2022-06-15 22:40:46 +00:00
luzpaz 3440ee507c
Fix misc. typos (#2311)
Found via `codespell -q 3 -S ./yarn.lock,./static/geolocations,./static/locales -L te`
2022-06-13 21:31:32 +08:00
absidue 18b9bdf17d
Remove the material-design-icons dependency (#2298) 2022-06-08 09:11:33 +08:00
PrestonN cf1de6302c Update download-settings.js, download-settings.vue, and 3 more files... 2022-06-05 17:25:05 -04:00
vallode 6a1e81d5a8
Fix channel banner padding (#2288)
* Fix channel banner padding

* Add banner as background image for cover

* Fix lint warnings

* Fix ugly default channel banner
2022-06-05 10:51:49 +08:00
vallode fd46b22f91
Playlist page improvements (#2281)
* Add hover visual on thumbnails

* Fix white-space issues on playlist description

* Fix playlist issues with scrolling

* Fix end of file new lines

* Fix dropdown not visible issue

* Fix mobile styling

* Clean up using flex

* Fix lint issue
2022-06-04 21:51:18 +00:00
vallode 492c48dcf8
Fix ft-input bug padding (#2287)
* Fix ft-input bug padding

* Fix non clear text inputs showing padding
2022-06-04 21:38:12 +00:00
ChunkyProgrammer da095adc8c
Allow Unsubscribing from Deleted Channels (#2283)
* unsub from deleted

* reset error message on invidious channel load

* fix error channels not showing

* Use errorMessage instead of isErrorMessage

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

* Change "Error Channels" to "Channels with Errors"

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

* use find instead of find index

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

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2022-06-03 14:04:50 +00:00
ChunkyProgrammer 74dc309803
Fix: Update thumbnail url and channel name for subscriptions when change detected (#1783)
* Update thumbnails of subscriptions

* refactor

* update channel names

* movie update thumbnail action to profiles.js

* fix updating with invidious

* apply code changes

* simplify update condition logic

* remove unneeded variables

* inline variables, use for of

* fix channel null check
2022-06-03 12:52:35 +00:00
vallode 8d5aa4d855
Remove usage of fixed positioning for core UI elements (#2284)
* Use flex positioning instead of fixed

* Remove expand class

* Fix sticky description on video in mobile

* Sort CSS properties
2022-06-03 12:01:26 +00:00
ChunkyProgrammer 5f8e33c6ad
Improve system locale selection (#2271)
* improve system language selection

* fix lint

* add comments
2022-06-03 12:00:20 +00:00
vallode 31bb187bbd
Clean up ft-input for top-nav (#2279)
* Clean up ft-input for top-nav

* Even out padding on ft-input

* Remove difference in in/out transitions for input

* Alternative solution to showing clear text button

* Keep clear text button visible if applicable

* Fix typo
2022-06-01 16:44:46 +08:00
vallode 989f37f913
Even spacing on top-nav (#2280) 2022-06-01 15:39:14 +08:00
absidue 331f65ec26
Remove unused dependencies (#2278)
* Remove the bulma-pro and videojs-abloop dependencies

* Remove typescript

* Remove the jest development dependency
2022-05-31 16:15:44 -04:00
absidue 365b8f81ae
Format playlist dates with the selected locale (#2244)
* Format Invidious playlist dates with the selected locale

* Fix language for locale API as well

* Add special handling for Norsk nynorsk

* Workaround system locale issue
2022-05-30 21:43:21 -04:00
absidue dd5c68223b
Use the builtin subtle crypto library instead of node-forge (#2276) 2022-05-31 09:42:39 +08:00
PikachuEXE 2db528b8dd
! Fix handling of youtube link middle mouse click (#2083)
To properly open new windows
2022-05-30 14:32:38 -04:00
bob1520 ddce28e586
Feature: Screenshot of video (#2221)
* screenshot

* player settings, jpg & default "pictures" folder

* filename pattern

* folder placeholder update

* remove duplicate action

* update: won't save invalid pattern

* Ask for folder, toggle screenshot, modal showSaveDialog & button unfocus

* useModal
2022-05-30 15:24:34 +02:00
PikachuEXE 713738b5ff
* Implement divider for video "more dropdown menu" (#1748)
* * Implement divider for video "more dropdown menu"

* * Update API for ft-icon-button

* * Update existing ft-icon-button user to use new API for dropdown options

* * Update ft-icon-button to remove unused old API

* * Update divider to be less visible

* * Update padding of list item

* * Update WebpackDevServer option to avoid app reloading on MacOS .DS_Store file change
2022-05-29 18:33:27 -04:00
ChunkyProgrammer dfb28b1d69
Feat: SponsorBlock improvements (#1849)
* Add setting for each SB category

* Update SB Settings Component

* Show other SB categories in seek bar

* Use camelCase for SponsorBlock values

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

* change "Don't Skip" to "Do Nothing" in locale

* improve styling of sponsorblock settings

* add filler category, don't repeat colors

* Fix JS format issue caused during code conflict resolving

* make sponsor block markers transparent

* change opacity to 0.6

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2022-05-29 22:36:59 +02:00
bob1520 c098014a4e
Fix caption baseurl (#2268)
* fix caption

* remove duplicate auto-translation from english
2022-05-26 22:46:49 -04:00
Max Nordlund fdd7e94a1d
Fix typo (#2267)
* Fix typo

* Fix typo

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
2022-05-27 00:08:20 +02:00
bob1520 a9dc9c028d
Fix: wrong info displayed when quickly navigate from a channel to another (#2259)
* Fix: wrong info displayed when you quickly navigate from a channel to another (Invidious)

* localapi

* id
2022-05-25 11:32:19 +02:00
ChunkyProgrammer 2332aafd68
fix csv import/export (#2247) 2022-05-25 10:28:18 +02:00
absidue 0146a63ce6
Add support for next/previous/pause/resume global hotkeys/actions (#2239) 2022-05-23 09:48:49 +08:00
absidue 32b9e1d511
Fix the stats for nerds modal hogging all the keyboard events (#2253) 2022-05-22 07:59:49 -04:00
preston 20a65a6400 Fix small errors that would come up during usage 2022-05-14 21:05:14 -04:00
ChunkyProgrammer 62bdf5e4d6
Feat: Channel Member Icons + Load Custom Channel Emojis in Comments (#1819)
* channel member + custom channel emojis

* accessibility improvements

* show member icon for comment replies

* update yt-comment-scraper. make member icon more accessible.
2022-05-14 13:33:00 -04:00
jilv220 2c672c1baa
Fix #1774 - Dropdown doesn't match theme in dark mode (#2199)
* fix #1774

* fix highlight in dark theme

* change side-nav-color to #0f0f0f in black theme
2022-05-13 04:53:33 -04:00
vallode b202ec85e5
Remove input event emitting to reset search field (#2108) 2022-05-13 09:16:14 +08:00
bob1520 8b50045e78
channel fix (banner, playlist) (#2215)
* channel fix (banner, playlist)

* remove console.log(response)
2022-05-12 09:37:25 +00:00
vallode 3dcea52b75
System theme preference (#1800)
* Add system preference to theme-settings

* Add watching logic to check for dark theme settings

* Add en system theme translation

* Add explicit darkTheme option to browserWindow

* Remove unnecessary themeSource line

* Fix lint errors

* Move to using main process messaging for theme change

* Add system dataset selectors for themes

* Fix lint errors

* Change system theme to system default

* Use system default for deciding background color of newWindow

* Add baseTheme to state persistance

* Use baseTheme on browserWindow creation

* Fix lint errors

* Improve window background logic

* Catch settingsDb errors

* Remove dark flash on light themes

* Fix lint issues

* Fix system default sync on multiple windows

* Load database on each new window

* Fix lint errors

* Update compatibility for shared electron storage

* Remove unused console log

* Revert unnecessary changes

* Fix window maximize white flash

* Fix handleBaseTheme usage

* Use data-system-theme instead of data-theme

* Revert window maximize changes

* Fix theme flash on new window open
2022-05-11 10:30:40 -04:00
absidue 1e5895a8c6
Hide Picture in Picture button and disable shortcut for audio formats (#2227) 2022-05-02 19:50:23 +08:00
Svallinn 39bf59238f
List-Video: Clear watch progress from view cache when marking as unseen (#2220) 2022-04-27 02:28:16 -04:00
absidue e10c12e55b
Allow DASH formats for livestream replays (#2208) 2022-04-24 10:02:26 +08:00