summaryrefslogtreecommitdiff
path: root/packages/demobank-ui/src/hooks/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/demobank-ui/src/hooks/index.ts')
-rw-r--r--packages/demobank-ui/src/hooks/index.ts40
1 files changed, 11 insertions, 29 deletions
diff --git a/packages/demobank-ui/src/hooks/index.ts b/packages/demobank-ui/src/hooks/index.ts
index 263b53e1d..99da9e679 100644
--- a/packages/demobank-ui/src/hooks/index.ts
+++ b/packages/demobank-ui/src/hooks/index.ts
@@ -20,10 +20,7 @@
*/
import { StateUpdater } from "preact/hooks";
-import {
- useLocalStorage,
- useNotNullLocalStorage,
-} from "@gnu-taler/web-util/lib/index.browser";
+import { useLocalStorage } from "@gnu-taler/web-util/lib/index.browser";
export type ValueOrFunction<T> = T | ((p: T) => T);
const calculateRootPath = () => {
@@ -37,38 +34,23 @@ const calculateRootPath = () => {
export function useBackendURL(
url?: string,
): [string, boolean, StateUpdater<string>, () => void] {
- const [value, setter] = useNotNullLocalStorage(
+ const { value, update: setter } = useLocalStorage(
"backend-url",
url || calculateRootPath(),
);
- const [triedToLog, setTriedToLog] = useLocalStorage("tried-login");
+
+ const {
+ value: triedToLog,
+ update: setTriedToLog,
+ reset: resetBackend,
+ } = useLocalStorage("tried-login");
const checkedSetter = (v: ValueOrFunction<string>) => {
setTriedToLog("yes");
- return setter((p) => (v instanceof Function ? v(p) : v).replace(/\/$/, ""));
+ const computedValue =
+ v instanceof Function ? v(value) : v.replace(/\/$/, "");
+ return setter(computedValue);
};
- const resetBackend = () => {
- setTriedToLog(undefined);
- };
return [value, !!triedToLog, checkedSetter, resetBackend];
}
-
-export function useBackendDefaultToken(): [
- string | undefined,
- StateUpdater<string | undefined>,
-] {
- return useLocalStorage("backend-token");
-}
-
-export function useBackendInstanceToken(
- id: string,
-): [string | undefined, StateUpdater<string | undefined>] {
- const [token, setToken] = useLocalStorage(`backend-token-${id}`);
- const [defaultToken, defaultSetToken] = useBackendDefaultToken();
-
- // instance named 'default' use the default token
- if (id === "default") return [defaultToken, defaultSetToken];
-
- return [token, setToken];
-}