Questify & SongSpotlight: Patch Fixes. (#1382)

* Questify: Patch Fix.

* SongSpotlight: Fix profile modal options.
This commit is contained in:
Etorix 2026-10-01 20:26:42 -07:00 • committed by GitHub
parent 5408a0224c
commit c82de288f7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 10 deletions

View file

@ -239,8 +239,8 @@ export default definePlugin({
find: "collapsed-with-rewards\":\"collapsed-without-rewards",
predicate: () => getQuestifySettings().disableAccountPanelPromo || !getQuestifySettings().disableAccountPanelQuestProgress,
replacement: {
match: /(?<=function\(\)\{)(let (\i)=\(0,\i\.\i\)\(\)(?:,\i=\(0,\i\.\i\)\(.{0,55}?\))?;)(?=return null==\2(?:&&null!=\i)?\?)/,
replace: "void $self.useQuestRerender();$1$2=$self.getQuestPanelOverride($2);"
match: /(?<=function\(\)\{)(let (\i)=\(0,\i\.\i\)\(\),\i=\(0,\i\.\i\)\(.{0,55}?\);)(?=switch\(\2\.type\)\{case (\i\.\i\.QUEST):)/,
replace: "void $self.useQuestRerender();$1$2=$self.getQuestPanelOverride($2,$3);if(null==$2)return null;"
}
},
{
@ -484,7 +484,7 @@ export default definePlugin({
},
{
// Adds the Questify sort option to Discord's Quest sort enum.
find: "SUGGESTED=\"suggested\",",
find: "EXPIRING_SOON=\"expiring_soon\"",
predicate: () => !getQuestifySettings().disableQuestsEverything,
replacement: {
match: /(?<=\(\((\i)=\{\}\))(?=\.SUGGESTED="suggested",)/,

View file

@ -43,6 +43,11 @@ const questProgressTaskPriority = [
QuestTaskType.PLAY_ON_XBOX,
] as const satisfies readonly QuestTaskType[];
interface QuestPanelCreative {
type: number;
quest?: Quest;
}
interface QuestPanelPercentCompleteOptions {
quest?: Quest | null;
percentCompleteText?: string;
@ -215,7 +220,7 @@ function getMostRecentlyCompletedUnclaimedQuest(): Quest | null {
})[0] ?? null;
}
export function getQuestPanelOverride(quest: Quest | null): Quest | null {
export function getQuestPanelOverride(creative: QuestPanelCreative, questType: number): QuestPanelCreative | null {
const panelState = useQuestifySettings(["disableQuestsEverything", "disableAccountPanelPromo", "disableAccountPanelQuestProgress"]);
if (panelState.disableQuestsEverything) {
@ -227,12 +232,16 @@ export function getQuestPanelOverride(quest: Quest | null): Quest | null {
}
if (panelState.disableAccountPanelQuestProgress) {
return quest;
return creative;
}
const nextQuest = getAutoCompleteShowcaseQuest() ?? getMostRecentlyCompletedUnclaimedQuest();
return nextQuest ?? (panelState.disableAccountPanelPromo ? null : quest);
if (nextQuest) {
return { ...creative, type: questType, quest: nextQuest };
}
return panelState.disableAccountPanelPromo ? null : creative;
}
export function shouldForceQuestPanelVisible(quest: Quest | null): boolean {

View file

@ -74,10 +74,6 @@ export default function CollapsedProfileSongs({ data, user, isSideBar, isRedesig
userId,
guildId,
channelId: SelectedChannelStore.getChannelId(),
analyticsLocation: {
page: guildId ? "Guild Channel" : "DM Channel",
section: "Profile Popout",
},
tabSection: "SONG_SPOTLIGHT",
});
}}