Commit Graph

2829 Commits

Author SHA1 Message Date
syeopite
44d18b8e14
Debloat channels.cr into mult files + rm depre. 2021-06-25 09:08:29 -07:00
syeopite
746ce6b71c
Replace channel tab param fetch with hardcoded ones 2021-06-24 18:16:12 -07:00
syeopite
462ef800ff
Fix lint and add footer desc to locale 2021-06-24 17:29:21 -07:00
syeopite
9b6d09c7b6
Add objects to represent youtube item containers 2021-06-24 17:26:20 -07:00
syeopite
46fe3c5195
Fix sorting for videos and playlist tabs 2021-06-24 16:03:59 -07:00
syeopite
f2039d6dcf
Move sorting options to separate bar 2021-06-24 11:20:09 -07:00
syeopite
ca4afd59f4
Make search not include category items for now 2021-06-24 10:27:19 -07:00
syeopite
2605b9c609
Fix category items not being extracted in search 2021-06-24 10:23:25 -07:00
syeopite
0f5b7d86b4
Improve color for trailer 2021-06-24 10:04:35 -07:00
syeopite
842c23a119
Fix merge conflicts 2021-06-24 09:33:04 -07:00
syeopite
04e04efd19
Rename invidiousitems.cr 2021-06-24 08:52:48 -07:00
syeopite
d3a9e8554c
Extract items from category for search in frontend 2021-06-24 08:52:48 -07:00
syeopite
420c2be348
Minor CSS cleanup 2021-06-24 08:52:48 -07:00
syeopite
f2c35b975f
Fix styling for featured badges on category 2021-06-24 08:52:48 -07:00
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