2024-05-04 00:50:59 -04:00
|
|
|
/*
|
|
|
|
* Vencord, a Discord client mod
|
|
|
|
* Copyright (c) 2024 Vendicated and contributors
|
|
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
*/
|
|
|
|
|
2024-05-12 17:43:11 -04:00
|
|
|
import { definePluginSettings } from "@api/Settings";
|
|
|
|
import definePlugin, { OptionType } from "@utils/types";
|
|
|
|
import { SettingsRouter } from "@webpack/common";
|
|
|
|
|
|
|
|
const settings = definePluginSettings({
|
|
|
|
domain: {
|
|
|
|
type: OptionType.BOOLEAN,
|
|
|
|
default: false,
|
|
|
|
description: "Use Github instead of the default domain for themes",
|
|
|
|
restartNeeded: false
|
|
|
|
},
|
|
|
|
});
|
2024-05-04 00:50:59 -04:00
|
|
|
|
|
|
|
export default definePlugin({
|
2024-05-12 17:43:11 -04:00
|
|
|
name: "ThemeLibrary",
|
2024-05-04 00:50:59 -04:00
|
|
|
description: "A library of themes for Vencord.",
|
2024-06-01 14:32:22 -04:00
|
|
|
authors: [{
|
|
|
|
name: "Fafa",
|
|
|
|
id: 428188716641812481n,
|
|
|
|
}],
|
2024-05-12 17:43:11 -04:00
|
|
|
settings,
|
|
|
|
toolboxActions: {
|
|
|
|
"Open Theme Library": () => {
|
|
|
|
SettingsRouter.open("ThemeLibrary");
|
|
|
|
}
|
|
|
|
},
|
2024-05-04 00:50:59 -04:00
|
|
|
|
|
|
|
start() {
|
|
|
|
const customSettingsSections = (
|
|
|
|
Vencord.Plugins.plugins.Settings as any as { customSections: ((ID: Record<string, unknown>) => any)[]; }
|
|
|
|
).customSections;
|
|
|
|
|
|
|
|
const ThemeSection = () => ({
|
|
|
|
section: "ThemeLibrary",
|
|
|
|
label: "Theme Library",
|
|
|
|
element: require("./components/ThemeTab").default,
|
|
|
|
id: "ThemeSection"
|
|
|
|
});
|
|
|
|
|
|
|
|
customSettingsSections.push(ThemeSection);
|
|
|
|
},
|
|
|
|
|
|
|
|
stop() {
|
|
|
|
const customSettingsSections = (
|
|
|
|
Vencord.Plugins.plugins.Settings as any as { customSections: ((ID: Record<string, unknown>) => any)[]; }
|
|
|
|
).customSections;
|
|
|
|
|
|
|
|
const i = customSettingsSections.findIndex(section => section({}).id === "ThemeSection");
|
|
|
|
|
|
|
|
if (i !== -1) customSettingsSections.splice(i, 1);
|
2024-05-12 17:43:11 -04:00
|
|
|
},
|
2024-05-04 00:50:59 -04:00
|
|
|
});
|