about summary refs log tree commit diff stats
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/options/twitter/twitter.html9
-rw-r--r--src/pages/options/twitter/twitter.js112
2 files changed, 90 insertions, 31 deletions
diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html
index d017ba78..efb0f44d 100644
--- a/src/pages/options/twitter/twitter.html
+++ b/src/pages/options/twitter/twitter.html
@@ -165,10 +165,9 @@
 
         <div class="some-block option-block">
           <h4 data-localise="__MSG_theme__">Theme</h4>
-          <select name="theme">
+          <select class="theme">
             <option value="Auto">Auto</option>
             <option value="Auto (Twitter)">Auto (Twitter)</option>
-            <option value="Auto (Twitter)">Auto (Twitter)</option>
             <option value="Black">Black</option>
             <option value="Mastodon">Mastodon</option>
             <option value="Nitter">Nitter</option>
@@ -239,6 +238,12 @@
           <input class="proxyVideos" type="checkbox" />
         </div>
 
+
+        <div class="some-block option-block">
+          <h4 data-localise="__MSG_muteVideos__">Mute videos by default</h4>
+          <input class="muteVideos" type="checkbox" />
+        </div>
+
         <div class="some-block option-block">
           <h4 data-localise="__MSG_autoplayGifs__">Autoplay gifs</h4>
           <input class="autoplayGifs" type="checkbox" />
diff --git a/src/pages/options/twitter/twitter.js b/src/pages/options/twitter/twitter.js
index c6d7ea16..5e7e9a05 100644
--- a/src/pages/options/twitter/twitter.js
+++ b/src/pages/options/twitter/twitter.js
@@ -7,13 +7,49 @@ let protocolElement = document.getElementById("protocol");
 let enableYoutubeCustomSettingsElement = document.getElementById("enable-twitter-custom-settings");
 let bypassWatchOnTwitterElement = document.getElementById("bypass-watch-on-twitter");
 
+let theme = document.getElementById('nitter').getElementsByClassName("theme")[0];
+let infiniteScroll = document.getElementById('nitter').getElementsByClassName("infiniteScroll")[0];
+let stickyProfile = document.getElementById('nitter').getElementsByClassName('stickyProfile')[0];
+let bidiSupport = document.getElementById('nitter').getElementsByClassName('bidiSupport')[0];
+let hideTweetStats = document.getElementById('nitter').getElementsByClassName('hideTweetStats')[0];
+let hideBanner = document.getElementById('nitter').getElementsByClassName('hideBanner')[0];
+let hidePins = document.getElementById('nitter').getElementsByClassName('hidePins')[0];
+let hideReplies = document.getElementById('nitter').getElementsByClassName('hideReplies')[0];
+let squareAvatars = document.getElementById('nitter').getElementsByClassName('squareAvatars')[0];
+let mp4Playback = document.getElementById('nitter').getElementsByClassName('mp4Playback')[0];
+let hlsPlayback = document.getElementById('nitter').getElementsByClassName('hlsPlayback')[0];
+let proxyVideos = document.getElementById('nitter').getElementsByClassName('proxyVideos')[0];
+let muteVideos = document.getElementById('nitter').getElementsByClassName('muteVideos')[0];
+let autoplayGifs = document.getElementById('nitter').getElementsByClassName('autoplayGifs')[0];
+
 let nitterElement = document.getElementById("nitter");
-document.addEventListener("change", _ => {
+document.addEventListener("change", async _ => {
     twitterHelper.setDisable(!disableTwitterElement.checked)
     twitterHelper.setProtocol(protocolElement.value);
     twitterHelper.setEnableCustomSettings(enableYoutubeCustomSettingsElement.checked);
     twitterHelper.setBypassWatchOnTwitter(bypassWatchOnTwitterElement.checked);
     changeProtocolSettings(protocolElement.value);
+
+    await twitterHelper.setSettings({
+        // Display
+        nitterTheme: theme.value,
+        nitterInfiniteScroll: infiniteScroll.checked,
+        nitterStickyProfile: stickyProfile.checked,
+        nitterBidiSupport: bidiSupport.checked,
+        nitterHideTweetStats: hideTweetStats.checked,
+        nitterHideBanner: hideBanner.checked,
+        nitterHidePins: hidePins.checked,
+        nitterHideReplies: hideReplies.checked,
+        nitterSquareAvatars: squareAvatars.checked,
+
+        // Media
+        nitterMp4Playback: mp4Playback.checked,
+        nitterHlsPlayback: hlsPlayback.checked,
+        nitterProxyVideos: proxyVideos.checked,
+        nitterMuteVideos: muteVideos.checked,
+        nitterAutoplayGifs: autoplayGifs.checked,
+    });
+    init();
 })
 
 function changeProtocolSettings(protocol) {
@@ -33,33 +69,51 @@ function changeProtocolSettings(protocol) {
         for (const item of customSettingsDivElement) item.style.display = 'none';
 }
 
-twitterHelper.init().then(() => {
-    disableTwitterElement.checked = !twitterHelper.getDisable();
-    enableYoutubeCustomSettingsElement.checked = twitterHelper.getEnableCustomSettings();
-    bypassWatchOnTwitterElement.checked = twitterHelper.getBypassWatchOnTwitter();
+function init() {
+    twitterHelper.init().then(() => {
+        disableTwitterElement.checked = !twitterHelper.getDisable();
+        enableYoutubeCustomSettingsElement.checked = twitterHelper.getEnableCustomSettings();
+        bypassWatchOnTwitterElement.checked = twitterHelper.getBypassWatchOnTwitter();
 
-    let protocol = twitterHelper.getProtocol();
-    protocolElement.value = protocol;
-    changeProtocolSettings(protocol);
+        let protocol = twitterHelper.getProtocol();
+        protocolElement.value = protocol;
+        changeProtocolSettings(protocol);
+        console.log('init');
+        theme.value = twitterHelper.getTheme();
+        infiniteScroll.checked = twitterHelper.getInfiniteScroll();
+        stickyProfile.checked = twitterHelper.getStickyProfile();
+        bidiSupport.checked = twitterHelper.getBidiSupport();
+        hideTweetStats.checked = twitterHelper.getHideTweetStats();
+        hideBanner.checked = twitterHelper.getHideBanner();
+        hidePins.checked = twitterHelper.getHidePins();
+        hideReplies.checked = twitterHelper.getHideReplies();
+        squareAvatars.checked = twitterHelper.getSquareAvatars();
+        mp4Playback.checked = twitterHelper.getMp4Playback();
+        hlsPlayback.checked = twitterHelper.getHlsPlayback();
+        proxyVideos.checked = twitterHelper.getProxyVideos();
+        muteVideos.checked = twitterHelper.getMuteVideos();
+        autoplayGifs.checked = twitterHelper.getAutoplayGifs();
 
-    commonHelper.processDefaultCustomInstances(
-        'nitter',
-        'normal',
-        twitterHelper,
-        document,
-        twitterHelper.getNitterNormalRedirectsChecks,
-        twitterHelper.setNitterNormalRedirectsChecks,
-        twitterHelper.getNitterNormalCustomRedirects,
-        twitterHelper.setNitterNormalCustomRedirects
-    )
-    commonHelper.processDefaultCustomInstances(
-        'nitter',
-        'tor',
-        twitterHelper,
-        document,
-        twitterHelper.getNitterTorRedirectsChecks,
-        twitterHelper.setNitterTorRedirectsChecks,
-        twitterHelper.getNitterTorCustomRedirects,
-        twitterHelper.setNitterTorCustomRedirects
-    )
-});
\ No newline at end of file
+        commonHelper.processDefaultCustomInstances(
+            'nitter',
+            'normal',
+            twitterHelper,
+            document,
+            twitterHelper.getNitterNormalRedirectsChecks,
+            twitterHelper.setNitterNormalRedirectsChecks,
+            twitterHelper.getNitterNormalCustomRedirects,
+            twitterHelper.setNitterNormalCustomRedirects
+        )
+        commonHelper.processDefaultCustomInstances(
+            'nitter',
+            'tor',
+            twitterHelper,
+            document,
+            twitterHelper.getNitterTorRedirectsChecks,
+            twitterHelper.setNitterTorRedirectsChecks,
+            twitterHelper.getNitterTorCustomRedirects,
+            twitterHelper.setNitterTorCustomRedirects
+        )
+    });
+}
+init();