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
![Screenshot of Clean Telegram WebA](https://userstyles.world/preview/8012/5.jpeg)
Details
Author0ko
LicenseMIT
Categoryweb.telegram.org
Created
Updated
Size2.8 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.8.1
@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 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 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