From 6fb4f8474d25ea8f0c44f7737638f5663d79aa14 Mon Sep 17 00:00:00 2001 From: Aevann Date: Tue, 9 Apr 2024 05:39:07 +0200 Subject: [PATCH] add instagram and tiktok embeds --- files/assets/css/main.css | 17 ++++++++++++++++- files/helpers/config/const.py | 2 +- files/templates/post.html | 15 ++++++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/files/assets/css/main.css b/files/assets/css/main.css index abb0f62b8..bfc8958f1 100644 --- a/files/assets/css/main.css +++ b/files/assets/css/main.css @@ -7825,7 +7825,22 @@ img[src$="/e/speechbubble.webp"] { height: auto !important; } -#reddit-embed { +#embed { border: none; margin-bottom: 10px; } + +.instagram-post-embed { + height: 1050px +} +.instagram-profile-embed { + height: 562px +} +@media (max-width: 768px) { + .instagram-post-embed { + height: 930px + } + .instagram-profile-embed { + height: 411px + } +} diff --git a/files/helpers/config/const.py b/files/helpers/config/const.py index 28fed4c4f..d4b94f245 100644 --- a/files/helpers/config/const.py +++ b/files/helpers/config/const.py @@ -1126,7 +1126,7 @@ engine = create_engine(environ.get("DATABASE_URL").strip(), connect_args={"optio db_session = scoped_session(sessionmaker(bind=engine, autoflush=False)) approved_embed_hosts_for_csp = ' '.join(set(x.split('/')[0] for x in approved_embed_hosts)) -csp = f"default-src 'none'; frame-ancestors 'none'; form-action 'self'; manifest-src 'self'; worker-src 'self'; base-uri 'self'; font-src 'self'; style-src-elem 'self' rdrama.net watchpeopledie.tv; style-src-attr 'unsafe-inline'; style-src 'self' 'unsafe-inline'; script-src-elem 'self' challenges.cloudflare.com static.cloudflareinsights.com; script-src-attr 'none'; script-src 'self' challenges.cloudflare.com static.cloudflareinsights.com; frame-src embed.reddit.com challenges.cloudflare.com cdpn.io platform.twitter.com rumble.com player.twitch.tv; connect-src 'self' submit.watchpeopledie.tv; img-src {approved_embed_hosts_for_csp} data:; media-src *.googlevideo.com archive.org *.us.archive.org {approved_embed_hosts_for_csp};" +csp = f"default-src 'none'; frame-ancestors 'none'; form-action 'self'; manifest-src 'self'; worker-src 'self'; base-uri 'self'; font-src 'self'; style-src-elem 'self' rdrama.net watchpeopledie.tv; style-src-attr 'unsafe-inline'; style-src 'self' 'unsafe-inline'; script-src-elem 'self' challenges.cloudflare.com static.cloudflareinsights.com; script-src-attr 'none'; script-src 'self' challenges.cloudflare.com static.cloudflareinsights.com; frame-src www.tiktok.com www.instagram.com embed.reddit.com challenges.cloudflare.com cdpn.io platform.twitter.com rumble.com player.twitch.tv; connect-src 'self' submit.watchpeopledie.tv; img-src {approved_embed_hosts_for_csp} data:; media-src *.googlevideo.com archive.org *.us.archive.org {approved_embed_hosts_for_csp};" if not IS_LOCALHOST: csp += ' upgrade-insecure-requests;' diff --git a/files/templates/post.html b/files/templates/post.html index 95df40537..c7aaf208b 100644 --- a/files/templates/post.html +++ b/files/templates/post.html @@ -149,8 +149,21 @@ {% endif %} {% if p.url and p.url.startswith('https://old.reddit.com/r/') %} - + + {% elif p.domain == 'instagram.com' %} + {% set path = p.url.split('https://instagram.com/')[1].rstrip('/') %} + {% if '/' in path %} + {% set path = path + '/embed/captioned' %} + {% set class = "instagram-post-embed" %} + {% else %} + {% set path = path + '/embed' %} + {% set class = "instagram-profile-embed" %} + {% endif %} + + {% elif p.domain == 'tiktok.com' %} + {% set id = p.url.split('/video/')[1] %} + {% endif %}