diff options
author | Đỗ Văn Hoài Tuân <htuan03@gmail.com> | 2023-05-04 17:54:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-05 02:54:33 +0200 |
commit | c25bc0ff4b597131ed223fd5c1a8cf75ac5282e3 (patch) | |
tree | 75945b9709c2449a6b128c0269706d47a93359e4 | |
parent | 22334663cf886daf777566df0a627897161c98cf (diff) | |
download | Vencord-c25bc0ff4b597131ed223fd5c1a8cf75ac5282e3.tar.gz Vencord-c25bc0ff4b597131ed223fd5c1a8cf75ac5282e3.tar.bz2 Vencord-c25bc0ff4b597131ed223fd5c1a8cf75ac5282e3.zip |
USRBG: Add VoiceBackground (#1038)
Co-authored-by: V <vendicated@riseup.net>
-rw-r--r-- | src/plugins/usrbg/index.css | 6 | ||||
-rw-r--r-- | src/plugins/usrbg/index.tsx | 29 |
2 files changed, 33 insertions, 2 deletions
diff --git a/src/plugins/usrbg/index.css b/src/plugins/usrbg/index.css index 819d975..93e37ef 100644 --- a/src/plugins/usrbg/index.css +++ b/src/plugins/usrbg/index.css @@ -1,10 +1,12 @@ :is([class*="userProfile"], [class*="userPopout"]) [class*="bannerPremium"] { background: center / cover no-repeat; - position: relative; - z-index: -1; } [class*="NonPremium"]:has([class*="bannerPremium"]) [class*="avatarPositionNormal"], [class*="PremiumWithoutBanner"]:has([class*="bannerPremium"]) [class*="avatarPositionPremiumNoBanner"] { top: 76px; } + +[style*="background-image"] [class*="background-"] { + background-color: transparent !important; +} diff --git a/src/plugins/usrbg/index.tsx b/src/plugins/usrbg/index.tsx index 09ecd57..9c72676 100644 --- a/src/plugins/usrbg/index.tsx +++ b/src/plugins/usrbg/index.tsx @@ -36,6 +36,12 @@ const settings = definePluginSettings({ { label: "Nitro banner", value: true, default: true }, { label: "USRBG banner", value: false }, ] + }, + voiceBackground: { + description: "Use USRBG banners as voice chat backgrounds", + type: OptionType.BOOLEAN, + default: true, + restartNeeded: true } }); @@ -57,6 +63,16 @@ export default definePlugin({ replace: "$self.useBannerHook($1)," } ] + }, + { + find: "\"data-selenium-video-tile\":", + predicate: () => settings.store.voiceBackground, + replacement: [ + { + match: /(\i)\.style,/, + replace: "$self.voiceBackgroundHook($1)," + } + ] } ], @@ -66,6 +82,19 @@ export default definePlugin({ ); }, + voiceBackgroundHook({ className, participantUserId }: any) { + if (className.includes("tile-")) { + if (data[participantUserId]) { + return { + backgroundImage: `url(${data[participantUserId]})`, + backgroundSize: "cover", + backgroundPosition: "center", + backgroundRepeat: "no-repeat" + }; + } + } + }, + useBannerHook({ displayProfile, user }: any) { if (displayProfile?.banner && settings.store.nitroFirst) return; if (data[user.id]) return data[user.id]; |