summaryrefslogtreecommitdiff
path: root/plugin_loader/browser.py
diff options
context:
space:
mode:
authortza <marios8543@gmail.com>2022-05-10 20:31:39 +0300
committertza <marios8543@gmail.com>2022-05-10 20:31:39 +0300
commit0d0e57e35aebdc847fbefe1d791f72cc0979fa5a (patch)
tree55c5f42d6254b920021cd04db7d945ac2c4bc798 /plugin_loader/browser.py
parent945db5de4788feefebc845817752472419051640 (diff)
downloaddecky-loader-0d0e57e35aebdc847fbefe1d791f72cc0979fa5a.tar.gz
decky-loader-0d0e57e35aebdc847fbefe1d791f72cc0979fa5a.zip
Added store button
Diffstat (limited to 'plugin_loader/browser.py')
-rw-r--r--plugin_loader/browser.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/plugin_loader/browser.py b/plugin_loader/browser.py
index ffec26b3..e9c9bb53 100644
--- a/plugin_loader/browser.py
+++ b/plugin_loader/browser.py
@@ -1,4 +1,4 @@
-from injector import get_tab
+from injector import get_tab, inject_to_tab
from logging import getLogger
from os import path, rename
from shutil import rmtree
@@ -26,7 +26,8 @@ class PluginBrowser:
server_instance.add_routes([
web.post("/browser/install_plugin", self.install_plugin),
- web.get("/browser/iframe", self.redirect_to_store)
+ web.get("/browser/redirect", self.redirect_to_store),
+ web.post("/browser/close_store", self.close_store)
])
def _unzip_to_plugin_dir(self, zip, name, hash):
@@ -72,6 +73,10 @@ class PluginBrowser:
async def redirect_to_store(self, request):
return web.Response(status=302, headers={"Location": self.store_url})
+ async def close_store(self, request):
+ await inject_to_tab("SP", "window.PLUGIN_STORE_TAB_INSTANCE.SetVisible(false)")
+ await inject_to_tab("SP", "SteamClient.BrowserView.Destroy(window.PLUGIN_STORE_TAB_INSTANCE)")
+
async def install_plugin(self, request):
data = await request.post()
get_event_loop().create_task(self.request_plugin_install(data["artifact"], data["version"], data["hash"]))