feat: Implement a plugins page

This commit is contained in:
Alyxia Sother
2022-03-28 21:32:19 +02:00
committed by Paul Makles
parent 603f2cf7bb
commit 92f11c4dc5
4 changed files with 67 additions and 2 deletions

View File

@@ -0,0 +1,36 @@
import { observer } from "mobx-react-lite";
import styles from "./Panes.module.scss";
import { useApplicationState } from "../../../mobx/State";
import Checkbox from "../../../components/ui/Checkbox";
import Tip from "../../../components/ui/Tip";
export const PluginsPage = observer(() => {
const plugins = useApplicationState().plugins;
return (
<div className={styles.plugins}>
{/* TODO(lexisother): Wrap in <h3><Text /></h3> */}
<h1>Plugins</h1>
<Tip error hideSeparator>
Warning: This feature is still in development.
</Tip>
{plugins.list().map((plugin) => {
return (
<Checkbox
key={plugin.id}
checked={plugin.enabled!}
onChange={() => {
!plugin.enabled
? plugins.load(plugin.namespace, plugin.id)
: plugins.unload(plugin.namespace, plugin.id);
}}
description={""}>
{plugin.namespace} / {plugin.id}
</Checkbox>
);
})}
</div>
);
});