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", find: "collapsed-with-rewards\":\"collapsed-without-rewards",
predicate: () => getQuestifySettings().disableAccountPanelPromo || !getQuestifySettings().disableAccountPanelQuestProgress, predicate: () => getQuestifySettings().disableAccountPanelPromo || !getQuestifySettings().disableAccountPanelQuestProgress,
replacement: { replacement: {
match: /(?<=function\(\)\{)(let (\i)=\(0,\i\.\i\)\(\)(?:,\i=\(0,\i\.\i\)\(.{0,55}?\))?;)(?=return null==\2(?:&&null!=\i)?\?)/, 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);" 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. // Adds the Questify sort option to Discord's Quest sort enum.
find: "SUGGESTED=\"suggested\",", find: "EXPIRING_SOON=\"expiring_soon\"",
predicate: () => !getQuestifySettings().disableQuestsEverything, predicate: () => !getQuestifySettings().disableQuestsEverything,
replacement: { replacement: {
match: /(?<=\(\((\i)=\{\}\))(?=\.SUGGESTED="suggested",)/, match: /(?<=\(\((\i)=\{\}\))(?=\.SUGGESTED="suggested",)/,

View file

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

View file

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