Questify & SongSpotlight: Patch Fixes. (#1382)
* Questify: Patch Fix. * SongSpotlight: Fix profile modal options.
This commit is contained in:
parent
5408a0224c
commit
c82de288f7
3 changed files with 15 additions and 10 deletions
|
|
@ -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",)/,
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
});
|
||||
}}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue