A style to smite things on TTV (that I don't completely like).
AntiTTV by ambonmibable
Details
Authorambonmibable
LicenseNo License
Categorytwitch.tv
Created
Updated
Size9.0 kB
Statistics
Learn how we calculate statistics in the FAQ.
Failed to fetch stats.
Description
Notes
Like the other styles, this one might break at any time, or might not be completely up-to-date or change every feature of the website.
Make sure to check the style's options to change things to look how you would like them to.
Source code
/* ==UserStyle==
@name AntiTTV
@namespace wintermourn.antittv
@version 0.1.1
@description A style to smite everything on TTV.
@author Wintermourn (Ambonmibable)
@preprocessor stylus
Total Options: 0 (0 total, excl. headers & unfinished)
@var select h_global "Global Options" {" ":0} // 0 options
@var checkbox global_toasts "╷ Notification Toasts" 1
@var select h_home "Homepage Options" {" ":0} // 0 options
@var checkbox home_directory "╷ Directory Recommendations" 1
@var checkbox home_directory_live "├── Currently Live" 0
@var checkbox home_directory_collection "├── Collections" 1
@var checkbox home_directory_category "├── Categories" 1
@var checkbox home_directory_category_live "├── Live in Category" 0
@var checkbox home_directory_offline "├── While x is offline" 0
@var checkbox home_directory_no_link "├── No link (smaller community, new games, ...)" 0
@var checkbox home_directory_crush "└── Shrink Recommendations" 1
@var checkbox home_live_live "─ Stream Status Badge (LIVE, ...)" 1
@var checkbox home_live_viewers "─ Stream Stat Badges" 0
@var checkbox home_live_category "─ Stream Category" 0
@var checkbox home_live_tags "─ Stream Tags" 0
@var select h_header "Header Options" {" ":0} // 0 options
@var checkbox header_searchwidth "╷ Full Width Search" 1
@var select h_foryou "For You Options" {" ":0} // 0 options
@var checkbox foryou_full "─ Sidebar" 1
@var checkbox foryou_crush "╷ Shrink Channels" 0
@var checkbox foryou_crush_comfortable "└── Exclude Collaborations" 1
@var checkbox foryou_hype_notifications "┌─ Hype Train Display" 0
@var checkbox foryou_live "├┬── Live Indicator" 1
@var checkbox foryou_live_dot "├├── Red Dot" 0
@var checkbox foryou_live_viewers "└└── Viewer Count" 0
@var checkbox foryou_stories "┌─ Stories" 0
@var checkbox foryou_following "├─ Following" 1
@var checkbox foryou_other_sections "└─ Other Sections" 0
@var select h_watch "Watch Page Options" {" ":0} // 0 options
@var checkbox watch_video "─ The actual stream" 1
@var checkbox watch_recap "─ Monthly Recap" 0
@var checkbox watch_sub "┌ Subscribe" 0
@var checkbox watch_manage_sub "├─ Manage Subscription" 1
@var checkbox watch_gift "├ Gift Subscription" 0
@var checkbox watch_share "─ Share Button" 0
@var checkbox watch_report "─ Report Button" 0
@var checkbox watch_about "─ About Streamer" 1
==/UserStyle== */
@-moz-document url("https://www.twitch.tv/") {
if not home_directory {
div.find-me:has(div>h2>a[href^="/directory/"]) { display: none; }
}
else {
if not home_directory_live {
div.find-me:has(div>h2>a[href="/directory/all"]) { display: none; }
}
if not home_directory_collection {
div.find-me:has(div>h2>a[href^="/directory/collection"]) { display: none; }
}
if not home_directory_category_live {
div.find-me:has(div>h2>a[href^="/directory/category"]) { display: none; }
}
if not home_directory_category {
div.find-me:has(div>h2>a[href="/directory"]) { display: none; }
}
if not home_directory_offline {
div.find-me:has(div>h2>a:not([href^="/directory"])) { display: none; }
}
if not home_directory_no_link {
div.find-me:not(:has(div>h2>a)) { display: none; }
}
if home_directory_crush {
article > div {
height: 50% !important;
img {
height: 50%;
object-fit: cover;
object-position: center 35%;
}
a[data-a-target="preview-card-image-link"] > div > div > div.fCNuzu {
padding-bottom: 28.125% !important;
}
}
}
div.shelf-card__impression-wrapper {
if not home_live_live { .tw-channel-status-text-indicator { display: none; } }
if not home_live_viewers { .tw-media-card-stat { display: none; } }
if not home_live_category { p:has(a[href^="/directory/category"]) { display: none; } }
if not home_live_tags { div.Layout-sc-1xcs6mc-0.fAVISI { display: none; } }
}
}
}
@-moz-document url-prefix("https://www.twitch.tv/") {
/* Header */
nav.top-nav {
if header_searchwidth {
.search-box { max-width: 100%; width: 100%; min-width: 100%; }
.top-nav__search-container { flex-basis: 100%; }
div.search-tray { max-width: 100%; }
}
}
/* Sidenav */
div.side-nav {
if not foryou_full {
display: none;
}
else
{
if foryou_crush {
if foryou_crush_comfortable {
div.side-nav-card:not(:has(.guest-star-avatar__mini-inner-border)) {
div.side-nav-card__avatar > div {
width: 1.5rem; height: 1.5rem;
}
div.side-nav-card__metadata { display: none; }
}
}
else {
div.side-nav-card {
div.side-nav-card__avatar > div, .guest-star-avatar__mini-avatar > div > .tw-avatar {
width: 2rem; height: 2rem;
}
.tw-avatar { width: 4rem; height: 2rem; img { width: 2rem !important; } }
.guest-star-avatar__mini-avatar {
left: 1.5rem;
}
div.side-nav-card__metadata { display: none; }
}
}
}
if not foryou_hype_notifications {
.side-nav-card-hype-train-bottom { display: none !important; }
}
.side-nav-card__live-status
{
min-width: 0;
if not foryou_live { display: none; }
else
{
if not foryou_live_dot { .tw-channel-status-indicator { display: none; } }
if not foryou_live_viewers { div > div.jOVwMQ { display: none; } }
}
}
if not foryou_following { div.side-nav-section:has(.followed-side-nav-header) { display: none !important; } }
if not foryou_other_sections { div.side-nav-section:not(:has(.followed-side-nav-header)) { display: none !important; } }
if not foryou_stories { .storiesLeftNavSection--csO9S { display: none !important; } }
}
}
/* Watch Page */
div.channel-root {
div.channel-root__info {
if not watch_video { margin-top: 0 !important; }
section#live-channel-stream-information {
div[data-target="channel-header-right"] {
if (not watch_gift) and (not watch_sub) and (not watch_manage_sub) {
div.kITeBB { display: none !important; }
}
else
{
div.kITeBB > div {
if not watch_gift {
div:has(button[data-a-target="gift-button"]) { display: none !important; }
}
div:has(button[data-a-target="subscribe-button"]) { if not watch_sub { display: none !important; } else if not watch_gift { margin-right: 0 !important; } }
div:has(button[data-a-target="manage-sub-button"]) { if not watch_manage_sub { display: none !important; } else if not watch_gift { margin-right: 0 !important; } }
}
}
}
}
if not watch_recap { article:has(a[href^="/recaps"]) { display: none; } }
if not watch_share { button[data-a-target="share-button"] { display: none; } }
if not watch_report { button[data-a-target="report-button-more-button"], button[title="More options"] { display: none; } }
if not watch_about { section#live-channel-about-panel { display: none; }}
}
}
if not watch_video { div.channel-root__player, div.persistent-player { display: none !important; } }
if not global_toasts { .onsite-notification-toast { display: none !important; } }
}