Fix most plugins

This commit is contained in:
Vendicated 2022-11-11 00:11:44 +01:00
parent 57f3feba68
commit 8ba9c96f20
No known key found for this signature in database
GPG Key ID: EC781ADFB93EFFA3
4 changed files with 27 additions and 22 deletions

View File

@ -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)"
}
}
],

View File

@ -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])`
}

View File

@ -16,6 +16,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
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<React.PropsWithChildren>, props: React.PropsWithChildren) {
const additionalInfo = IS_WEB
? " (Web)"
: IS_STANDALONE
? " (Standalone)"
: "";
return (
<>
<Component {...props}>Vencord {gitHash}{additionalInfo}</Component>
<Component {...props}>Electron {VencordNative.getVersions().electron}</Component>
<Component {...props}>Chromium {VencordNative.getVersions().chrome}</Component>
</>
);
}
});

View File

@ -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]"
}