aboutsummaryrefslogtreecommitdiff
path: root/src/components/Settings.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/Settings.tsx')
-rw-r--r--src/components/Settings.tsx13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/components/Settings.tsx b/src/components/Settings.tsx
index 19f6dd2..ee293bb 100644
--- a/src/components/Settings.tsx
+++ b/src/components/Settings.tsx
@@ -5,6 +5,8 @@ import IpcEvents from "../utils/IpcEvents";
import { Button, ButtonProps, Flex, Switch, Forms } from "../webpack/common";
import ErrorBoundary from "./ErrorBoundary";
+import { startPlugin } from "../plugins";
+import { stopPlugin } from '../plugins/index';
export default ErrorBoundary.wrap(function Settings(props) {
const [settingsDir, , settingsDirPending] = useAwaiter(() => VencordNative.ipc.invoke<string>(IpcEvents.GET_SETTINGS_DIR), "Loading...");
@@ -52,8 +54,19 @@ export default ErrorBoundary.wrap(function Settings(props) {
settings.plugins[p.name].enabled = v;
if (v) {
p.dependencies?.forEach(d => {
+ // TODO: start every dependency
settings.plugins[d].enabled = true;
});
+ if (!p.started && !startPlugin(p)) {
+ // TODO show notification
+ }
+ } else {
+ if (p.started && !stopPlugin(p)) {
+ // TODO show notification
+ }
+ }
+ if (p.patches) {
+ // TODO show notification
}
}}
note={p.description}