Makes Telegram WebA/WebZ cleaner.
Clean Telegram WebA by 0ko
Imported from a private source
Mirrored from https://codeberg.org/0ko/UserStyles/raw/main/Telegram-WebA/Clean/CleanTWA.user.css
Details
Author0ko
LicenseMIT
Categoryweb.telegram.org
Created
Updated
Size3.0 kB
Statistics
Learn how we calculate statistics in the FAQ.
Failed to fetch stats.
Description
Notes
Removes or hides unnecessary things such as:
- ads
- Stories
- Premium badges
- Premium promotions and UI elements that can only be used with Premium
So there is little reason to install it if you have a Premium subscription.
Source code
/* ==UserStyle==
@name Clean Telegram WebA
@author 0ko (https://userstyles.world/~0ko)
@description Makes Telegram WebA/WebZ cleaner.
@version 1.9.0
@license MIT
@preprocessor stylus
@namespace 0ko userstyles
@homepageURL https://codeberg.org/0ko/UserStyles#clean-telegram-weba-webz
@supportURL https://codeberg.org/0ko/UserStyles/issues
@var checkbox noAds "No built-in ads" 1
@var checkbox noPremiumPromo "No Premium promo" 1
@var checkbox noPremiumBadges "No Premium badges" 1
@var checkbox noPremiumDecorations "No Premium message decorations" 1
@var checkbox noPremiumTags "No Premium Saved Messages tags" 1
@var checkbox noBoosting "No channel boosting" 1
@var checkbox noSendAs "No send as channel" 1
@var checkbox noStories "No Stories (others')" 1
@var checkbox noMyStories "No My Stories" 1
@var checkbox noOverscrollStories "No Stories in Archive overscroll (buggy)" 0
==/UserStyle== */
imp = !important
@-moz-document url-prefix("https://web.telegram.org/a"), url-prefix("https://web.telegram.org/z"), domain("tga.dev"), domain("webz.dev")
if noAds
.SponsoredMessage
display: none imp
if noPremiumPromo
.settings-main-menu-premium
button[title="Custom Emoji"]
display: none imp
.settings-main-menu:has(.settings-main-menu-premium) /* FF compat. */
display: none imp
if noPremiumBadges
.PremiumIcon :not(.big)
.chat-avatar-premium
.message-title .custom-emoji
.ChatFolders .ListItem-button .info-row .title .custom-emoji /* chats list & header */
.ProfileInfo .title .custom-emoji /* user info */
.ChatInfo .info .title .custom-emoji /* chat members list */
.reactor-list .title .custom-emoji /* reacted users */
display: none imp
if noPremiumDecorations
.EmbeddedMessage--background-icons
display: none imp
.EmbeddedMessage::before
background: var(--accent-color) imp
if noPremiumTags
/* don't show reaction selector if it contains hint about tags being premium only feature and shows lock icon on reactions */
.ReactionSelector:has(.icon-lock-badge):has(.ReactionSelector__hint)
display: none imp
if noBoosting
.HeaderMenuContainer .Menu
.MenuItem:has(.icon-boost-outline)
display: none imp
if noSendAs
.send-as-button
display: none imp
.Button + .symbol-menu-button
margin-left: 0.75rem imp
if noStories
.StoryToggler-module__root
.LeftMainHeader .SearchInput button[type="button"][aria-label]:first-child
display: none imp
.ArchivedChats
.story-toggler-wrapper
/*div[id^="user-story"]*/
display: none imp
if noMyStories
/* burger - "My Stories" */
.LeftMainHeader .Menu .MenuItem:has(.icon-play-story)
display: none imp
if noOverscrollStories
.ArchivedChats .chat-list-wrapper.with-story-ribbon .left-header-shadow.no-scrollbar
display: none imp