diff --git a/locales/en-US.json b/locales/en-US.json index 10887612..7347409b 100644 --- a/locales/en-US.json +++ b/locales/en-US.json @@ -496,5 +496,6 @@ "toggle_theme": "Toggle Theme", "carousel_slide": "Slide {{current}} of {{total}}", "carousel_skip": "Skip the Carousel", - "carousel_go_to": "Go to slide `x`" + "carousel_go_to": "Go to slide `x`", + "channel_has_no_posts": "This channel hasn't posted yet" } diff --git a/src/invidious/channels/community.cr b/src/invidious/channels/community.cr index 49ffd990..cd658f34 100644 --- a/src/invidious/channels/community.cr +++ b/src/invidious/channels/community.cr @@ -57,6 +57,14 @@ def extract_channel_community(items, *, ucid, locale, format, thin_mode, is_sing .try &.as_s || "" if error_message == "This channel does not exist." raise NotFoundException.new(error_message) + elsif error_message == "This channel hasn't posted yet" + response = JSON.build do |json| + json.object do + json.field "authorId", ucid + json.field "comments", json.array { } + end + end + return response else raise InfoException.new(error_message) end diff --git a/src/invidious/views/community.ecr b/src/invidious/views/community.ecr index d2a305d3..b813533c 100644 --- a/src/invidious/views/community.ecr +++ b/src/invidious/views/community.ecr @@ -25,6 +25,10 @@

<%= error_message %>

+<% elsif items.not_nil!["comments"].as_a.empty? %> +
+ <%= translate(locale, "channel_has_no_posts") %> +
<% else %>
<%= IV::Frontend::Comments.template_youtube(items.not_nil!, locale, thin_mode) %>