aboutsummaryrefslogtreecommitdiff
path: root/youtube/remove-home-shorts.js
diff options
context:
space:
mode:
authorTimmy Keller <tjk@tjkeller.xyz>2024-08-10 19:34:54 -0500
committerTimmy Keller <tjk@tjkeller.xyz>2024-08-10 19:34:54 -0500
commit5cd7617d4467693feced81b440eee8782aebdb02 (patch)
tree68a854bc69f9ee16eedd82d83fb0d091795f6bc4 /youtube/remove-home-shorts.js
downloaduserscripts-5cd7617d4467693feced81b440eee8782aebdb02.tar.xz
userscripts-5cd7617d4467693feced81b440eee8782aebdb02.zip
initial commit
Diffstat (limited to 'youtube/remove-home-shorts.js')
-rw-r--r--youtube/remove-home-shorts.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/youtube/remove-home-shorts.js b/youtube/remove-home-shorts.js
new file mode 100644
index 0000000..a5e3634
--- /dev/null
+++ b/youtube/remove-home-shorts.js
@@ -0,0 +1,62 @@
+// ==UserScript==
+// @name Remove youtube home and shorts
+// @namespace Violentmonkey Scripts
+// @include *youtube.com*
+// @grant GM_addStyle
+// @version 1.0
+// @author tjk918
+// @description 9/21/2023, 9:44:13 AM
+// @license MIT
+// ==/UserScript==
+
+
+// Remove home and shorts button
+GM_addStyle(`
+ tp-yt-app-drawer a[title=Home],
+ tp-yt-app-drawer a[title=Shorts],
+ ytd-mini-guide-renderer a[title=Home],
+ ytd-mini-guide-renderer a[title=Shorts]
+ {
+ display: none !important; /* Needs !important flag */
+ }
+`)
+
+
+// Subscriptions page is new homepage
+const subscriptionsPath = "/feed/subscriptions"
+
+function redirectToSubscriptions() {
+ // Invoke clicking the subscriptions button to use youtube's hot page reloading if possible instead of reloading the whole page
+ const subscriptionsButton = document.querySelector("tp-yt-app-drawer a[title=Subscriptions]")
+ if (subscriptionsButton)
+ subscriptionsButton.click()
+ else
+ window.location.replace(subscriptionsPath)
+}
+
+
+// Redirect to new homepage
+function redirectIfHome() {
+ if (window.location.pathname === "/")
+ redirectToSubscriptions()
+}
+
+redirectIfHome()
+window.addEventListener("popstate", redirectIfHome)
+//document.body.addEventListener("yt-navigate-finish", redirectIfHome)
+
+
+// Youtube logo navigate to subscriptions
+/* Needs to be done safely in case youtube changes and also because it throws
+ * an error otherwise because violentmonkey seems to load the script twice */
+
+const logo = document.querySelector("#logo a")
+if (logo) {
+ logo.href = subscriptionsPath
+ logo.addEventListener("click", e => {
+ // Seems there is an event listener that forces redirect to site root, so stop that first
+ e.stopPropagation()
+ e.preventDefault()
+ redirectToSubscriptions()
+ })
+}