summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarios <marios8543@gmail.com>2025-10-07 01:08:39 +0300
committermarios <marios8543@gmail.com>2025-10-07 01:08:39 +0300
commit6640279ab341b95605c71165dc1c295afbf77a58 (patch)
treed3b2c50541295a1a5a794d2d6abddd893e9354f8
parent6fba20239b305e92a79b360ee87850f8f2d9b62e (diff)
downloaddecky-loader-6640279ab341b95605c71165dc1c295afbf77a58.tar.gz
decky-loader-6640279ab341b95605c71165dc1c295afbf77a58.zip
add frontend
-rw-r--r--.vscode/defsettings.json4
-rw-r--r--backend/decky_loader/loader.py3
-rw-r--r--backend/decky_loader/plugin/plugin.py1
-rw-r--r--backend/decky_loader/utilities.py2
-rw-r--r--frontend/src/components/DeckyState.tsx2
-rw-r--r--frontend/src/components/modals/PluginDisablelModal.tsx2
6 files changed, 8 insertions, 6 deletions
diff --git a/.vscode/defsettings.json b/.vscode/defsettings.json
index b7c15122..3613c109 100644
--- a/.vscode/defsettings.json
+++ b/.vscode/defsettings.json
@@ -1,8 +1,8 @@
{
- "deckip" : "0.0.0.0",
+ "deckip" : "192.168.1.69",
"deckport" : "22",
"deckuser" : "deck",
- "deckpass" : "ssap",
+ "deckpass" : "deck",
"deckkey" : "-i ${env:HOME}/.ssh/id_rsa",
"deckdir" : "/home/deck"
}
diff --git a/backend/decky_loader/loader.py b/backend/decky_loader/loader.py
index 09ec7465..d4799bae 100644
--- a/backend/decky_loader/loader.py
+++ b/backend/decky_loader/loader.py
@@ -131,7 +131,7 @@ class Loader:
async def get_plugins(self):
plugins = list(self.plugins.values())
- return [{"name": str(i), "version": i.version, "load_type": i.load_type} for i in plugins]
+ return [{"name": str(i), "version": i.version, "load_type": i.load_type, "disabled": i.disabled} for i in plugins]
async def handle_plugin_dist(self, request: web.Request):
plugin = self.plugins[request.match_info["plugin_name"]]
@@ -166,6 +166,7 @@ class Loader:
plugin = PluginWrapper(file, plugin_directory, self.plugin_path, plugin_emitted_event)
if hasattr(self.context, "utilities") and plugin.name in await self.context.utilities.get_setting("disabled_plugins",[]):
+ plugin.disabled = True
self.plugins[plugin.name] = plugin
return
if plugin.name in self.plugins:
diff --git a/backend/decky_loader/plugin/plugin.py b/backend/decky_loader/plugin/plugin.py
index 61de4b1f..a7edaa45 100644
--- a/backend/decky_loader/plugin/plugin.py
+++ b/backend/decky_loader/plugin/plugin.py
@@ -41,6 +41,7 @@ class PluginWrapper:
self.author = json["author"]
self.flags = json["flags"]
self.api_version = json["api_version"] if "api_version" in json else 0
+ self.disabled = False
self.passive = not path.isfile(self.file)
diff --git a/backend/decky_loader/utilities.py b/backend/decky_loader/utilities.py
index ab2dde6f..63ffff06 100644
--- a/backend/decky_loader/utilities.py
+++ b/backend/decky_loader/utilities.py
@@ -214,7 +214,7 @@ class Utilities:
async def http_request_legacy(self, method: str, url: str, extra_opts: Any = {}, timeout: int | None = None):
async with ClientSession() as web:
- res = await web.request(method, url, ssl=helpers.get_ssl_context(), timeout=timeout, **extra_opts)
+ res = await web.request(method, url, ssl=helpers.get_ssl_context(), timeout=timeout, **extra_opts) # type: ignore
text = await res.text()
return {
"status": res.status,
diff --git a/frontend/src/components/DeckyState.tsx b/frontend/src/components/DeckyState.tsx
index b2f7ac33..3d6e9dc4 100644
--- a/frontend/src/components/DeckyState.tsx
+++ b/frontend/src/components/DeckyState.tsx
@@ -47,7 +47,7 @@ export class DeckyState {
return {
plugins: this._plugins,
disabled: this._disabledPlugins,
- installedPlugins: this._disabledPlugins,
+ installedPlugins: this._installedPlugins,
pluginOrder: this._pluginOrder,
frozenPlugins: this._frozenPlugins,
hiddenPlugins: this._hiddenPlugins,
diff --git a/frontend/src/components/modals/PluginDisablelModal.tsx b/frontend/src/components/modals/PluginDisablelModal.tsx
index 89cda293..c455f9fa 100644
--- a/frontend/src/components/modals/PluginDisablelModal.tsx
+++ b/frontend/src/components/modals/PluginDisablelModal.tsx
@@ -1,7 +1,7 @@
import { ConfirmModal, Spinner } from '@decky/ui';
import { FC, useState } from 'react';
-import { disablePlugin, uninstallPlugin } from '../../plugin';
+import { disablePlugin } from '../../plugin';
interface PluginUninstallModalProps {
name: string;