diff --git a/src/equicordplugins/questCompleter.discordDesktop/index.tsx b/src/equicordplugins/questCompleter.discordDesktop/index.tsx
index 549ea700..71639110 100644
--- a/src/equicordplugins/questCompleter.discordDesktop/index.tsx
+++ b/src/equicordplugins/questCompleter.discordDesktop/index.tsx
@@ -20,13 +20,33 @@ import "@equicordplugins/_misc/styles.css";
import "./style.css";
import { showNotification } from "@api/Notifications";
+import { definePluginSettings } from "@api/Settings";
+import { ErrorBoundary } from "@components/index";
import { Devs } from "@utils/constants";
import { getTheme, Theme } from "@utils/discord";
-import definePlugin from "@utils/types";
+import definePlugin, { OptionType } from "@utils/types";
import { findByProps, findComponentByCodeLazy } from "@webpack";
import { Button, ChannelStore, FluxDispatcher, GuildChannelStore, NavigationRouter, RestAPI, Tooltip, UserStore } from "@webpack/common";
const QuestIcon = findComponentByCodeLazy("10.47a.76.76");
+const HeaderBarIcon = findComponentByCodeLazy(".HEADER_BAR_BADGE_TOP:", '.iconBadge,"top"');
+
+
+function ToolBarHeader() {
+ return (
+
+
+
+
+ );
+}
+
async function openCompleteQuestUI() {
const ApplicationStreamingStore = findByProps("getStreamerActiveStreamMetadata");
@@ -213,17 +233,35 @@ async function openCompleteQuestUI() {
}
}
+const settings = definePluginSettings({
+ useNavBar: {
+ description: "Move quest button down to the server nav bar",
+ type: OptionType.BOOLEAN,
+ default: false,
+ }
+});
+
export default definePlugin({
name: "QuestCompleter",
description: "A plugin to complete quests without having the game installed.",
authors: [Devs.amia],
+ settings,
patches: [
{
find: "AppTitleBar",
replacement: {
match: /(?<=trailing:.{0,70}\(\i\.Fragment,{children:\[)/,
replace: "$self.renderQuestButton(),"
- }
+ },
+ predicate: () => !settings.store.useNavBar
+ },
+ {
+ find: "toolbar:function",
+ replacement: {
+ match: /(function \i\(\i\){)(.{1,200}toolbar.{1,200}mobileToolbar)/,
+ replace: "$1$self.toolbarAction(arguments[0]);$2"
+ },
+ predicate: () => settings.store.useNavBar
}
],
renderQuestButton() {
@@ -242,4 +280,19 @@ export default definePlugin({
);
},
+ toolbarAction(e) {
+ if (Array.isArray(e.toolbar))
+ return e.toolbar.push(
+
+
+
+ );
+
+ e.toolbar = [
+
+
+ ,
+ e.toolbar,
+ ];
+ }
});