aboutsummaryrefslogtreecommitdiffstats
path: root/apps/browser-extension/src/Layout.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-13 21:43:44 +0000
committerMohamed Bassem <me@mbassem.com>2024-03-14 16:40:45 +0000
commit04572a8e5081b1e4871e273cde9dbaaa44c52fe0 (patch)
tree8e993acb732a50d1306d4d6953df96c165c57f57 /apps/browser-extension/src/Layout.tsx
parent2df08ed08c065e8b91bc8df0266bd4bcbb062be4 (diff)
downloadkarakeep-04572a8e5081b1e4871e273cde9dbaaa44c52fe0.tar.zst
structure: Create apps dir and copy tooling dir from t3-turbo repo
Diffstat (limited to 'apps/browser-extension/src/Layout.tsx')
-rw-r--r--apps/browser-extension/src/Layout.tsx51
1 files changed, 51 insertions, 0 deletions
diff --git a/apps/browser-extension/src/Layout.tsx b/apps/browser-extension/src/Layout.tsx
new file mode 100644
index 00000000..f8279a18
--- /dev/null
+++ b/apps/browser-extension/src/Layout.tsx
@@ -0,0 +1,51 @@
+import { Outlet } from "react-router-dom";
+import { Home, RefreshCw, Settings, X } from "lucide-react";
+import { useNavigate } from "react-router-dom";
+import usePluginSettings from "./utils/settings";
+
+export default function Layout() {
+ const navigate = useNavigate();
+ const { settings, isPending: isInit } = usePluginSettings();
+ if (!isInit) {
+ return <div className="p-4">Loading ... </div>;
+ }
+
+ if (!settings.apiKey || !settings.address) {
+ navigate("/notconfigured");
+ return;
+ }
+
+ return (
+ <div className="flex flex-col space-y-2">
+ <div className="rounded-md bg-yellow-100 p-4">
+ <Outlet />
+ </div>
+ <hr />
+ <div className="flex justify-between space-x-3">
+ <div className="my-auto">
+ <a
+ className="flex gap-2 text-black"
+ target="_blank"
+ href={`${settings.address}/dashboard/bookmarks`}
+ >
+ <Home />
+ <span className="text-md my-auto">Bookmarks</span>
+ </a>
+ </div>
+ <div className="flex space-x-3">
+ {process.env.NODE_ENV == "development" && (
+ <button onClick={() => navigate(0)}>
+ <RefreshCw className="w-4" />
+ </button>
+ )}
+ <button onClick={() => navigate("/options")}>
+ <Settings className="w-4" />
+ </button>
+ <button onClick={() => window.close()}>
+ <X className="w-4" />
+ </button>
+ </div>
+ </div>
+ </div>
+ );
+}