FakeNitro: Add custom client theme color picker (#3534)

This commit is contained in:
sadan4 2025-09-08 20:51:03 -04:00 committed by GitHub
parent dc72ee3809
commit 51c23ff796
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -174,8 +174,8 @@ function makeBypassPatches(): Omit<Patch, "plugin"> {
export default definePlugin({ export default definePlugin({
name: "FakeNitro", name: "FakeNitro",
authors: [Devs.Arjix, Devs.D3SOX, Devs.Ven, Devs.fawn, Devs.captain, Devs.Nuckyz, Devs.AutumnVN], authors: [Devs.Arjix, Devs.D3SOX, Devs.Ven, Devs.fawn, Devs.captain, Devs.Nuckyz, Devs.AutumnVN, Devs.sadan],
description: "Allows you to stream in nitro quality, send fake emojis/stickers, and use client themes.", description: "Allows you to send fake emojis/stickers, use nitro themes, and stream in nitro quality",
dependencies: ["MessageEventsAPI"], dependencies: ["MessageEventsAPI"],
settings, settings,
@ -273,6 +273,14 @@ export default definePlugin({
replace: (_, rest, backgroundGradientPresetId, originalCall, theme) => `${rest}$self.handleGradientThemeSelect(${backgroundGradientPresetId},${theme},()=>${originalCall});` replace: (_, rest, backgroundGradientPresetId, originalCall, theme) => `${rest}$self.handleGradientThemeSelect(${backgroundGradientPresetId},${theme},()=>${originalCall});`
} }
}, },
// Allow users to use custom client themes
{
find: "customUserThemeSettings:{",
replacement: {
match: /(?<=\i=)\(0,\i\.\i\)\(\i\.\i\.TIER_2\)(?=,|;)/g,
replace: "true"
}
},
{ {
find: '["strong","em","u","text","inlineCode","s","spoiler"]', find: '["strong","em","u","text","inlineCode","s","spoiler"]',
replacement: [ replacement: [
@ -386,24 +394,15 @@ export default definePlugin({
if (premiumType !== 2) { if (premiumType !== 2) {
proto.appearance ??= AppearanceSettingsActionCreators.create(); proto.appearance ??= AppearanceSettingsActionCreators.create();
if (UserSettingsProtoStore.settings.appearance?.theme != null) { const protoStoreAppearenceSettings = UserSettingsProtoStore.settings.appearance;
const appearanceSettingsDummy = AppearanceSettingsActionCreators.create({
theme: UserSettingsProtoStore.settings.appearance.theme
});
proto.appearance.theme = appearanceSettingsDummy.theme; const appearanceSettingsOverwrite = AppearanceSettingsActionCreators.create({
} ...proto.appearance,
theme: protoStoreAppearenceSettings?.theme,
clientThemeSettings: protoStoreAppearenceSettings?.clientThemeSettings
});
if (UserSettingsProtoStore.settings.appearance?.clientThemeSettings?.backgroundGradientPresetId?.value != null) { proto.appearance = appearanceSettingsOverwrite;
const clientThemeSettingsDummy = ClientThemeSettingsActionsCreators.create({
backgroundGradientPresetId: {
value: UserSettingsProtoStore.settings.appearance.clientThemeSettings.backgroundGradientPresetId.value
}
});
proto.appearance.clientThemeSettings ??= clientThemeSettingsDummy;
proto.appearance.clientThemeSettings.backgroundGradientPresetId = clientThemeSettingsDummy.backgroundGradientPresetId;
}
} }
} catch (err) { } catch (err) {
new Logger("FakeNitro").error(err); new Logger("FakeNitro").error(err);