diff options
author | Sebastian <sebasjm@gmail.com> | 2022-12-15 17:11:24 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-12-15 17:11:24 -0300 |
commit | f93bd51499ed34844b666bf6d333227adf4368bf (patch) | |
tree | ed3cf0c38b7db54276436d1743a6085c94f71977 /packages/taler-wallet-webextension/src/hooks | |
parent | 8d8d71807df6b775e5b0335eb1b2526a56d42ac6 (diff) | |
download | wallet-core-f93bd51499ed34844b666bf6d333227adf4368bf.tar.xz |
wxApi from context and using the new testing sdk
Diffstat (limited to 'packages/taler-wallet-webextension/src/hooks')
6 files changed, 33 insertions, 24 deletions
diff --git a/packages/taler-wallet-webextension/src/hooks/useAutoOpenPermissions.ts b/packages/taler-wallet-webextension/src/hooks/useAutoOpenPermissions.ts index 3361394a4..1a48cdca7 100644 --- a/packages/taler-wallet-webextension/src/hooks/useAutoOpenPermissions.ts +++ b/packages/taler-wallet-webextension/src/hooks/useAutoOpenPermissions.ts @@ -16,22 +16,23 @@ import { TalerError } from "@gnu-taler/taler-wallet-core"; import { useEffect, useState } from "preact/hooks"; +import { useBackendContext } from "../context/backend.js"; import { ToggleHandler } from "../mui/handlers.js"; import { platform } from "../platform/api.js"; -import { wxApi } from "../wxApi.js"; export function useAutoOpenPermissions(): ToggleHandler { + const api = useBackendContext(); const [enabled, setEnabled] = useState(false); const [error, setError] = useState<TalerError | undefined>(); const toggle = async (): Promise<void> => { - return handleAutoOpenPerm(enabled, setEnabled).catch((e) => { + return handleAutoOpenPerm(enabled, setEnabled, api.background).catch((e) => { setError(TalerError.fromException(e)); }); }; useEffect(() => { async function getValue(): Promise<void> { - const res = await wxApi.background.containsHeaderListener(); + const res = await api.background.containsHeaderListener(); setEnabled(res.newValue); } getValue(); @@ -48,6 +49,7 @@ export function useAutoOpenPermissions(): ToggleHandler { async function handleAutoOpenPerm( isEnabled: boolean, onChange: (value: boolean) => void, + background: ReturnType<typeof useBackendContext>["background"], ): Promise<void> { if (!isEnabled) { // We set permissions here, since apparently FF wants this to be done @@ -59,11 +61,11 @@ async function handleAutoOpenPerm( onChange(false); throw lastError; } - const res = await wxApi.background.toggleHeaderListener(granted); + const res = await background.toggleHeaderListener(granted); onChange(res.newValue); } else { try { - await wxApi.background + await background .toggleHeaderListener(false) .then((r) => onChange(r.newValue)); } catch (e) { diff --git a/packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts b/packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts index be81b7d7d..585a643a9 100644 --- a/packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts +++ b/packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts @@ -16,7 +16,7 @@ import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; import { useEffect, useState } from "preact/hooks"; -import { wxApi } from "../wxApi.js"; +import { useBackendContext } from "../context/backend.js"; export interface BackupDeviceName { name: string; @@ -28,17 +28,18 @@ export function useBackupDeviceName(): BackupDeviceName { name: "", update: () => Promise.resolve(), }); + const api = useBackendContext() useEffect(() => { async function run(): Promise<void> { //create a first list of backup info by currency - const status = await wxApi.wallet.call( + const status = await api.wallet.call( WalletApiOperation.GetBackupInfo, {}, ); async function update(newName: string): Promise<void> { - await wxApi.wallet.call(WalletApiOperation.SetWalletDeviceId, { + await api.wallet.call(WalletApiOperation.SetWalletDeviceId, { walletDeviceId: newName, }); setStatus((old) => ({ ...old, name: newName })); diff --git a/packages/taler-wallet-webextension/src/hooks/useClipboardPermissions.ts b/packages/taler-wallet-webextension/src/hooks/useClipboardPermissions.ts index 9b7d46ba7..649def599 100644 --- a/packages/taler-wallet-webextension/src/hooks/useClipboardPermissions.ts +++ b/packages/taler-wallet-webextension/src/hooks/useClipboardPermissions.ts @@ -16,22 +16,24 @@ import { TalerError } from "@gnu-taler/taler-wallet-core"; import { useEffect, useState } from "preact/hooks"; +import { useBackendContext } from "../context/backend.js"; import { ToggleHandler } from "../mui/handlers.js"; import { platform } from "../platform/api.js"; -import { wxApi } from "../wxApi.js"; export function useClipboardPermissions(): ToggleHandler { const [enabled, setEnabled] = useState(false); const [error, setError] = useState<TalerError | undefined>(); + const api = useBackendContext() + const toggle = async (): Promise<void> => { - return handleClipboardPerm(enabled, setEnabled).catch((e) => { + return handleClipboardPerm(enabled, setEnabled, api.background).catch((e) => { setError(TalerError.fromException(e)); }); }; useEffect(() => { async function getValue(): Promise<void> { - const res = await wxApi.background.containsHeaderListener(); + const res = await api.background.containsHeaderListener(); setEnabled(res.newValue); } getValue(); @@ -49,6 +51,7 @@ export function useClipboardPermissions(): ToggleHandler { async function handleClipboardPerm( isEnabled: boolean, onChange: (value: boolean) => void, + background: ReturnType<typeof useBackendContext>["background"], ): Promise<void> { if (!isEnabled) { // We set permissions here, since apparently FF wants this to be done @@ -62,11 +65,10 @@ async function handleClipboardPerm( onChange(false); throw lastError; } - // const res = await wxApi.toggleHeaderListener(granted); onChange(granted); } else { try { - await wxApi.background + await background .toggleHeaderListener(false) .then((r) => onChange(r.newValue)); } catch (e) { diff --git a/packages/taler-wallet-webextension/src/hooks/useDiagnostics.ts b/packages/taler-wallet-webextension/src/hooks/useDiagnostics.ts index a8564fddb..1f36ca6c0 100644 --- a/packages/taler-wallet-webextension/src/hooks/useDiagnostics.ts +++ b/packages/taler-wallet-webextension/src/hooks/useDiagnostics.ts @@ -16,10 +16,11 @@ import { WalletDiagnostics } from "@gnu-taler/taler-util"; import { useEffect, useState } from "preact/hooks"; -import { wxApi } from "../wxApi.js"; +import { useBackendContext } from "../context/backend.js"; export function useDiagnostics(): [WalletDiagnostics | undefined, boolean] { const [timedOut, setTimedOut] = useState(false); + const api = useBackendContext(); const [diagnostics, setDiagnostics] = useState<WalletDiagnostics | undefined>( undefined, ); @@ -33,7 +34,7 @@ export function useDiagnostics(): [WalletDiagnostics | undefined, boolean] { } }, 1000); const doFetch = async (): Promise<void> => { - const d = await wxApi.background.getDiagnostics(); + const d = await api.background.getDiagnostics(); gotDiagnostics = true; setDiagnostics(d); }; diff --git a/packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts b/packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts index e6473d1ec..ca2054931 100644 --- a/packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts +++ b/packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts @@ -16,7 +16,7 @@ import { ProviderInfo, WalletApiOperation } from "@gnu-taler/taler-wallet-core"; import { useEffect, useState } from "preact/hooks"; -import { wxApi } from "../wxApi.js"; +import { useBackendContext } from "../context/backend.js"; export interface ProviderStatus { info?: ProviderInfo; @@ -26,11 +26,11 @@ export interface ProviderStatus { export function useProviderStatus(url: string): ProviderStatus | undefined { const [status, setStatus] = useState<ProviderStatus | undefined>(undefined); - + const api = useBackendContext(); useEffect(() => { async function run(): Promise<void> { //create a first list of backup info by currency - const status = await wxApi.wallet.call( + const status = await api.wallet.call( WalletApiOperation.GetBackupInfo, {}, ); @@ -42,7 +42,7 @@ export function useProviderStatus(url: string): ProviderStatus | undefined { async function sync(): Promise<void> { if (info) { - await wxApi.wallet.call(WalletApiOperation.RunBackupCycle, { + await api.wallet.call(WalletApiOperation.RunBackupCycle, { providers: [info.syncProviderBaseUrl], }); } @@ -50,7 +50,7 @@ export function useProviderStatus(url: string): ProviderStatus | undefined { async function remove(): Promise<void> { if (info) { - await wxApi.wallet.call(WalletApiOperation.RemoveBackupProvider, { + await api.wallet.call(WalletApiOperation.RemoveBackupProvider, { provider: info.syncProviderBaseUrl, }); } diff --git a/packages/taler-wallet-webextension/src/hooks/useWalletDevMode.ts b/packages/taler-wallet-webextension/src/hooks/useWalletDevMode.ts index d5743eb2e..6ae55da61 100644 --- a/packages/taler-wallet-webextension/src/hooks/useWalletDevMode.ts +++ b/packages/taler-wallet-webextension/src/hooks/useWalletDevMode.ts @@ -15,22 +15,24 @@ */ import { useState, useEffect } from "preact/hooks"; -import { wxApi } from "../wxApi.js"; import { ToggleHandler } from "../mui/handlers.js"; import { TalerError, WalletApiOperation } from "@gnu-taler/taler-wallet-core"; +import { useBackendContext } from "../context/backend.js"; export function useWalletDevMode(): ToggleHandler { const [enabled, setEnabled] = useState<undefined | boolean>(undefined); const [error, setError] = useState<TalerError | undefined>(); + const api = useBackendContext(); + const toggle = async (): Promise<void> => { - return handleOpen(enabled, setEnabled).catch((e) => { + return handleOpen(enabled, setEnabled, api).catch((e) => { setError(TalerError.fromException(e)); }); }; useEffect(() => { async function getValue(): Promise<void> { - const res = await wxApi.wallet.call(WalletApiOperation.GetVersion, {}); + const res = await api.wallet.call(WalletApiOperation.GetVersion, {}); setEnabled(res.devMode); } getValue(); @@ -47,9 +49,10 @@ export function useWalletDevMode(): ToggleHandler { async function handleOpen( currentValue: undefined | boolean, onChange: (value: boolean) => void, + api: ReturnType<typeof useBackendContext>, ): Promise<void> { const nextValue = !currentValue; - await wxApi.wallet.call(WalletApiOperation.SetDevMode, { + await api.wallet.call(WalletApiOperation.SetDevMode, { devModeEnabled: nextValue, }); onChange(nextValue); |