From da5030c173ad480d1bd6be245cccc78510de5bb1 Mon Sep 17 00:00:00 2001 From: Etorix <92535668+EtorixDev@users.noreply.github.com> Date: Sat, 27 Dec 2025 17:38:08 -0800 Subject: [PATCH] Questify: Add Copy Quest ID button and add missing cleanup. (#607) --- src/equicordplugins/questify/index.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/equicordplugins/questify/index.tsx b/src/equicordplugins/questify/index.tsx index 94d4e7336..ec27a7988 100644 --- a/src/equicordplugins/questify/index.tsx +++ b/src/equicordplugins/questify/index.tsx @@ -11,6 +11,7 @@ import { addServerListElement, removeServerListElement, ServerListRenderPosition import { migratePluginToSettings } from "@api/Settings"; import { ErrorBoundary, openPluginModal } from "@components/index"; import { EquicordDevs } from "@utils/constants"; +import { copyToClipboard } from "@utils/index"; import definePlugin, { PluginNative, StartAt } from "@utils/types"; import { onceReady } from "@webpack"; import { ContextMenuApi, Menu, NavigationRouter, RestAPI, useEffect, useState } from "@webpack/common"; @@ -283,6 +284,11 @@ function QuestTileContextMenu(children: React.ReactNode[], props: { quest: any; }} /> } + { copyToClipboard(props.quest.id); }} + /> )); } @@ -848,11 +854,11 @@ async function startAchievementActivityProgressTracking(quest: Quest, questTarge } const result = await QuestifyNative.complete(appID, authCode!, questTarget); + activeQuestIntervals.delete(quest.id); if (!result.success) { const errorReason = result.error || "An error occurred while completing the Quest."; QuestifyLogger.error(`[${getFormattedNow()}] Failed to complete Quest ${questName}:`, errorReason); - activeQuestIntervals.delete(quest.id); return; } else { QuestifyLogger.info(`[${getFormattedNow()}] Quest ${questName} completed.`);