From 5d4377c081d18d89e64184c60d3fa97504768c81 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Tue, 12 Apr 2022 02:27:39 +0300 Subject: Restructuring Settings Structure --- src/pages/options/twitter/twitter.html | 198 ++++++++++++++++++++++----------- src/pages/options/twitter/twitter.js | 38 +++---- 2 files changed, 153 insertions(+), 83 deletions(-) (limited to 'src/pages/options/twitter') diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html index 980fd557..d017ba78 100644 --- a/src/pages/options/twitter/twitter.html +++ b/src/pages/options/twitter/twitter.html @@ -149,84 +149,154 @@ -
- -
-
-

Theme

- -
+
+

Enable Custom Settings (will use cookies)

+
+
-
-

Infinite scrolling (experimental, requires JavaScript)

- -
+
-
-

Make profile sidebar stick to top

- -
+
+
+

Display

+
-
+
+

Theme

+ +
-
+
+

Infinite scrolling (experimental, requires JavaScript)

+ +
-
-

Default Instances

-
-
-
-
-

Custom Instances

-
-
- - +

Make profile sidebar stick to top

+
-
-
-
+
+

Support bidirectional text (makes clicking on tweets harder)

+ +
+ +
+

Hide tweet stats (replies, retweets, likes)

+ +
+ +
+

Hide profile banner

+ +
+ +
+

Hide pinned tweets

+ +
+ +
+

Hide tweet replies

+ +
+ +
+

Square profile pictures

+ +
+ +
+ +
+

Media

+
+ +
+

Enable mp4 video playback (only for gifs)

+ +
+ +
+

Enable hls video streaming (requires JavaScript)

+ +
+ +
+

Proxy video streaming through the server (might be slow)

+ +
+ +
+

Autoplay gifs

+ +
-
-
-

Default Tor Instances

-

-
-

Custom Instances

+ +
+ +
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + +
+
+
+
-
-
- - -
-
-
+ +
+
+

Default Tor Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + +
+
+
+
+
diff --git a/src/pages/options/twitter/twitter.js b/src/pages/options/twitter/twitter.js index 2d86d9a8..c6d7ea16 100644 --- a/src/pages/options/twitter/twitter.js +++ b/src/pages/options/twitter/twitter.js @@ -2,23 +2,23 @@ import twitterHelper from "../../../assets/javascripts/helpers/twitter.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableTwitterElement = document.getElementById("disable-nitter"); -disableTwitterElement.addEventListener("change", - (event) => twitterHelper.setDisable(!event.target.checked) -); - -let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - (event) => { - let protocol = event.target.options[protocolElement.selectedIndex].value - twitterHelper.setProtocol(protocol); - changeProtocolSettings(protocol); - } -); +let customSettingsDivElement = document.getElementsByClassName("custom-settings"); +let protocolElement = document.getElementById("protocol"); +let enableYoutubeCustomSettingsElement = document.getElementById("enable-twitter-custom-settings"); +let bypassWatchOnTwitterElement = document.getElementById("bypass-watch-on-twitter"); +let nitterElement = document.getElementById("nitter"); +document.addEventListener("change", _ => { + twitterHelper.setDisable(!disableTwitterElement.checked) + twitterHelper.setProtocol(protocolElement.value); + twitterHelper.setEnableCustomSettings(enableYoutubeCustomSettingsElement.checked); + twitterHelper.setBypassWatchOnTwitter(bypassWatchOnTwitterElement.checked); + changeProtocolSettings(protocolElement.value); +}) function changeProtocolSettings(protocol) { - let normalDiv = document.getElementById("normal"); - let torDiv = document.getElementById("tor"); + let normalDiv = nitterElement.getElementsByClassName("normal")[0]; + let torDiv = nitterElement.getElementsByClassName("tor")[0]; if (protocol == 'normal') { normalDiv.style.display = 'block'; torDiv.style.display = 'none'; @@ -27,15 +27,15 @@ function changeProtocolSettings(protocol) { normalDiv.style.display = 'none'; torDiv.style.display = 'block'; } + if (enableYoutubeCustomSettingsElement.checked) + for (const item of customSettingsDivElement) item.style.display = 'block'; + else + for (const item of customSettingsDivElement) item.style.display = 'none'; } -let bypassWatchOnTwitterElement = document.getElementById("bypass-watch-on-twitter") -bypassWatchOnTwitterElement.addEventListener("change", - event => twitterHelper.setBypassWatchOnTwitter(event.target.checked) -); - twitterHelper.init().then(() => { disableTwitterElement.checked = !twitterHelper.getDisable(); + enableYoutubeCustomSettingsElement.checked = twitterHelper.getEnableCustomSettings(); bypassWatchOnTwitterElement.checked = twitterHelper.getBypassWatchOnTwitter(); let protocol = twitterHelper.getProtocol(); -- cgit 1.4.1