From 9f67962777418575ceb09dab8e6f0d5c90bd4d46 Mon Sep 17 00:00:00 2001 From: Etorix <92535668+EtorixDev@users.noreply.github.com> Date: Sun, 3 Aug 2025 11:59:20 -0700 Subject: [PATCH] Questify: Fix colors on preview Quest when plugin disabled. (#320) * Fix preview when plugin disabled. * Fix preview when plugin disabled. --- src/equicordplugins/questify/index.tsx | 8 ++++---- src/equicordplugins/questify/settings.tsx | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/equicordplugins/questify/index.tsx b/src/equicordplugins/questify/index.tsx index 5f3583978..d09fd3d5e 100644 --- a/src/equicordplugins/questify/index.tsx +++ b/src/equicordplugins/questify/index.tsx @@ -450,7 +450,7 @@ function preprocessQuests(quests: Quest[]): Quest[] { return sortedQuests; } -function getQuestTileStyle(quest: Quest): Record { +export function getQuestTileStyle(quest: Quest | null): Record { const { restyleQuests, ignoredQuests, @@ -471,9 +471,9 @@ function getQuestTileStyle(quest: Quest): Record { const unclaimedColor = restyleUnclaimed !== null ? decimalToRGB(restyleUnclaimed) : ""; const ignoredColor = restyleIgnored !== null ? decimalToRGB(restyleIgnored) : ""; const expiredColor = restyleExpired !== null ? decimalToRGB(restyleExpired) : ""; - const dummyProvided = quest.dummyColor !== undefined; - const dummyColor = (quest.dummyColor !== undefined && quest.dummyColor !== null) ? decimalToRGB(quest.dummyColor) : null; - const questStatus = getQuestStatus(quest); + const dummyProvided = quest?.dummyColor !== undefined; + const dummyColor = (quest?.dummyColor !== undefined && quest?.dummyColor !== null) ? decimalToRGB(quest.dummyColor) : null; + const questStatus = quest ? getQuestStatus(quest) : null; if (questStatus === QuestStatus.Claimed) { themeColor = dummyProvided ? dummyColor : claimedColor || null; diff --git a/src/equicordplugins/questify/settings.tsx b/src/equicordplugins/questify/settings.tsx index ff1ddfbbc..c8c974430 100644 --- a/src/equicordplugins/questify/settings.tsx +++ b/src/equicordplugins/questify/settings.tsx @@ -12,7 +12,7 @@ import { findLazy } from "@webpack"; import { Button, ColorPicker, ContextMenuApi, Forms, Menu, Select, TextArea, TextInput, useEffect, useRef, useState } from "@webpack/common"; import { JSX } from "react"; -import { activeQuestIntervals, getQuestTileClasses } from "./index"; +import { activeQuestIntervals, getQuestTileClasses, getQuestTileStyle } from "./index"; import { DynamicDropdown, DynamicDropdownSettingOption, GuildlessServerListItem, Quest, QuestIcon, QuestStatus, QuestTile, RadioGroup, RadioOption, SelectOption, SoundIcon } from "./utils/components"; import { AudioPlayer, decimalToRGB, fetchAndDispatchQuests, getFormattedNow, getQuestStatus, isDarkish, isSoundAllowed, leftClick, middleClick, normalizeQuestName, q, QuestifyLogger, QuestsStore, rightClick, validCommaSeparatedList } from "./utils/misc"; @@ -770,6 +770,7 @@ function RestyleQuestsSetting() { const [hasQuests, setHasQuests] = useState(false); const [dummyQuest, setDummyQuest] = useState(null); + const dummyQuestStyle = getQuestTileStyle(dummyQuest); useEffect(() => { const handleChange = () => { @@ -936,7 +937,7 @@ function RestyleQuestsSetting() { /> -
+
{hasQuests && dummyQuest && ( )}