summaryrefslogtreecommitdiff
path: root/frontend/src/plugin-loader.tsx
diff options
context:
space:
mode:
authorJonas Dellinger <jonas@dellinger.dev>2023-06-07 07:35:05 +0200
committerGitHub <noreply@github.com>2023-06-06 22:35:05 -0700
commit47bc910a8482d3d2cc882e28e862ca5ad61063b6 (patch)
treeacc75a2892150df5fd0d151d46d8f75caa062504 /frontend/src/plugin-loader.tsx
parent1c6270ccd67f271968a3ab8a30c29f19548765f0 (diff)
downloaddecky-loader-47bc910a8482d3d2cc882e28e862ca5ad61063b6.tar.gz
decky-loader-47bc910a8482d3d2cc882e28e862ca5ad61063b6.zip
Add functionality to hide plugins from quick access menu (#468)
Diffstat (limited to 'frontend/src/plugin-loader.tsx')
-rw-r--r--frontend/src/plugin-loader.tsx23
1 files changed, 7 insertions, 16 deletions
diff --git a/frontend/src/plugin-loader.tsx b/frontend/src/plugin-loader.tsx
index 57483293..6d20c2f0 100644
--- a/frontend/src/plugin-loader.tsx
+++ b/frontend/src/plugin-loader.tsx
@@ -1,5 +1,4 @@
import {
- ConfirmModal,
ModalRoot,
PanelSection,
PanelSectionRow,
@@ -18,9 +17,11 @@ import LegacyPlugin from './components/LegacyPlugin';
import { deinitFilepickerPatches, initFilepickerPatches } from './components/modals/filepicker/patches';
import MultiplePluginsInstallModal from './components/modals/MultiplePluginsInstallModal';
import PluginInstallModal from './components/modals/PluginInstallModal';
+import PluginUninstallModal from './components/modals/PluginUninstallModal';
import NotificationBadge from './components/NotificationBadge';
import PluginView from './components/PluginView';
import WithSuspense from './components/WithSuspense';
+import { HiddenPluginsService } from './hidden-plugins-service';
import Logger from './logger';
import { InstallType, Plugin } from './plugin';
import RouterHook from './router-hook';
@@ -45,6 +46,7 @@ class PluginLoader extends Logger {
private routerHook: RouterHook = new RouterHook();
public toaster: Toaster = new Toaster();
private deckyState: DeckyState = new DeckyState();
+ public hiddenPluginsService = new HiddenPluginsService(this.deckyState);
private reloadLock: boolean = false;
// stores a list of plugin names which requested to be reloaded
@@ -182,21 +184,8 @@ class PluginLoader extends Logger {
);
}
- public uninstallPlugin(name: string, title: string, button_text: string, description: string) {
- showModal(
- <ConfirmModal
- onOK={async () => {
- await this.callServerMethod('uninstall_plugin', { name });
- }}
- onCancel={() => {
- // do nothing
- }}
- strTitle={title}
- strOKButtonText={button_text}
- >
- {description}
- </ConfirmModal>,
- );
+ public uninstallPlugin(name: string, title: string, buttonText: string, description: string) {
+ showModal(<PluginUninstallModal name={name} title={title} buttonText={buttonText} description={description} />);
}
public hasPlugin(name: string) {
@@ -220,6 +209,8 @@ class PluginLoader extends Logger {
console.log(pluginOrder);
this.deckyState.setPluginOrder(pluginOrder);
});
+
+ this.hiddenPluginsService.init();
}
public deinit() {