diff --git a/src/equicordplugins/questify/index.tsx b/src/equicordplugins/questify/index.tsx index c27eee0d9..66230890e 100644 --- a/src/equicordplugins/questify/index.tsx +++ b/src/equicordplugins/questify/index.tsx @@ -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",)/, diff --git a/src/equicordplugins/questify/utils/questState.ts b/src/equicordplugins/questify/utils/questState.ts index 31aabe377..7e961ef24 100644 --- a/src/equicordplugins/questify/utils/questState.ts +++ b/src/equicordplugins/questify/utils/questState.ts @@ -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 { diff --git a/src/equicordplugins/songSpotlight.desktop/ui/songs/CollapsedProfileSongs.tsx b/src/equicordplugins/songSpotlight.desktop/ui/songs/CollapsedProfileSongs.tsx index 1047d9b7c..5c0d4386c 100644 --- a/src/equicordplugins/songSpotlight.desktop/ui/songs/CollapsedProfileSongs.tsx +++ b/src/equicordplugins/songSpotlight.desktop/ui/songs/CollapsedProfileSongs.tsx @@ -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", }); }}