diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts')
-rw-r--r-- | packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts b/packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts new file mode 100644 index 000000000..e322c6727 --- /dev/null +++ b/packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts @@ -0,0 +1,34 @@ +import { useEffect, useState } from "preact/hooks"; +import * as wxApi from "../wxApi"; + + +export interface BackupDeviceName { + name: string; + update: (s:string) => Promise<void> +} + + +export function useBackupDeviceName(): BackupDeviceName { + const [status, setStatus] = useState<BackupDeviceName>({ + name: '', + update: () => Promise.resolve() + }) + + useEffect(() => { + async function run() { + //create a first list of backup info by currency + const status = await wxApi.getBackupInfo() + + async function update(newName: string) { + await wxApi.setWalletDeviceId(newName) + setStatus(old => ({ ...old, name: newName })) + } + + setStatus({ name: status.deviceId, update }) + } + run() + }, []) + + return status +} + |