diff options
| author | MohamedBassem <me@mbassem.com> | 2024-03-11 12:24:51 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-03-11 12:33:31 +0000 |
| commit | c87db85815d84ddf907d0a1d26226a2ab911181b (patch) | |
| tree | c909031a7c9b525871fc8938e98c38da4741bde9 /packages/mobile/lib/settings.ts | |
| parent | 999ed977a588b2c3b2055f18db4218d77882a1a1 (diff) | |
| download | karakeep-c87db85815d84ddf907d0a1d26226a2ab911181b.tar.zst | |
mobile: An ugly yet functional signin workflow
Diffstat (limited to 'packages/mobile/lib/settings.ts')
| -rw-r--r-- | packages/mobile/lib/settings.ts | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/packages/mobile/lib/settings.ts b/packages/mobile/lib/settings.ts index 85296cfa..21f40528 100644 --- a/packages/mobile/lib/settings.ts +++ b/packages/mobile/lib/settings.ts @@ -1,33 +1,23 @@ import * as SecureStore from "expo-secure-store"; -import { useEffect, useState } from "react"; + +import { useStorageState } from "./storage-state"; const SETTING_NAME = "settings"; export type Settings = { - apiKey: string; + apiKey?: string; address: string; }; export default function useAppSettings() { - const [settings, setSettings] = useState<Settings>({ - apiKey: "", - address: "", - }); - - useEffect(() => { - SecureStore.setItemAsync(SETTING_NAME, JSON.stringify(settings)); - }, [settings]); + let [[isLoading, settings], setSettings] = + useStorageState<Settings>(SETTING_NAME); - useEffect(() => { - SecureStore.getItemAsync(SETTING_NAME).then((val) => { - if (!val) { - return; - } - setSettings(JSON.parse(val)); - }); - }, []); + settings ||= { + address: "https://demo.hoarder.app", + }; - return { settings, setSettings }; + return { settings, setSettings, isLoading }; } export async function getAppSettings() { |
