From 7cdfb07ccc9aeb9e2fc019915421fb242f68c104 Mon Sep 17 00:00:00 2001 From: D3SOX Date: Fri, 16 Feb 2024 23:10:45 +0100 Subject: [PATCH 1/8] feat(serverProfilesToolbox): add new plugin --- src/plugins/serverProfilesToolbox/README.md | 5 ++ src/plugins/serverProfilesToolbox/index.tsx | 67 ++++++++++++++++++ .../serverProfilesToolbox/screenshot.png | Bin 0 -> 33589 bytes 3 files changed, 72 insertions(+) create mode 100644 src/plugins/serverProfilesToolbox/README.md create mode 100644 src/plugins/serverProfilesToolbox/index.tsx create mode 100644 src/plugins/serverProfilesToolbox/screenshot.png diff --git a/src/plugins/serverProfilesToolbox/README.md b/src/plugins/serverProfilesToolbox/README.md new file mode 100644 index 000000000..538e41be9 --- /dev/null +++ b/src/plugins/serverProfilesToolbox/README.md @@ -0,0 +1,5 @@ +# ServerProfilesToolbox + +Adds a copy/paste/reset button to the server profiles editor + +![Screenshot](./screenshot.png) diff --git a/src/plugins/serverProfilesToolbox/index.tsx b/src/plugins/serverProfilesToolbox/index.tsx new file mode 100644 index 000000000..63f705228 --- /dev/null +++ b/src/plugins/serverProfilesToolbox/index.tsx @@ -0,0 +1,67 @@ +/* + * Vencord, a Discord client mod + * Copyright (c) 2024 Vendicated and contributors + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +import { Devs } from "@utils/constants"; +import definePlugin from "@utils/types"; +import { findByPropsLazy, findComponentByCodeLazy } from "@webpack"; +import { Button, GuildMemberStore, UserProfileStore, UserStore } from "@webpack/common"; + +const SummaryItem = findComponentByCodeLazy("borderType", "showBorder", "hideDivider"); + +let savedNick = ""; +let savedPronouns = ""; + +const { setPendingNickname, setPendingPronouns }: { + setPendingNickname: (a: string | null) => void; + setPendingPronouns: (a: string) => void; +} = findByPropsLazy("setPendingNickname"); + +export default definePlugin({ + name: "ServerProfilesToolbox", + authors: [Devs.D3SOX], + description: "Adds a copy/paste/reset button to the server profiles editor", + + patchServerProfiles(args: { guildId: string }) { + return +
+ + + +
+
; + }, + + patches: [ + { + find: ".PROFILE_CUSTOMIZATION_GUILD_SELECT_TITLE", + replacement: { + match: /return\(0(.{10,350})\}\)\}\)\}/, + replace: "return [(0$1})}),$self.patchServerProfiles(e)]}" + } + } + ], + +}); diff --git a/src/plugins/serverProfilesToolbox/screenshot.png b/src/plugins/serverProfilesToolbox/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..71d097fc45d2d33e7ba07fd58c58e78257996154 GIT binary patch literal 33589 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 T8@?w5_>hrM{9Gxf>;Jz1VUHb@ literal 0 HcmV?d00001 From ade179994dff473f1c1b09281c73aa063e44b88f Mon Sep 17 00:00:00 2001 From: D3SOX Date: Fri, 16 Feb 2024 23:33:01 +0100 Subject: [PATCH 2/8] refactor(serverProfilesToolbox): destructure guildId --- src/plugins/serverProfilesToolbox/index.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/serverProfilesToolbox/index.tsx b/src/plugins/serverProfilesToolbox/index.tsx index 63f705228..3ddfaa998 100644 --- a/src/plugins/serverProfilesToolbox/index.tsx +++ b/src/plugins/serverProfilesToolbox/index.tsx @@ -24,13 +24,13 @@ export default definePlugin({ authors: [Devs.D3SOX], description: "Adds a copy/paste/reset button to the server profiles editor", - patchServerProfiles(args: { guildId: string }) { + patchServerProfiles({ guildId }: { guildId: string }) { return
@@ -40,6 +50,9 @@ export default definePlugin({ // set pending setPendingNickname(savedNick); setPendingPronouns(savedPronouns); + setPendingBio(savedBio); + setPendingThemeColors(savedThemeColors); + setPendingBanner(savedBanner); }}> Paste profile @@ -47,6 +60,9 @@ export default definePlugin({ // reset setPendingNickname(""); setPendingPronouns(""); + setPendingBio(undefined); + setPendingThemeColors(undefined); + setPendingBanner(undefined); }}> Reset profile From dd26771662b2eb9772e31d31e75b64687e87a124 Mon Sep 17 00:00:00 2001 From: D3SOX Date: Sat, 17 Feb 2024 00:01:48 +0100 Subject: [PATCH 5/8] fix(serverProfilesToolbox): only set required fields for nitro --- src/plugins/serverProfilesToolbox/index.tsx | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/plugins/serverProfilesToolbox/index.tsx b/src/plugins/serverProfilesToolbox/index.tsx index 5d1280b6a..8a70a7fa7 100644 --- a/src/plugins/serverProfilesToolbox/index.tsx +++ b/src/plugins/serverProfilesToolbox/index.tsx @@ -32,10 +32,12 @@ export default definePlugin({ description: "Adds a copy/paste/reset button to the server profiles editor", patchServerProfiles({ guildId }: { guildId: string }) { + const currentUser = UserStore.getCurrentUser(); + const premiumType = currentUser.premiumType ?? 0; + return
@@ -60,9 +64,11 @@ export default definePlugin({ // reset setPendingNickname(""); setPendingPronouns(""); - setPendingBio(undefined); - setPendingThemeColors(undefined); - setPendingBanner(undefined); + if (premiumType === 2) { + setPendingBio(""); + setPendingThemeColors([]); + setPendingBanner(""); + } }}> Reset profile From 92b303b9cc40ca7639a63967ab821f6a2ccbc16d Mon Sep 17 00:00:00 2001 From: D3SOX Date: Sat, 17 Feb 2024 01:33:26 +0100 Subject: [PATCH 6/8] feat(serverProfilesToolbox): save avatar --- src/plugins/serverProfilesToolbox/index.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/serverProfilesToolbox/index.tsx b/src/plugins/serverProfilesToolbox/index.tsx index 8a70a7fa7..e2f873fec 100644 --- a/src/plugins/serverProfilesToolbox/index.tsx +++ b/src/plugins/serverProfilesToolbox/index.tsx @@ -16,9 +16,10 @@ let savedPronouns: string | null = null; let savedBio: string | undefined = undefined; let savedThemeColors: number[] | undefined = undefined; let savedBanner: string | undefined = undefined; +let savedAvatar: string | undefined = undefined; const { setPendingAvatar, setPendingBanner, setPendingBio, setPendingNickname, setPendingPronouns, setPendingThemeColors }: { - setPendingAvatar: (a: string | null) => void; + setPendingAvatar: (a: string | undefined) => void; setPendingBanner: (a: string | undefined) => void; setPendingBio: (a: string | undefined) => void; setPendingNickname: (a: string | null) => void; @@ -40,11 +41,13 @@ export default definePlugin({ @@ -56,6 +59,7 @@ export default definePlugin({ setPendingBio(savedBio); setPendingThemeColors(savedThemeColors); setPendingBanner(savedBanner); + setPendingAvatar(savedAvatar); } }}> Paste profile @@ -68,6 +72,7 @@ export default definePlugin({ setPendingBio(""); setPendingThemeColors([]); setPendingBanner(""); + setPendingAvatar(""); } }}> Reset profile From 554c3e2f3c8dc19a2df7bc8fe299f5f92cb2bd21 Mon Sep 17 00:00:00 2001 From: D3SOX Date: Wed, 15 May 2024 18:33:18 +0200 Subject: [PATCH 7/8] feat(serverProfilesToolbox): add support for profile effects, avatar decorations and clipboard --- src/plugins/serverProfilesToolbox/index.tsx | 194 +++++++++++++++----- 1 file changed, 145 insertions(+), 49 deletions(-) diff --git a/src/plugins/serverProfilesToolbox/index.tsx b/src/plugins/serverProfilesToolbox/index.tsx index e2f873fec..85b815b9d 100644 --- a/src/plugins/serverProfilesToolbox/index.tsx +++ b/src/plugins/serverProfilesToolbox/index.tsx @@ -7,24 +7,59 @@ import { Devs } from "@utils/constants"; import definePlugin from "@utils/types"; import { findByPropsLazy, findComponentByCodeLazy } from "@webpack"; -import { Button, GuildMemberStore, UserProfileStore, UserStore } from "@webpack/common"; +import { + Button, + Clipboard, + GuildMemberStore, + Text, + Toasts, + UserProfileStore, + UserStore +} from "@webpack/common"; +import { GuildMember } from "discord-types/general"; const SummaryItem = findComponentByCodeLazy("borderType", "showBorder", "hideDivider"); -let savedNick: string | null = null; -let savedPronouns: string | null = null; -let savedBio: string | undefined = undefined; -let savedThemeColors: number[] | undefined = undefined; -let savedBanner: string | undefined = undefined; -let savedAvatar: string | undefined = undefined; +interface SavedProfile { + nick: string | null; + pronouns: string | null; + bio: string | null; + themeColors: number[] | undefined; + banner: string | undefined; + avatar: string | undefined; + profileEffectId: string | undefined; + avatarDecoration: string | undefined; +} -const { setPendingAvatar, setPendingBanner, setPendingBio, setPendingNickname, setPendingPronouns, setPendingThemeColors }: { +const savedProfile: SavedProfile = { + nick: null, + pronouns: null, + bio: null, + themeColors: undefined, + banner: undefined, + avatar: undefined, + profileEffectId: undefined, + avatarDecoration: undefined, +}; + +const { + setPendingAvatar, + setPendingBanner, + setPendingBio, + setPendingNickname, + setPendingPronouns, + setPendingThemeColors, + setPendingProfileEffectId, + setPendingAvatarDecoration, +}: { setPendingAvatar: (a: string | undefined) => void; setPendingBanner: (a: string | undefined) => void; - setPendingBio: (a: string | undefined) => void; + setPendingBio: (a: string | null) => void; setPendingNickname: (a: string | null) => void; setPendingPronouns: (a: string | null) => void; setPendingThemeColors: (a: number[] | undefined) => void; + setPendingProfileEffectId: (a: string | undefined) => void; + setPendingAvatarDecoration: (a: string | undefined) => void; } = findByPropsLazy("setPendingNickname", "setPendingPronouns"); export default definePlugin({ @@ -36,47 +71,108 @@ export default definePlugin({ const currentUser = UserStore.getCurrentUser(); const premiumType = currentUser.premiumType ?? 0; + const copy = () => { + const profile = UserProfileStore.getGuildMemberProfile(currentUser.id, guildId); + const nick = GuildMemberStore.getNick(guildId, currentUser.id); + const selfMember = GuildMemberStore.getMember(guildId, currentUser.id) as GuildMember & { avatarDecoration: string | undefined }; + savedProfile.nick = nick ?? ""; + savedProfile.pronouns = profile.pronouns; + savedProfile.bio = profile.bio; + savedProfile.themeColors = profile.themeColors; + savedProfile.banner = profile.banner; + savedProfile.avatar = selfMember.avatar; + savedProfile.profileEffectId = profile.profileEffectId; + savedProfile.avatarDecoration = selfMember.avatarDecoration; + }; + + const paste = () => { + setPendingNickname(savedProfile.nick); + setPendingPronouns(savedProfile.pronouns); + if (premiumType === 2) { + setPendingBio(savedProfile.bio); + setPendingThemeColors(savedProfile.themeColors); + setPendingBanner(savedProfile.banner); + setPendingAvatar(savedProfile.avatar); + setPendingProfileEffectId(savedProfile.profileEffectId); + setPendingAvatarDecoration(savedProfile.avatarDecoration); + } + }; + + const reset = () => { + setPendingNickname(null); + setPendingPronouns(""); + if (premiumType === 2) { + setPendingBio(null); + setPendingThemeColors([]); + setPendingBanner(undefined); + setPendingAvatar(undefined); + setPendingProfileEffectId(undefined); + setPendingAvatarDecoration(undefined); + } + }; + + const copyToClipboard = () => { + copy(); + Clipboard.copy(JSON.stringify(savedProfile)); + }; + + const pasteFromClipboard = async () => { + try { + const clip = await navigator.clipboard.readText(); + if (!clip) { + Toasts.show({ + message: "Clipboard is empty", + type: Toasts.Type.FAILURE, + id: Toasts.genId(), + }); + return; + } + const clipboardProfile: SavedProfile = JSON.parse(clip); + + if (!("nick" in clipboardProfile)) { + Toasts.show({ + message: "Data is not in correct format", + type: Toasts.Type.FAILURE, + id: Toasts.genId(), + }); + return; + } + + Object.assign(savedProfile, JSON.parse(clip)); + paste(); + } catch (e) { + Toasts.show({ + message: `Failed to read clipboard data: ${e}`, + type: Toasts.Type.FAILURE, + id: Toasts.genId(), + }); + } + }; + return -
- - - +
+ + Use the following buttons to mange the currently selected server + +
+ + + +
+
+ + +
; }, From 7bcff590f3faff08e170c6300df080aed081b8c9 Mon Sep 17 00:00:00 2001 From: D3SOX Date: Wed, 15 May 2024 18:33:43 +0200 Subject: [PATCH 8/8] docs(serverProfilesToolbox): don't include screenshots in git --- src/plugins/serverProfilesToolbox/README.md | 2 +- .../serverProfilesToolbox/screenshot.png | Bin 33589 -> 0 bytes 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 src/plugins/serverProfilesToolbox/screenshot.png diff --git a/src/plugins/serverProfilesToolbox/README.md b/src/plugins/serverProfilesToolbox/README.md index 538e41be9..493a1087a 100644 --- a/src/plugins/serverProfilesToolbox/README.md +++ b/src/plugins/serverProfilesToolbox/README.md @@ -2,4 +2,4 @@ Adds a copy/paste/reset button to the server profiles editor -![Screenshot](./screenshot.png) +![Screenshot](https://github.com/Vendicated/Vencord/assets/24937357/3216d511-dc97-44fb-b4a7-24929ac14e6e) diff --git a/src/plugins/serverProfilesToolbox/screenshot.png b/src/plugins/serverProfilesToolbox/screenshot.png deleted file mode 100644 index 71d097fc45d2d33e7ba07fd58c58e78257996154..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33589 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 T8@?w5_>hrM{9Gxf>;Jz1VUHb@