about summary refs log tree commit diff stats
path: root/src/pages/popup
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/popup')
-rw-r--r--src/pages/popup/popup.html291
-rw-r--r--src/pages/popup/popup.js108
-rw-r--r--src/pages/popup/popup.pug123
3 files changed, 298 insertions, 224 deletions
diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html
index 68831940..0cd1a4f7 100644
--- a/src/pages/popup/popup.html
+++ b/src/pages/popup/popup.html
@@ -1,183 +1,112 @@
 <!DOCTYPE html>
-<html>
-
-<head>
-  <meta charset="utf-8" />
-  <meta name="viewport" content="width=device-width, initial-scale=1" />
-  <link href="../stylesheets/styles.css" rel="stylesheet" />
-  <link href="./style.css" rel="stylesheet" />
-</head>
-
-<body dir="auto">
-  <div id="youtube" class="some-block">
-    <a class="title" href="https://youtube.com">
-      <img src="../../assets/images/youtube-icon.png" />
-      <h4 data-localise="__MSG_youtube__">YouTube</h4>
-    </a>
-    <input id="disable-youtube" type="checkbox" checked />
-  </div>
-
-  <div id="youtubeMusic" class="some-block">
-    <a class="title" href="https://music.youtube.com">
-      <img src="../../assets/images/youtube-music-icon.png" />
-      <h4 data-localise="__MSG_ytmusic__">YT Music</h4>
-    </a>
-    <input id="disable-youtubeMusic" type="checkbox" checked />
-  </div>
-
-  <div id="twitter" class="some-block">
-    <a class="title" href="https://twitter.com">
-      <img src="../../assets/images/twitter-icon.png" />
-      <h4 data-localise="__MSG_twitter__">Twitter</h4>
-    </a>
-    <input id="disable-nitter" type="checkbox" checked />
-  </div>
-
-  <div id="instagram" class="some-block">
-    <a class="title" href="https://instagram.com">
-      <!-- https://www.iconfinder.com/Indygo -->
-      <img src="../../assets/images/instagram-icon.png" />
-      <h4 data-localise="__MSG_instagram__">Instagram</h4>
-    </a>
-    <input id="disable-bibliogram" type="checkbox" checked />
-  </div>
-
-  <div id="tikTok" class="some-block">
-    <a class="title" href="https://tiktok.com">
-      <!-- https://www.flaticon.com/authors/designer-shah -->
-      <img src="../../assets/images/tiktok-icon.png" />
-      <h4 data-localise="__MSG_tiktok__">TikTok</h4>
-    </a>
-    <input id="disable-tiktok" type="checkbox" checked />
-  </div>
-
-  <div id="imgur" class="some-block">
-    <a class="title" href="https://imgur.com">
-      <img src="../../assets/images/imgur-icon.png" />
-      <h4 data-localise="__MSG_imgur__">Imgur</h4>
-    </a>
-    <input id="disable-imgur" type="checkbox" checked />
-  </div>
-
-  <div id="reddit" class="some-block">
-    <a class="title" href="https://reddit.com">
-      <!-- https://www.flaticon.com/authors/md-tanvirul-haque -->
-      <img src="../../assets/images/reddit-icon.png" />
-      <h4 data-localise="__MSG_reddit__">Reddit</h4>
-    </a>
-    <input id="disable-reddit" type="checkbox" checked />
-  </div>
-
-  <div id="wikipedia" class="some-block">
-    <a class="title" href="https://wikipedia.org">
-      <img src="../../../assets/images/wikipedia-icon.svg" />
-      <h4 data-localise="__MSG_wikipedia__">Wikipedia</h4>
-    </a>
-    <input id="disable-wikipedia" type="checkbox" checked />
-  </div>
-
-  <div id="medium" class="some-block">
-    <a class="title" href="https://medium.com">
-      <!-- https://markentier.tech/posts/2020/10/medium-icon-svg/ -->
-      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
-        <circle cx="500" cy="500" r="500" />
-        <ellipse ry="475" rx="250" cy="501" cx="1296" />
-        <ellipse cx="1682" cy="502" rx="88" ry="424" />
-      </svg>
-      <h4 data-localise="__MSG_medium__">Medium</h4>
-    </a>
-    <input id="disable-medium" type="checkbox" checked />
-  </div>
-
-  <div id="peertube" class="some-block">
-    <a class="title" href="https://search.joinpeertube.org">
-      <img src="../../../assets/images/peertube-icon.svg" />
-      <h4 data-localise="__MSG_peertube__">Peertube</h4>
-    </a>
-    <input id="disable-peertube" type="checkbox" checked />
-  </div>
-
-  <div id="lbry" class="some-block">
-    <a class="title" href="https://odysee.com">
-      <img src="../../../assets/images/lbry-icon.png" />
-      <h4 data-localise="__MSG_lbry__">LBRY</h4>
-    </a>
-    <input id="disable-lbry" type="checkbox" checked />
-  </div>
-  <div id="search" class="some-block">
-    <a class="title" href="http://libredirect.invalid">
-      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
-        <path d="M0 0h24v24H0V0z" fill="none" />
-        <path
-          d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" />
-      </svg>
-      <h4 data-localise="__MSG_search__">Search</h4>
-    </a>
-    <input id="disable-search" type="checkbox" checked />
-  </div>
-
-  <div id="translate" class="some-block">
-    <a class="title" href="https://translate.google.com">
-      <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
-        <path
-          d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z" />
-      </svg>
-      <h4 data-localise="__MSG_translate__">Translate</h4>
-    </a>
-    <input id="disable-simplyTranslate" type="checkbox" checked />
-  </div>
-
-  <div id="maps" class="some-block">
-    <a class="title" href="https://maps.google.com">
-      <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
-        <path d="M0 0h24v24H0V0z" fill="none" />
-        <path
-          d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z" />
-      </svg>
-      <h4 data-localise="__MSG_maps__">Maps</h4>
-    </a>
-    <input id="disable-osm" type="checkbox" checked />
-  </div>
-
-  <div id="sendTargets" class="some-block">
-    <a class="title" href="http://send.invalid">
-      <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
-        <path
-          d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z" />
-      </svg>
-      <h4 data-localise="__MSG_sendFiles__">Send Files</h4>
-    </a>
-    <input id="disable-sendTargets" type="checkbox" checked />
-  </div>
-
-  <div class="buttons-popup">
-    <a class="button" id="change-instance">
-      <svg xmlns="http://www.w3.org/2000/svg" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
-        <path
-          d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z" />
-      </svg>
-      <x data-localise="__MSG_instance__">Instance</x>
-    </a>
-    <a class="button" id="more-options">
-      <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24"
-        width="26px" fill="currentColor">
-        <path
-          d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z" />
-      </svg>
-      <x data-localise="__MSG_settings__">Settings</x>
-    </a>
-    <a class="button" id="copy_raw">
-      <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
-        <path
-          d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" />
-      </svg>
-      <x data-localise="__MSG_copyRaw__">Copy Raw</x>
-    </a>
-  </div>
-
-  <script type="module" src="../options/init.js"></script>
-  <script type="module" src="./popup.js"></script>
-  <script src="../../assets/javascripts/localise.js"></script>
-</body>
-
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link href="../stylesheets/styles.css" rel="stylesheet">
+    <link href="./style.css" rel="stylesheet">
+  </head>
+  <body dir="auto">
+    <div class="some-block" id="youtube"><a class="title" href="https://youtube.com"><img src="../../assets/images/youtube-icon.png">
+        <h4>YouTube</h4></a>
+      <input id="disable-youtube" type="checkbox">
+    </div>
+    <div class="some-block" id="youtubeMusic"><a class="title" href="https://music.youtube.com"><img src="../../assets/images/youtube-music-icon.png">
+        <h4>YT Music</h4></a>
+      <input id="disable-youtubeMusic" type="checkbox">
+    </div>
+    <div class="some-block" id="twitter"><a class="title" href="https://twitter.com"><img src="../../assets/images/twitter-icon.png">
+        <h4>Twitter</h4></a>
+      <input id="disable-nitter" type="checkbox">
+    </div>
+    <div class="some-block" id="instagram"><a class="title" href="https://instagram.com"><img src="../../assets/images/instagram-icon.png">
+        <h4>Instagram</h4></a>
+      <input id="disable-bibliogram" type="checkbox">
+    </div>
+    <div class="some-block" id="tikTok"><a class="title" href="https://tiktok.com"><img src="../../assets/images/tiktok-icon.png">
+        <h4>TikTok</h4></a>
+      <input id="disable-tiktok" type="checkbox">
+    </div>
+    <div class="some-block" id="imgur"><a class="title" href="https://imgur.com"><img src="../../assets/images/imgur-icon.png">
+        <h4>Imgur</h4></a>
+      <input id="disable-imgur" type="checkbox">
+    </div>
+    <div class="some-block" id="reddit"><a class="title" href="https://reddit.com"><img src="../../assets/images/reddit-icon.png">
+        <h4>Reddit</h4></a>
+      <input id="disable-reddit" type="checkbox">
+    </div>
+    <div class="some-block" id="wikipedia"><a class="title" href="https://wikipedia.com"><img src="../../assets/images/wikipedia-icon.png">
+        <h4>Wikipedia</h4></a>
+      <input id="disable-wikipedia" type="checkbox">
+    </div>
+    <div class="some-block" id="medium"><a class="title" href="https://medium.com">
+        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
+          <circle cx="500" cy="500" r="500"></circle>
+          <ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
+          <ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
+        </svg>
+        <h4>Medium</h4></a>
+      <input id="disable-medium" type="checkbox">
+    </div>
+    <div class="some-block" id="peertube"><a class="title" href="https://peertube.com"><img src="../../assets/images/peertube-icon.png">
+        <h4>Peertube</h4></a>
+      <input id="disable-peertube" type="checkbox">
+    </div>
+    <div class="some-block" id="lbry"><a class="title" href="https://lbry.com"><img src="../../assets/images/lbry-icon.png">
+        <h4>LBRY</h4></a>
+      <input id="disable-lbry" type="checkbox">
+    </div>
+    <div class="some-block" id="search"><a class="title" href="https://search.com">
+        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
+          <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
+        </svg>
+        <h4>Search</h4></a>
+      <input id="disable-search" type="checkbox">
+    </div>
+    <div class="some-block" id="translate"><a class="title" href="https://translate.com">
+        <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
+          <path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
+        </svg>
+        <h4>Translate</h4></a>
+      <input id="disable-simplyTranslate" type="checkbox">
+    </div>
+    <div class="some-block" id="maps"><a class="title" href="https://maps.com">
+        <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
+          <path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
+        </svg>
+        <h4>Maps</h4></a>
+      <input id="disable-osm" type="checkbox">
+    </div>
+    <div class="some-block" id="sendTargets"><a class="title" href="https://send.invalid">
+        <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
+          <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
+        </svg>
+        <h4>Send Files</h4></a>
+      <input id="disable-sendTargets" type="checkbox">
+    </div>
+    <div class="some-block"><a class="title button" id="change-instance">
+        <svg xmlns="http://www.w3.org/2000/svg" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
+          <path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"></path>
+        </svg>
+        <h4>Change Instance</h4></a></div>
+    <div class="some-block"><a class="title button" id="more-options">
+        <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
+          <path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
+        </svg>
+        <h4>Settings</h4></a></div>
+    <div class="some-block" title="Copy the original redirected link">        <a class="title button" id="copy_raw">
+        <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
+          <path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"></path>
+        </svg>
+        <h4>Copy Raw</h4></a></div>
+    <div class="some-block" title="Unify cookies across all selected instances"><a class="title button" id="unify">
+        <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
+          <rect fill="none" height="24" width="24"></rect>
+          <path d="M18,2H9C7.9,2,7,2.9,7,4v12c0,1.1,0.9,2,2,2h9c1.1,0,2-0.9,2-2V4C20,2.9,19.1,2,18,2z M18,16H9V4h9V16z M3,15v-2h2v2H3z M3,9.5h2v2H3V9.5z M10,20h2v2h-2V20z M3,18.5v-2h2v2H3z M5,22c-1.1,0-2-0.9-2-2h2V22z M8.5,22h-2v-2h2V22z M13.5,22L13.5,22l0-2h2 v0C15.5,21.1,14.6,22,13.5,22z M5,6L5,6l0,2H3v0C3,6.9,3.9,6,5,6z"></path>
+        </svg>
+        <h4>Unify Settings</h4></a></div>
+    <script type="module" src="../options/init.js"></script>
+    <script type="module" src="./popup.js"></script>
+    <script src="../../assets/javascripts/localise.js"></script>
+  </body>
 </html>
\ No newline at end of file
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index e3f52baf..61e0ee1b 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -36,6 +36,8 @@ let disableImgurElement = document.getElementById("disable-imgur");
 let disableTiktokElement = document.getElementById("disable-tiktok");
 
 let copyRawElement = document.getElementById('copy_raw');
+let unifyElement = document.getElementById('unify');
+
 browser.storage.local.get(
   [
     "disableTwitter",
@@ -93,38 +95,60 @@ document.addEventListener("change", () => {
   });
 })
 
-
 let changeInstanceElement = document.getElementById("change-instance")
 changeInstanceElement.addEventListener("click", switchInstance);
 copyRawElement.addEventListener("click", copyRaw);
+document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage());
+unifyElement.addEventListener("click", unify)
 
+function unify() {
+  browser.tabs.query(
+    { active: true, currentWindow: true },
+    async tabs => {
+      let currTab = tabs[0]
+      if (currTab) {
+        let url = new URL(currTab.url);
 
-document.getElementById("more-options").addEventListener("click",
-  () => browser.runtime.openOptionsPage()
-);
+        let result = await youtubeHelper.initInvidiousCookies(url);
+        if (!result) result = await youtubeHelper.copyPipedLocalStorage(url, currTab.id);
+        if (!result) result = await twitterHelper.initNitterCookies(url);
+        if (!result) result = await redditHelper.initLibredditCookies(url);
+        if (!result) result = await redditHelper.initTedditCookies(url);
+        if (!result) result = await redditHelper.initSearxCookies(url);
+        if (!result) result = await redditHelper.initSearxngCookies(url);
+        if (!result) result = await tiktokHelper.initProxiTokCookies(url);
+        if (!result) result = await tiktokHelper.initWikilessCookies(url);
+
+        if (result) {
+          const textElement = unifyElement.getElementsByTagName('h4')[0]
+          const oldHtml = textElement.innerHTML;
+          textElement.innerHTML = 'Unified';
+          setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+        }
+      }
+    }
+  )
+}
 
 function switchInstance() {
   browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
     let currTab = tabs[0];
     if (currTab) {
-      let url = currTab.url;
-      let tabUrl
-      try { tabUrl = new URL(url); }
-      catch (_) { return false; }
+      let url = new URL(currTab.url);
       let newUrl;
 
-      // newUrl = youtubeHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = twitterHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = instagramHelper.switchInstance(tabUrl);
-      if (!newUrl) newUrl = await redditHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = searchHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = translateHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = mediumHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = sendTargetsHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = peertubeHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = lbryHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = imgurHelper.switchInstance(tabUrl);
-      // if (!newUrl) newUrl = wikipediaHelper.switchInstance(tabUrl);
+      // newUrl = youtubeHelper.switchInstance(url);
+      // if (!newUrl) newUrl = twitterHelper.switchInstance(url);
+      // if (!newUrl) newUrl = instagramHelper.switchInstance(url);
+      if (!newUrl) newUrl = await redditHelper.switchInstance(url);
+      // if (!newUrl) newUrl = searchHelper.switchInstance(url);
+      // if (!newUrl) newUrl = translateHelper.switchInstance(url);
+      // if (!newUrl) newUrl = mediumHelper.switchInstance(url);
+      // if (!newUrl) newUrl = sendTargetsHelper.switchInstance(url);
+      // if (!newUrl) newUrl = peertubeHelper.switchInstance(url);
+      // if (!newUrl) newUrl = lbryHelper.switchInstance(url);
+      // if (!newUrl) newUrl = imgurHelper.switchInstance(url);
+      // if (!newUrl) newUrl = wikipediaHelper.switchInstance(url);
 
       if (newUrl) {
         browser.tabs.update({ url: newUrl });
@@ -136,31 +160,29 @@ function switchInstance() {
 }
 
 function copyRaw() {
-  browser.tabs.query({ active: true, currentWindow: true }, function (tabs) {
-    let currTab = tabs[0];
-    if (currTab) {
-      let url = currTab.url;
-      let tabUrl
-      try { tabUrl = new URL(url); }
-      catch (_) { return false; }
-      let newUrl;
-      newUrl = youtubeHelper.reverse(tabUrl);
-      if (!newUrl) newUrl = twitterHelper.reverse(tabUrl);
-      if (!newUrl) newUrl = instagramHelper.reverse(tabUrl);
-      if (!newUrl) newUrl = tiktokHelper.reverse(tabUrl);
-      if (!newUrl) newUrl = imgurHelper.reverse(tabUrl);
-      if (newUrl) {
-        navigator.clipboard.writeText(newUrl);
-        const oldHtml = copyRawElement.innerHTML;
-        copyRawElement.innerHTML = `
-        <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
-          <path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/>
-        </svg>
-        Copied`;
-        setTimeout(() => copyRawElement.innerHTML = oldHtml, 1000);
+  browser.tabs.query(
+    { active: true, currentWindow: true }, tabs => {
+      let currTab = tabs[0];
+      if (currTab) {
+        let url = new URL(currTab.url);
+        let newUrl;
+        newUrl = youtubeHelper.reverse(url);
+
+        if (!newUrl) newUrl = twitterHelper.reverse(url);
+        if (!newUrl) newUrl = instagramHelper.reverse(url);
+        if (!newUrl) newUrl = tiktokHelper.reverse(url);
+        if (!newUrl) newUrl = imgurHelper.reverse(url);
+
+        if (newUrl) {
+          navigator.clipboard.writeText(newUrl);
+          const textElement = copyRawElement.getElementsByTagName('h4')[0]
+          const oldHtml = textElement.innerHTML;
+          textElement.innerHTML = 'Copied';
+          setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+        }
       }
     }
-  })
+  )
 }
 
 let popupFrontends;
diff --git a/src/pages/popup/popup.pug b/src/pages/popup/popup.pug
new file mode 100644
index 00000000..f2cc4635
--- /dev/null
+++ b/src/pages/popup/popup.pug
@@ -0,0 +1,123 @@
+include ../widgets/icons.pug
+
+doctype html
+html(lang="en")
+    head
+        meta(charset="utf-8")
+        meta(name="viewport" content="width=device-width, initial-scale=1")
+        link(href="../stylesheets/styles.css" rel="stylesheet")
+        link(href="./style.css" rel="stylesheet")
+    body(dir="auto")
+        #youtube.some-block
+            a.title(href="https://youtube.com")
+                img(src="../../assets/images/youtube-icon.png")
+                h4 YouTube
+            input#disable-youtube(type="checkbox")
+
+        #youtubeMusic.some-block
+            a.title(href="https://music.youtube.com")
+                img(src="../../assets/images/youtube-music-icon.png")
+                h4 YT Music
+            input#disable-youtubeMusic(type="checkbox")
+
+        #twitter.some-block
+            a.title(href="https://twitter.com")
+                img(src="../../assets/images/twitter-icon.png")
+                h4 Twitter
+            input#disable-nitter(type="checkbox")
+
+        #instagram.some-block
+            a.title(href="https://instagram.com")
+                img(src="../../assets/images/instagram-icon.png")
+                h4 Instagram
+            input#disable-bibliogram(type="checkbox")
+
+        #tikTok.some-block
+            a.title(href="https://tiktok.com")
+                img(src="../../assets/images/tiktok-icon.png")
+                h4 TikTok
+            input#disable-tiktok(type="checkbox")
+
+        #imgur.some-block
+            a.title(href="https://imgur.com")
+                img(src="../../assets/images/imgur-icon.png")
+                h4 Imgur
+            input#disable-imgur(type="checkbox")
+
+        #reddit.some-block
+            a.title(href="https://reddit.com")
+                img(src="../../assets/images/reddit-icon.png")
+                h4 Reddit
+            input#disable-reddit(type="checkbox")
+
+        #wikipedia.some-block
+            a.title(href="https://wikipedia.com")
+                img(src="../../assets/images/wikipedia-icon.png")
+                h4 Wikipedia
+            input#disable-wikipedia(type="checkbox")
+
+        #medium.some-block
+            a.title(href="https://medium.com")
+                +medium
+                h4 Medium
+            input#disable-medium(type="checkbox")
+
+        #peertube.some-block
+            a.title(href="https://peertube.com")
+                img(src="../../assets/images/peertube-icon.png")
+                h4 Peertube
+            input#disable-peertube(type="checkbox")
+
+        #lbry.some-block
+            a.title(href="https://lbry.com")
+                img(src="../../assets/images/lbry-icon.png")
+                h4 LBRY
+            input#disable-lbry(type="checkbox")
+
+        #search.some-block
+            a.title(href="https://search.com")
+                +search
+                h4 Search
+            input#disable-search(type="checkbox")
+
+        #translate.some-block
+            a.title(href="https://translate.com")
+                +translate
+                h4 Translate
+            input#disable-simplyTranslate(type="checkbox")
+
+        #maps.some-block
+            a.title(href="https://maps.com")
+                +maps
+                h4 Maps
+            input#disable-osm(type="checkbox")
+
+        #sendTargets.some-block
+            a.title(href="https://send.invalid")
+                +send
+                h4 Send Files
+            input#disable-sendTargets(type="checkbox")
+
+        .some-block
+            a#change-instance.title.button
+                +change_instance
+                h4 Change Instance
+
+        .some-block
+            a#more-options.title.button
+                +settings
+                h4 Settings
+
+        .some-block(title="Copy the original redirected link")         
+            a#copy_raw.title.button
+                +copy_raw
+                h4 Copy Raw
+
+        .some-block(title="Unify cookies across all selected instances")
+            a#unify.title.button
+                +unify
+                h4 Unify Settings
+
+        script(type="module" src="../options/init.js")
+        script(type="module" src="./popup.js")
+        script(src="../../assets/javascripts/localise.js")
\ No newline at end of file