Merge branch 'dev'

This commit is contained in:
thororen1234 2025-09-26 17:07:50 -04:00
commit a8e7db1647
No known key found for this signature in database
4 changed files with 24 additions and 18 deletions

View file

@ -15,20 +15,20 @@ export default definePlugin({
{
find: '"Channel Pins"',
replacement: {
match: /(?<=(\i\.\i\.unpinMessage\(\i,\i\.id\)):)\i\.\i\.confirmUnpin\(\i,\i\)/,
replace: "$1"
match: /(\i\.\i\.unpinMessage\(\i,\i\.id\)):\i\.\i\.confirmUnpin\(\i,\i\)/,
replace: "$1:$1"
}
},
{
find: 'source:"message-actions"',
replacement: [
{
match: /(?<=(\i\.\i\.pinMessage\(\i,\i\.id\)):)\i\.\i\.confirmPin\(\i,\i\)/,
replace: "$1"
match: /(\i\.\i\.pinMessage\(\i,\i\.id\)):\i\.\i\.confirmPin\(\i,\i\)/,
replace: "$1:$1"
},
{
match: /(?<=(\i\.\i\.unpinMessage\(\i,\i\.id\)):)\i\.\i\.confirmUnpin\(\i,\i\)/,
replace: "$1"
match: /(\i\.\i\.unpinMessage\(\i,\i\.id\)):\i\.\i\.confirmUnpin\(\i,\i\)/,
replace: "$1:$1"
}
]
},
@ -36,12 +36,12 @@ export default definePlugin({
find: 'id:"pin"',
replacement: [
{
match: /(?<=(\i\.\i\.pinMessage\(\i,\i\.id\)):)\i\.\i\.confirmPin\(\i,\i\)/,
replace: "$1"
match: /(\i\.\i\.pinMessage\(\i,\i\.id\)):\i\.\i\.confirmPin\(\i,\i\)/,
replace: "$1:$1"
},
{
match: /(?<=(\i\.\i\.unpinMessage\(\i,\i\.id\)):)\i\.\i\.confirmUnpin\(\i,\i\)/,
replace: "$1"
match: /(\i\.\i\.unpinMessage\(\i,\i\.id\)):\i\.\i\.confirmUnpin\(\i,\i\)/,
replace: "$1:$1"
}
]
},

View file

@ -828,6 +828,14 @@ function setLastFilterChoices(filters: { group: string; filter: string; }[]): vo
settings.store.lastQuestPageFilters = JSON.parse(JSON.stringify(filters)).reduce((acc, item) => ({ ...acc, [item.filter]: item }), {});
}
function getQuestAcceptedButtonProps(quest: Quest, text: string) {
return {
disabled: shouldDisableQuestAcceptedButton(quest) ?? true,
text: getQuestAcceptedButtonText(quest) ?? text,
onClick: () => { processQuestForAutoComplete(quest); }
};
}
export default definePlugin({
name: "Questify",
description: "Enhance your Quest experience with a suite of features, or disable them entirely if they're not your thing.",
@ -851,6 +859,7 @@ export default definePlugin({
shouldDisableQuestAcceptedButton,
processQuestForAutoComplete,
getQuestAcceptedButtonText,
getQuestAcceptedButtonProps,
getQuestPanelOverride,
setLastFilterChoices,
getLastFilterChoices,
@ -1191,15 +1200,11 @@ export default definePlugin({
{
// The Quest Accepted button is disabled by default. If the user reloads the client, they need a way
// to resume the automatic completion, so patch in optionally enabling it if the feature is enabled.
match: /(fullWidth:!0}\)}\):.{0,150}?disabled:)(!0.{0,150}?"horizontal")/,
replace: "$1$self.shouldDisableQuestAcceptedButton(arguments[0].quest)??$2"
},
{
// The "Quest Accepted" text is changed to "Resume" if the Quest is in progress but not active.
// When the Quest Accepted button which has been enabled again by the above patch is clicked,
// resume the automatic completion of the Quest and disable the button again.
match: /(\i.intl.string\(\i.\i#{intl::QUEST_ACCEPTED}\))/,
replace: "$self.getQuestAcceptedButtonText(arguments[0].quest)??$1,onClick:()=>{$self.processQuestForAutoComplete(arguments[0].quest)}"
match: /(?<=fullWidth:!0}\)}\):.{0,150}?secondary",)disabled:!0,text:(.{0,30}?\["9KoPyM"\]\)),/,
replace: "...$self.getQuestAcceptedButtonProps(arguments[0].quest,$1),"
}
]
},

View file

@ -42,7 +42,8 @@ let ws: WebSocket;
if (IS_VESKTOP || IS_EQUIBOP || "legcord" in window) {
hideSetting = true;
Settings.plugins.WebRichPresence.enabled = false;
const { WebRichPresence } = Settings.plugins;
if (WebRichPresence) WebRichPresence.enabled = false;
} else if ("goofcord" in window) {
hideSetting = false;
}

View file

@ -33,7 +33,7 @@ export default definePlugin({
{
// Discord always renders both plain and guild icons folders and uses a css transtion to switch between them
match: /(?<=.folderButtonContent]:(!\i))/,
replace: (_, hasFolderButtonContentClass) => `,"vc-plainFolderIcon-plain":${hasFolderButtonContentClass}`
replace: ',"vc-plainFolderIcon-plain":$1'
}
]