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",
|
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",)/,
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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",
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue