2021-12-27 10:37:38 +09:00
|
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
2021-12-20 11:11:12 +09:00
|
|
|
import asyncdispatch, strutils, options
|
2022-01-15 02:01:47 +09:00
|
|
|
import jester, karax/vdom
|
2022-01-15 03:33:01 +09:00
|
|
|
import ".."/[types, api]
|
|
|
|
import ../views/[embed, tweet, general]
|
2022-01-15 02:01:47 +09:00
|
|
|
import router_utils
|
2019-12-06 23:15:56 +09:00
|
|
|
|
2022-01-15 03:35:01 +09:00
|
|
|
export api, embed, vdom, tweet, general, router_utils
|
2019-12-06 23:15:56 +09:00
|
|
|
|
|
|
|
proc createEmbedRouter*(cfg: Config) =
|
|
|
|
router embed:
|
|
|
|
get "/i/videos/tweet/@id":
|
2020-06-01 09:22:56 +09:00
|
|
|
let convo = await getTweet(@"id")
|
|
|
|
if convo == nil or convo.tweet == nil or convo.tweet.video.isNone:
|
|
|
|
resp Http404
|
|
|
|
|
2022-01-15 03:45:02 +09:00
|
|
|
resp renderVideoEmbed(convo.tweet, cfg, request)
|
2022-01-15 02:01:47 +09:00
|
|
|
|
2022-01-15 02:34:10 +09:00
|
|
|
get "/@user/status/@id/embed":
|
2022-01-15 02:01:47 +09:00
|
|
|
let
|
2022-01-15 02:34:10 +09:00
|
|
|
convo = await getTweet(@"id")
|
2022-01-15 02:01:47 +09:00
|
|
|
prefs = cookiePrefs()
|
|
|
|
path = getPath()
|
|
|
|
|
2022-01-15 02:34:10 +09:00
|
|
|
if convo == nil or convo.tweet == nil:
|
|
|
|
resp Http404
|
|
|
|
|
2022-01-15 03:45:02 +09:00
|
|
|
resp $renderTweetEmbed(convo.tweet, path, prefs, cfg, request)
|
2022-01-15 03:24:06 +09:00
|
|
|
|
|
|
|
get "/embed/Tweet.html":
|
|
|
|
let id = @"id"
|
|
|
|
|
|
|
|
if id.len > 0:
|
|
|
|
redirect("/i/status/" & id & "/embed")
|
|
|
|
else:
|
|
|
|
resp Http404
|