Implement React-based plugin store (#81)

Co-authored-by: TrainDoctor <11465594+TrainDoctor@users.noreply.github.com>
Co-authored-by: WerWolv <werwolv98@gmail.com>
This commit is contained in:
AAGaming
2022-06-17 18:43:53 -04:00
committed by GitHub
parent a95bf94d87
commit 99b4b939bd
15 changed files with 2178 additions and 3915 deletions
+7
View File
@@ -4,6 +4,7 @@ import { FaPlug } from 'react-icons/fa';
import { DeckyState, DeckyStateContextProvider } from './components/DeckyState';
import LegacyPlugin from './components/LegacyPlugin';
import PluginView from './components/PluginView';
import StorePage from './components/store/Store';
import TitleView from './components/TitleView';
import Logger from './logger';
import { Plugin } from './plugin';
@@ -43,6 +44,8 @@ class PluginLoader extends Logger {
),
icon: <FaPlug />,
});
this.routerHook.addRoute('/decky/store', () => <StorePage />);
}
public addPluginInstallPrompt(artifact: string, version: string, request_id: string) {
@@ -71,6 +74,10 @@ class PluginLoader extends Logger {
}
}
public deinit() {
this.routerHook.removeRoute('/decky/store');
}
public async importPlugin(name: string) {
try {
if (this.reloadLock) {