summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/hooks
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-12-15 17:11:24 -0300
committerSebastian <sebasjm@gmail.com>2022-12-15 17:11:24 -0300
commitf93bd51499ed34844b666bf6d333227adf4368bf (patch)
treeed3cf0c38b7db54276436d1743a6085c94f71977 /packages/taler-wallet-webextension/src/hooks
parent8d8d71807df6b775e5b0335eb1b2526a56d42ac6 (diff)
downloadwallet-core-f93bd51499ed34844b666bf6d333227adf4368bf.tar.gz
wallet-core-f93bd51499ed34844b666bf6d333227adf4368bf.tar.bz2
wallet-core-f93bd51499ed34844b666bf6d333227adf4368bf.zip
wxApi from context and using the new testing sdk
Diffstat (limited to 'packages/taler-wallet-webextension/src/hooks')
-rw-r--r--packages/taler-wallet-webextension/src/hooks/useAutoOpenPermissions.ts12
-rw-r--r--packages/taler-wallet-webextension/src/hooks/useBackupDeviceName.ts7
-rw-r--r--packages/taler-wallet-webextension/src/hooks/useClipboardPermissions.ts12
-rw-r--r--packages/taler-wallet-webextension/src/hooks/useDiagnostics.ts5
-rw-r--r--packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts10
-rw-r--r--packages/taler-wallet-webextension/src/hooks/useWalletDevMode.ts11
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);