aboutsummaryrefslogtreecommitdiffstats
path: root/packages/browser-extension/src/SettingsPage.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-02-12 20:50:12 +0000
committerMohamedBassem <me@mbassem.com>2024-02-12 20:50:12 +0000
commit6e6d2c3cbc860d0024e9631b01eeef55b47933a5 (patch)
tree33cf443237fcc757f8f22436f861652d369d6330 /packages/browser-extension/src/SettingsPage.tsx
parente2bdccd483677cd60a92f4b0308bd2e4a0c02bfb (diff)
downloadkarakeep-6e6d2c3cbc860d0024e9631b01eeef55b47933a5.tar.zst
WIP: Implement saving page functionality in browser extension
Diffstat (limited to 'packages/browser-extension/src/SettingsPage.tsx')
-rw-r--r--packages/browser-extension/src/SettingsPage.tsx53
1 files changed, 53 insertions, 0 deletions
diff --git a/packages/browser-extension/src/SettingsPage.tsx b/packages/browser-extension/src/SettingsPage.tsx
new file mode 100644
index 00000000..bae870ac
--- /dev/null
+++ b/packages/browser-extension/src/SettingsPage.tsx
@@ -0,0 +1,53 @@
+import { useRef } from "react";
+import usePluginSettings from "./settings";
+import { useNavigate } from "react-router-dom";
+
+export default function SettingsPage() {
+ const navigate = useNavigate();
+ const [settings, setSettings, _1, _2, _3] = usePluginSettings();
+
+ const apiKeyRef = useRef<HTMLInputElement>(null);
+ const addressRef = useRef<HTMLInputElement>(null);
+
+ const onSave = () => {
+ setSettings({
+ apiKey: apiKeyRef.current?.value || "",
+ address: addressRef.current?.value || "",
+ });
+ };
+
+ return (
+ <div className="flex flex-col space-y-2">
+ <span className="text-lg">Settings</span>
+ <hr />
+ <div className="flex space-x-2 pt-2">
+ <label className="m-auto h-full">API Key</label>
+ <input
+ ref={apiKeyRef}
+ defaultValue={settings.apiKey}
+ className="h-8 flex-1 rounded-lg border border-gray-300 p-2"
+ />
+ </div>
+ <div className="flex space-x-2">
+ <label className="m-auto h-full">Server Address</label>
+ <input
+ ref={addressRef}
+ defaultValue={settings.address}
+ className="h-8 flex-1 rounded-lg border border-gray-300 p-2"
+ />
+ </div>
+ <button
+ className="rounded-lg border border-gray-200"
+ onClick={onSave}
+ >
+ Save
+ </button>
+ <button
+ className="rounded-lg border border-gray-200"
+ onClick={() => navigate("/")}
+ >
+ Back
+ </button>
+ </div>
+ );
+}