diff --git a/src/plugins/pronoundb/index.ts b/src/plugins/pronoundb/index.ts
index 68fa2654..5dfeda5c 100644
--- a/src/plugins/pronoundb/index.ts
+++ b/src/plugins/pronoundb/index.ts
@@ -38,7 +38,7 @@ export default definePlugin({
{
find: "showCommunicationDisabledStyles",
replacement: {
- match: /(?<=return\s+\w{1,3}\.createElement\(.+!\w{1,3}&&)(\w{1,3}.createElement\(.+?\{.+?\}\))/,
+ match: /(?<=return\s*\(0,\w{1,3}\.jsxs?\)\(.+!\w{1,3}&&)(\(0,\w{1,3}.jsxs?\)\(.+?\{.+?\}\))/,
replace: "[$1, Vencord.Plugins.plugins.PronounDB.PronounsChatComponent(e)]"
}
},
@@ -46,8 +46,8 @@ export default definePlugin({
{
find: ".headerTagUsernameNoNickname",
replacement: {
- match: /""!==(.{1,2})&&(r\.createElement\(r\.Fragment.+?\.Messages\.USER_POPOUT_PRONOUNS.+?pronounsText.+?\},\1\)\))/,
- replace: (_, __, fragment) => `Vencord.Plugins.plugins.PronounDB.PronounsProfileWrapper(e, ${fragment})`
+ match: /(?<=""!==(.{1,2})&&).+?children:\1.+?(?=,)/,
+ replace: "Vencord.Plugins.plugins.PronounDB.PronounsProfileWrapper(e, $1)"
}
}
],
diff --git a/src/plugins/reverseImageSearch.tsx b/src/plugins/reverseImageSearch.tsx
index 3bcefba8..cbe72d8e 100644
--- a/src/plugins/reverseImageSearch.tsx
+++ b/src/plugins/reverseImageSearch.tsx
@@ -36,7 +36,7 @@ export default definePlugin({
patches: [{
find: "open-native-link",
replacement: {
- match: /key:"open-native-link".{0,200}\(\{href:(.{0,3}),.{0,200}\}\)/,
+ match: /id:"open-native-link".{0,200}\(\{href:(.{0,3}),.{0,200}\},"open-native-link"\)/,
replace: (m, src) =>
`${m},Vencord.Plugins.plugins.ReverseImageSearch.makeMenu(${src}, arguments[2])`
}
diff --git a/src/plugins/settings.ts b/src/plugins/settings.tsx
similarity index 68%
rename from src/plugins/settings.ts
rename to src/plugins/settings.tsx
index f8ef7d81..d80b0ffa 100644
--- a/src/plugins/settings.ts
+++ b/src/plugins/settings.tsx
@@ -16,6 +16,8 @@
* along with this program. If not, see .
*/
+import React from "react";
+
import gitHash from "~git-hash";
import { Devs } from "../utils/constants";
@@ -30,22 +32,10 @@ export default definePlugin({
find: "().versionHash",
replacement: [
{
- match: /\w\.createElement\(.{1,2}.Fragment,.{0,30}\{[^}]+\},"Host ".+?\):null/,
- replace: m => {
- const idx = m.indexOf("Host") - 1;
- const template = m.slice(0, idx);
- const additionalInfo = IS_WEB
- ? " (Web)"
- : IS_STANDALONE
- ? " (Standalone)"
- : "";
-
- let r = `${m}, ${template}"Vencord ", "${gitHash}${additionalInfo}"), " ")`;
- if (!IS_WEB) {
- r += `,${template} "Electron ",VencordNative.getVersions().electron)," "),`;
- r += `${template} "Chrome ",VencordNative.getVersions().chrome)," ")`;
- }
- return r;
+ match: /\[\(0,.{1,3}\.jsxs?\)\((.{1,10}),(\{[^{}}]+\{.{0,20}\(\)\.versionHash,.+?\})\)," "/,
+ replace: (m, component, props) => {
+ props = props.replace(/children:\[.+\]/, "");
+ return `${m},Vencord.Plugins.plugins.Settings.makeInfoElements(${component}, ${props})`;
}
}
]
@@ -66,5 +56,20 @@ export default definePlugin({
);
}
}
- }]
+ }],
+
+ makeInfoElements(Component: React.ComponentType, props: React.PropsWithChildren) {
+ const additionalInfo = IS_WEB
+ ? " (Web)"
+ : IS_STANDALONE
+ ? " (Standalone)"
+ : "";
+ return (
+ <>
+ Vencord {gitHash}{additionalInfo}
+ Electron {VencordNative.getVersions().electron}
+ Chromium {VencordNative.getVersions().chrome}
+ >
+ );
+ }
});
diff --git a/src/plugins/spotifyControls/index.tsx b/src/plugins/spotifyControls/index.tsx
index 18bced9e..6bf66253 100644
--- a/src/plugins/spotifyControls/index.tsx
+++ b/src/plugins/spotifyControls/index.tsx
@@ -40,7 +40,7 @@ export default definePlugin({
find: "showTaglessAccountPanel:",
replacement: {
// return React.createElement(AccountPanel, { ..., showTaglessAccountPanel: blah })
- match: /return (.{0,30}\(.{1,3},\{[^}]+?,showTaglessAccountPanel:.+?\}\))/,
+ match: /return ?(.{0,30}\(.{1,3},\{[^}]+?,showTaglessAccountPanel:.+?\}\))/,
// return [Player, Panel]
replace: "return [Vencord.Plugins.plugins.SpotifyControls.renderPlayer(),$1]"
}