From d70681538acac937a8bdcdba752cd6e431cfe799 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 18 Feb 2025 19:20:55 -0300 Subject: [PATCH] Channels: Fix community tab --- locales/en-US.json | 1 + src/invidious/frontend/channel_page.cr | 2 +- src/invidious/routes/channels.cr | 5 ++++- src/invidious/routing.cr | 2 ++ src/invidious/views/community.ecr | 2 +- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/locales/en-US.json b/locales/en-US.json index c23f6bc33..5f99c1efa 100644 --- a/locales/en-US.json +++ b/locales/en-US.json @@ -494,6 +494,7 @@ "channel_tab_releases_label": "Releases", "channel_tab_playlists_label": "Playlists", "channel_tab_community_label": "Community", + "channel_tab_posts_label": "Posts", "channel_tab_channels_label": "Channels", "toggle_theme": "Toggle Theme", "carousel_slide": "Slide {{current}} of {{total}}", diff --git a/src/invidious/frontend/channel_page.cr b/src/invidious/frontend/channel_page.cr index fe7d6d6ef..00f245680 100644 --- a/src/invidious/frontend/channel_page.cr +++ b/src/invidious/frontend/channel_page.cr @@ -8,7 +8,7 @@ module Invidious::Frontend::ChannelPage Podcasts Releases Playlists - Community + Posts Channels end diff --git a/src/invidious/routes/channels.cr b/src/invidious/routes/channels.cr index 7d634cbb6..65e794bd0 100644 --- a/src/invidious/routes/channels.cr +++ b/src/invidious/routes/channels.cr @@ -198,6 +198,8 @@ module Invidious::Routes::Channels end def self.community(env) + return env.redirect env.request.path.sub("posts", "community") if env.request.path.split("/").last == "posts" + data = self.fetch_basic_information(env) if !data.is_a?(Tuple) return data @@ -214,7 +216,7 @@ module Invidious::Routes::Channels continuation = env.params.query["continuation"]? - if !channel.tabs.includes? "community" + if !channel.tabs.includes? "community" && "posts" return env.redirect "/channel/#{channel.ucid}" end @@ -308,6 +310,7 @@ module Invidious::Routes::Channels private KNOWN_TABS = { "home", "videos", "shorts", "streams", "podcasts", "releases", "playlists", "community", "channels", "about", + "posts", } # Redirects brand url channels to a normal /channel/:ucid route diff --git a/src/invidious/routing.cr b/src/invidious/routing.cr index 9009062f1..975659eb3 100644 --- a/src/invidious/routing.cr +++ b/src/invidious/routing.cr @@ -122,6 +122,7 @@ module Invidious::Routing get "/channel/:ucid/releases", Routes::Channels, :releases get "/channel/:ucid/playlists", Routes::Channels, :playlists get "/channel/:ucid/community", Routes::Channels, :community + get "/channel/:ucid/posts", Routes::Channels, :community get "/channel/:ucid/channels", Routes::Channels, :channels get "/channel/:ucid/about", Routes::Channels, :about @@ -251,6 +252,7 @@ module Invidious::Routing get "/api/v1/channels/:ucid/releases", {{namespace}}::Channels, :releases get "/api/v1/channels/:ucid/playlists", {{namespace}}::Channels, :playlists get "/api/v1/channels/:ucid/community", {{namespace}}::Channels, :community + get "/api/v1/channels/:ucid/posts", {{namespace}}::Channels, :community get "/api/v1/channels/:ucid/channels", {{namespace}}::Channels, :channels get "/api/v1/channels/:ucid/search", {{namespace}}::Channels, :search diff --git a/src/invidious/views/community.ecr b/src/invidious/views/community.ecr index d2a305d3c..132e636ce 100644 --- a/src/invidious/views/community.ecr +++ b/src/invidious/views/community.ecr @@ -7,7 +7,7 @@ youtube_url = "https://www.youtube.com#{relative_url}" redirect_url = Invidious::Frontend::Misc.redirect_url(env) - selected_tab = Invidious::Frontend::ChannelPage::TabsAvailable::Community + selected_tab = Invidious::Frontend::ChannelPage::TabsAvailable::Posts -%> <% content_for "header" do %>