Преглед изворни кода

Remove embedTweet.js, use <base target="_blank"> instead

Zed пре 1 месец
родитељ
комит
ca19250a62
2 измењених фајлова са 5 додато и 34 уклоњено
  1. 0 28
      public/js/embedTweet.js
  2. 5 6
      src/views/embed.nim

+ 0 - 28
public/js/embedTweet.js

@@ -1,28 +0,0 @@
-// This runs after embedResize.js sets up the sendHeight function
-(function() {
-  var sendHeight = window._nitterSendHeight;
-
-  // Make images load eagerly so height updates correctly
-  var lazyImages = document.querySelectorAll('img[loading="lazy"]');
-  for (var i = 0; i < lazyImages.length; i++) {
-    lazyImages[i].loading = 'eager';
-  }
-
-  // Update height when images finish loading (only if sendHeight available)
-  if (sendHeight) {
-    var allImages = document.querySelectorAll('img');
-    for (var i = 0; i < allImages.length; i++) {
-      var img = allImages[i];
-      if (!img.complete) {
-        img.addEventListener('load', sendHeight);
-      }
-    }
-  }
-
-  // Open all links in new tab (we're in an iframe)
-  var allLinks = document.querySelectorAll('a');
-  for (var i = 0; i < allLinks.length; i++) {
-    allLinks[i].target = '_blank';
-  }
-
-})();

+ 5 - 6
src/views/embed.nim

@@ -8,8 +8,6 @@ import general, tweet
 const
   doctype = "<!DOCTYPE html>\n"
   embedResizeJs = staticRead("../../public/js/embedResize.js")
-  embedTweetJs = embedResizeJs & ";" & staticRead("../../public/js/embedTweet.js")
-  embedErrorJs = embedResizeJs & ";if(window._nitterSendHeight)requestAnimationFrame(window._nitterSendHeight);"
 
 proc renderVideoEmbed*(tweet: Tweet; cfg: Config; req: Request): string =
   let
@@ -33,17 +31,18 @@ proc renderVideoEmbed*(tweet: Tweet; cfg: Config; req: Request): string =
 proc renderTweetEmbed*(tweet: Tweet; path: string; prefs: Prefs; cfg: Config; req: Request): string =
   let node = buildHtml(html(lang="en")):
     renderHead(prefs, cfg, req)
+    base(target="_blank")
 
     body:
       tdiv(class="embed-wrapper"):
         tdiv(class="tweet-embed"):
-          a(class="tweet-link", href=getLink(tweet), target="_blank")
+          a(class="tweet-link", href=getLink(tweet))
           renderTweet(tweet, prefs, path, mainTweet=true)
-        a(class="embed-footer", href=getLink(tweet), target="_blank"):
+        a(class="embed-footer", href=getLink(tweet)):
           text "Read more on " & cfg.hostname
 
       script:
-        verbatim embedTweetJs
+        verbatim embedResizeJs
 
   result = doctype & $node
 
@@ -57,6 +56,6 @@ proc renderErrorEmbed*(error: string; prefs: Prefs; cfg: Config; req: Request):
           span: text error
 
       script:
-        verbatim embedErrorJs
+        verbatim embedResizeJs
 
   result = doctype & $node