diff --git a/packages/browser-extension/src/OptionsPage.tsx b/packages/browser-extension/src/OptionsPage.tsx index e3a34bd9..11a1a76d 100644 --- a/packages/browser-extension/src/OptionsPage.tsx +++ b/packages/browser-extension/src/OptionsPage.tsx @@ -1,4 +1,4 @@ -import { useRef } from "react"; +import { useRef, useState } from "react"; import usePluginSettings from "./settings"; export default function OptionsPage() { @@ -7,35 +7,51 @@ export default function OptionsPage() { const apiKeyRef = useRef(null); const addressRef = useRef(null); + const [isSaved, setIsSaved] = useState(false); + const [error, setError] = useState(null); + const onSave = () => { + if (apiKeyRef.current?.value == "") { + setError("API Key can't be empty"); + return; + } + if (addressRef.current?.value == "") { + setError("Server addres can't be empty"); + return; + } setSettings({ apiKey: apiKeyRef.current?.value || "", - address: addressRef.current?.value || "", + address: addressRef.current?.value || "https://demo.hoarder.app", }); + setTimeout(() => { + setIsSaved(false); + }, 2000); + setIsSaved(true); }; return (
Settings
-
- +

{error}

+
+
-
- +
+
); diff --git a/packages/browser-extension/src/SavePage.tsx b/packages/browser-extension/src/SavePage.tsx index 2de19def..955cc7cb 100644 --- a/packages/browser-extension/src/SavePage.tsx +++ b/packages/browser-extension/src/SavePage.tsx @@ -1,5 +1,6 @@ import { useEffect, useState } from "react"; import { Settings } from "./settings"; +import Spinner from "./Spinner"; export default function SavePage({ settings }: { settings: Settings }) { const [loading, setLoading] = useState(true); @@ -52,12 +53,16 @@ export default function SavePage({ settings }: { settings: Settings }) { }, [settings]); if (loading) { - return
Loading ...
; + return ( +
+ +
+ ); } if (error) { return
{error} ...
; } - return
SAVED!
; + return
Bookmark Saved
; } diff --git a/packages/browser-extension/src/Spinner.tsx b/packages/browser-extension/src/Spinner.tsx new file mode 100644 index 00000000..9fd8839b --- /dev/null +++ b/packages/browser-extension/src/Spinner.tsx @@ -0,0 +1,18 @@ +export default function Spinner() { + return ( + + + + ); +}