Commit Graph

2815 Commits

Author SHA1 Message Date
syeopite 1b569bbc99
Add support channel home pages + gen. improvements
This commit adds support for channel home pages and all of the
categories within it. However, the frontend code is a mess and thus
needs to be refactor soon. Though that would likely require a rework of
items.ecr

This commit also comes with some general cleanups and improvements.

Before this commit channel brand URls would only be supported on the
videos page (now home page). It has been improved to be able to handle
all channel URLs.

The category_type and auxiliary_data property has also been removed from
the Category struct. The former was never used and the latter allows for
random data to be added to the Struct presenting documentation issues.

Since the auxiliary_data variable was mainly used to store values from
the browse_endpoint in order to create URLs, its much simpler to instead
just get the URL from the webCommandMetadata.

As a result of this change the browse_endpoint_data attribute of
Category has also been removed.
2021-06-24 08:52:48 -07:00
syeopite aa8f15f795
Add description_html field to Category 2021-06-24 08:52:48 -07:00
syeopite b906f7a3f8
Add total views and description to playlist 2021-06-24 08:52:48 -07:00
syeopite d91eff14d7
Fix index err on chans w/o extern links 2021-06-24 08:52:48 -07:00
syeopite fbe9a0c0f2
Add content sections to trending feed 2021-06-24 08:52:48 -07:00
syeopite d3384e17f1
Change typing of Category contents to only Array 2021-06-24 08:52:48 -07:00
syeopite 0e96eda28f
Move continuation_token out of Category struct 2021-06-24 08:52:48 -07:00
syeopite cc02fed4e6
Fix category parse error on search 2021-06-24 08:52:48 -07:00
syeopite c91ff8506a
Make feat. chan page URL to compatible with yt 2021-06-24 08:52:47 -07:00
syeopite 8000d538db
Add parser for categories (shelfRenderer)
This commit adds a new parser for YT's shelfRenderers which are
typically used to denote different categories.The code for featured
channels parsing has also been moved to use the new parser but some
additional refactoring are needed there.

The ContinuationExtractor has also been improved and is now capable of
extraction continuation data that is packaged under
"appendContinuationItemsAction"

In additional this commit adds some useful helper functions to extract
the current selected tab the continuation token. This is to mainly
reduce code size and repetition.
2021-06-24 08:52:47 -07:00
syeopite a027fbf7af
Rewrite extract_item and extract_items functions
This commit completely rewrites the extract_item and extract_items
function. Before this commit these two function were an unreadable
mess. The extract_item function was a lengthy if-elsif chain
while the extract_items function contained an incomprehensible
mess of .try, else and ||.

With this commit both of these functions have been pulled into a
separate file with the internal logic being moved to a few classes.

This significantly reduces the size of these two methods, enhances
readability and makes adding new extraction/parse rules much simpler.

See diff for details.
2021-06-24 08:52:47 -07:00
syeopite 48a518b252
Add check for empty chan category in featured chan 2021-06-24 08:52:47 -07:00
syeopite 55762f0c2c
Use responsive pure css grids in about.ecr 2021-06-24 08:52:47 -07:00
syeopite 8a9b3a19a2
Add buffer btwn content and footer on some pages 2021-06-24 08:52:47 -07:00
syeopite 268b8efbac
Adjust footer styling 2021-06-24 08:52:47 -07:00
syeopite f0c74a9429
Overhaul footer design. See #2032 2021-06-24 08:52:47 -07:00
syeopite f5a0a6b899
Move channel views to separate directory 2021-06-24 08:52:47 -07:00
syeopite e9dcac9bd4
Add support for featured channels page 2021-06-24 08:52:46 -07:00
syeopite a777eda66a
Change AboutChannel tabs to hash of name and param
This is to help fetch tab contents from the browse endpoint of youtube
later on.
2021-06-24 08:51:02 -07:00
syeopite 4d1297f257
Fix uncentered channel banner image 2021-06-24 08:51:02 -07:00
syeopite a566a45571
Add channel country and external links to API 2021-06-24 08:51:02 -07:00
syeopite 8fad19d805
Extract primary channel routes from invidious.cr
Also removes timedtext_video stub since all it does is redirect to the
homepage. However, Invidious's 404 handler already does this.
2021-06-24 08:51:02 -07:00
syeopite 54d964a824
Fix locale consistency for About page 2021-06-24 08:50:55 -07:00
syeopite c0c1f7bf75
Fix pure-css-link focus color 2021-06-24 08:39:28 -07:00
syeopite 90d863ec9b
Reduce space between extern link header and items 2021-06-24 08:39:27 -07:00
syeopite 62f487d3c3
Handle missing country detail in channel about page 2021-06-24 08:39:27 -07:00
syeopite 01e04340cd
Add links widget to channel banner + tiny refactor 2021-06-24 08:39:27 -07:00
syeopite 710b269d30
Move channel specific CSS to separate file 2021-06-24 08:39:27 -07:00
syeopite 35d94f9ed3
Change channel banner to be CSS background image
This is to allow for contents to be placed on the channel banner itself;
something that is required for the links widget shown on Youtube.
2021-06-24 08:39:27 -07:00
syeopite ae07c7694f
Fetch external links favicon and add to about page 2021-06-24 08:39:27 -07:00
syeopite af385663c4
Add about tab to channels 2021-06-24 08:39:26 -07:00
syeopite 1feccf7e53
Add logic to parse external chan links and country 2021-06-24 08:39:03 -07:00
syeopite d487ee1e15
Fix improper URL formatting for channel sort 2021-06-24 08:39:03 -07:00
syeopite 82d51429c1
Improve styling for search filters 2021-06-24 08:39:02 -07:00
syeopite bc273c75c3
Fix typo 2021-06-24 08:36:14 -07:00
syeopite 3d630dd387
Add search icon to navbar searchbar 2021-06-24 08:36:14 -07:00
syeopite 05adaf7315
Refactor channel tab templates 2021-06-24 08:36:13 -07:00
syeopite e3245bd311
Move trending tabs to left like in channels 2021-06-24 08:34:18 -07:00
syeopite 482f123df8
Remove broken view as playlist feature in trending 2021-06-24 08:34:18 -07:00
syeopite c6466e6ada
Disallow removing filters from sort by column 2021-06-24 08:34:18 -07:00
syeopite a81f66debe
Fix styling for filter remove icon 2021-06-24 08:34:17 -07:00
syeopite 7276edddf8
Add search bar to channel page.
Closes #1923
2021-06-24 08:34:17 -07:00
syeopite d7901a99f8
Add ability to remove search filters from UI 2021-06-24 08:34:17 -07:00
syeopite 46df266c36
Fix search filters being overwritten by others 2021-06-24 08:33:33 -07:00
syeopite c68ba62eae
Move search.ecr specific css to another file 2021-06-24 08:31:46 -07:00
syeopite 1bb8429fe5
Declutter search bar to only show search query
This commit changes the way search filters are parsed. Instead of
directly appending the data into the search query and creating k:v
pairs, all of the search filters are now a URL parameter. This results
in a clear look overall and hides much of the logic from the end user.

Closes #1969
2021-06-24 08:31:45 -07:00
syeopite ff43a47716
Change dropdown into normal tabs 2021-06-24 08:29:25 -07:00
syeopite 1a3824a5af
Refactor channel sorting links to dropdown 2021-06-24 08:29:25 -07:00
syeopite 93ee81a468
Use purecss menus for channel tabs 2021-06-24 08:29:24 -07:00
syeopite e34f375cf5
Update styling for buttons and dark-theme 2021-06-24 08:28:49 -07:00