blob: a5e3634c5479483b7f61a88abb959e2c18dbb7e6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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()
})
}
|