summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOmar Roth <omarroth@hotmail.com>2018-11-19 16:24:21 -0600
committerOmar Roth <omarroth@hotmail.com>2018-11-19 16:24:21 -0600
commit8706364d90551cd716fdcc1974be4e5a2a752dd1 (patch)
tree59b02c874f098da28343612a946a9132f9d88f06 /src
parented6d321bc6131e37d8e243b5221034d689212848 (diff)
downloadinvidious-8706364d90551cd716fdcc1974be4e5a2a752dd1.tar.gz
invidious-8706364d90551cd716fdcc1974be4e5a2a752dd1.tar.bz2
invidious-8706364d90551cd716fdcc1974be4e5a2a752dd1.zip
Add support for watchEndpoints in comment templating
Diffstat (limited to 'src')
-rw-r--r--src/invidious/comments.cr16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/invidious/comments.cr b/src/invidious/comments.cr
index f4398b58..5f7b34c0 100644
--- a/src/invidious/comments.cr
+++ b/src/invidious/comments.cr
@@ -491,8 +491,7 @@ def content_to_comment_html(content)
end
if run["navigationEndpoint"]?
- url = run["navigationEndpoint"]["urlEndpoint"]?.try &.["url"].as_s
- if url
+ if url = run["navigationEndpoint"]["urlEndpoint"]?.try &.["url"].as_s
url = URI.parse(url)
if !url.host || {"m.youtube.com", "www.youtube.com", "youtu.be"}.includes? url.host
@@ -502,11 +501,16 @@ def content_to_comment_html(content)
url = url.full_path
end
end
- else
- url = run["navigationEndpoint"]["commandMetadata"]?.try &.["webCommandMetadata"]["url"].as_s
- end
- text = %(<a href="#{url}">#{text}</a>)
+ text = %(<a href="#{url}">#{text}</a>)
+ elsif watch_endpoint = run["navigationEndpoint"]["watchEndpoint"]?
+ length_seconds = watch_endpoint["startTimeSeconds"].as_i
+ video_id = watch_endpoint["videoId"].as_s
+
+ text = %(<a onmouseenter='this["href"]="javascript:void();"' onclick="player.currentTime(#{length_seconds})" href="/watch?v=#{video_id}&t=#{length_seconds}">#{text}</a>)
+ elsif url = run["navigationEndpoint"]["commandMetadata"]?.try &.["webCommandMetadata"]["url"].as_s
+ text = %(<a href="#{url}">#{text}</a>)
+ end
end
text