From 4b923c1dc70eaa4a3ca58d9e9f3218785b2fe919 Mon Sep 17 00:00:00 2001
From: marios <marios8543@gmail.com>
Date: Thu, 26 May 2022 04:00:18 +0300
Subject: display overhaul, compatibility with legacy plugins, fixes

---
 frontend/src/components/TitleView.tsx | 39 +++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 frontend/src/components/TitleView.tsx

(limited to 'frontend/src/components/TitleView.tsx')

diff --git a/frontend/src/components/TitleView.tsx b/frontend/src/components/TitleView.tsx
new file mode 100644
index 00000000..e0a8552f
--- /dev/null
+++ b/frontend/src/components/TitleView.tsx
@@ -0,0 +1,39 @@
+import { Button, staticClasses } from "decky-frontend-lib";
+import React from "react"
+import { FaArrowCircleLeft, FaShoppingBag } from "react-icons/fa"
+
+class TitleView extends React.Component<{}, { runningPlugin: string }> {
+    constructor() {
+        super({});
+        this.state = {
+            runningPlugin: ""
+        }
+    }
+
+    componentDidMount() {
+        window.__DeckyEvLoop.addEventListener("pluginOpen", (ev) => this.setState({ runningPlugin: ev.data }));
+        window.__DeckyEvLoop.addEventListener("pluginClose", (_) => this.setState({ runningPlugin: "" }));
+    }
+
+    private openPluginStore() {
+        fetch("http://127.0.0.1:1337/methods/open_plugin_store", {method: "POST"})
+    }
+
+    render() {
+        if (this.state.runningPlugin)
+            return <div className={staticClasses.Title}>
+                <Button bottomSeparator={false}  onClick={(_) => {
+                    window.__DeckyEvLoop.dispatchEvent(new Event("pluginClose"));
+                    this.setState({ runningPlugin: "" });
+                }}><FaArrowCircleLeft /></Button>
+                {this.state.runningPlugin}
+            </div>
+        else
+            return <div className={staticClasses.Title}>
+                    Plugins
+                    <Button bottomSeparator={false} onClick={ (_) => this.openPluginStore() }><FaShoppingBag /></Button>
+                </div>
+    }
+}
+
+export default TitleView;
\ No newline at end of file
-- 
cgit v1.2.3

