From c87db85815d84ddf907d0a1d26226a2ab911181b Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Mon, 11 Mar 2024 12:24:51 +0000 Subject: mobile: An ugly yet functional signin workflow --- packages/mobile/lib/settings.ts | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) (limited to 'packages/mobile/lib/settings.ts') 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({ - apiKey: "", - address: "", - }); - - useEffect(() => { - SecureStore.setItemAsync(SETTING_NAME, JSON.stringify(settings)); - }, [settings]); + let [[isLoading, settings], setSettings] = + useStorageState(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() { -- cgit v1.2.3-70-g09d2