Skip to content

Commit

Permalink
Add support for viewing comments without js
Browse files Browse the repository at this point in the history
Improve stylings
  • Loading branch information
ChunkyProgrammer committed Sep 27, 2023
1 parent 4f25069 commit b0e507d
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 5 deletions.
8 changes: 8 additions & 0 deletions assets/css/default.css
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,14 @@ p.video-data { margin: 0; font-weight: bold; font-size: 80%; }
margin: auto;
}

/*
* We don't want the top and bottom margin on the post page.
*/
.comments.post-comments {
margin-bottom: 0;
margin-top: 0;
}

.video-iframe-wrapper {
position: relative;
height: 0;
Expand Down
12 changes: 11 additions & 1 deletion src/invidious/routes/channels.cr
Original file line number Diff line number Diff line change
Expand Up @@ -200,11 +200,15 @@ module Invidious::Routes::Channels
prefs = env.get("preferences").as(Preferences)

locale = prefs.locale
region = env.params.query["region"]? || prefs.region

thin_mode = env.params.query["thin_mode"]? || prefs.thin_mode
thin_mode = thin_mode == "true"

nojs = env.params.query["nojs"]?

nojs ||= "0"
nojs = nojs == "1"

if !ucid.nil?
ucid = ucid.to_s
post_response = fetch_channel_community_post(ucid, id, locale, "json", thin_mode)
Expand All @@ -218,6 +222,12 @@ module Invidious::Routes::Channels
end

post_response = JSON.parse(post_response)

if nojs
comments = Comments.fetch_community_post_comments(ucid,id)
comment_html = JSON.parse(Comments.parse_youtube(id, comments, "html", locale, thin_mode, isPost: true))["contentHtml"]
comment_html ||= ""
end
templated "post"
end

Expand Down
25 changes: 21 additions & 4 deletions src/invidious/views/post.ecr
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,27 @@
<title>Invidious</title>
<% end %>

<div id="post" class="comments">
<%= IV::Frontend::Comments.template_youtube(post_response.not_nil!, locale, thin_mode) %>
</div>
<div id="comments" class="comments">
<div>
<div id="post" class="comments post-comments">
<%= IV::Frontend::Comments.template_youtube(post_response.not_nil!, locale, thin_mode) %>
</div>

<% if nojs %>
<hr>
<% end %>
<br />

<div id="comments" class="comments post-comments">
<% if nojs %>
<%= comment_html %>
<% else %>
<noscript>
<a href="/post/<%= id %>?ucid=<%= ucid %>&nojs=1">
<%= translate(locale, "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.") %>
</a>
</noscript>
<% end %>
</div>
</div>

<script id="video_data" type="application/json">
Expand Down

0 comments on commit b0e507d

Please sign in to comment.