diff options
| author | Omar Roth <omarroth@hotmail.com> | 2018-11-19 16:24:21 -0600 |
|---|---|---|
| committer | Omar Roth <omarroth@hotmail.com> | 2018-11-19 16:24:21 -0600 |
| commit | 8706364d90551cd716fdcc1974be4e5a2a752dd1 (patch) | |
| tree | 59b02c874f098da28343612a946a9132f9d88f06 | |
| parent | ed6d321bc6131e37d8e243b5221034d689212848 (diff) | |
| download | invidious-8706364d90551cd716fdcc1974be4e5a2a752dd1.tar.gz invidious-8706364d90551cd716fdcc1974be4e5a2a752dd1.tar.bz2 invidious-8706364d90551cd716fdcc1974be4e5a2a752dd1.zip | |
Add support for watchEndpoints in comment templating
| -rw-r--r-- | src/invidious/comments.cr | 16 |
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 |
