Questify: Fix colors on preview Quest when plugin disabled. (#320)

* Fix preview when plugin disabled.

* Fix preview when plugin disabled.
This commit is contained in:
Etorix 2025-08-03 11:59:20 -07:00 • committed by GitHub
parent 72a166952d
commit 9f67962777
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 6 deletions

View file

@ -450,7 +450,7 @@ function preprocessQuests(quests: Quest[]): Quest[] {
return sortedQuests;
}
function getQuestTileStyle(quest: Quest): Record<string, string> {
export function getQuestTileStyle(quest: Quest | null): Record<string, string> {
const {
restyleQuests,
ignoredQuests,
@ -471,9 +471,9 @@ function getQuestTileStyle(quest: Quest): Record<string, string> {
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;

View file

@ -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<Quest | null>(null);
const dummyQuestStyle = getQuestTileStyle(dummyQuest);
useEffect(() => {
const handleChange = () => {
@ -936,7 +937,7 @@ function RestyleQuestsSetting() {
/>
</div>
</div>
<div className={q("dummy-quest-preview")}>
<div className={q("dummy-quest-preview")} style={dummyQuestStyle}>
{hasQuests && dummyQuest && (
<DummyQuestPreview quest={dummyQuest} dummyColor={dummyColor} dummyGradient={dummyGradient} />
)}