aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-09-12 14:28:53 -0300
committerSebastian <sebasjm@gmail.com>2022-09-12 14:28:53 -0300
commitad63d4c0e1ab249362e1f684ac9dbe5fae2ef34e (patch)
treedfc38c13a23e45f4916071c76e26049a57ebd63b /packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts
parent27201416c7d234361507e6055ce7ed42c11c650e (diff)
downloadwallet-core-ad63d4c0e1ab249362e1f684ac9dbe5fae2ef34e.tar.xz
add clipboard perms
Diffstat (limited to 'packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts')
-rw-r--r--packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts72
1 files changed, 0 insertions, 72 deletions
diff --git a/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts b/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts
deleted file mode 100644
index 06ae84593..000000000
--- a/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- This file is part of GNU Taler
- (C) 2022 Taler Systems S.A.
-
- GNU Taler is free software; you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation; either version 3, or (at your option) any later version.
-
- GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with
- GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
- */
-
-import { useState, useEffect } from "preact/hooks";
-import * as wxApi from "../wxApi.js";
-import { platform } from "../platform/api.js";
-import { ToggleHandler } from "../mui/handlers.js";
-import { TalerError } from "@gnu-taler/taler-wallet-core";
-
-export function useExtendedPermissions(): ToggleHandler {
- const [enabled, setEnabled] = useState(false);
- const [error, setError] = useState<TalerError | undefined>();
- const toggle = async (): Promise<void> => {
- return handleExtendedPerm(enabled, setEnabled).catch((e) => {
- setError(TalerError.fromException(e));
- });
- };
-
- useEffect(() => {
- async function getExtendedPermValue(): Promise<void> {
- const res = await wxApi.containsHeaderListener();
- setEnabled(res.newValue);
- }
- getExtendedPermValue();
- }, []);
- return {
- value: enabled,
- button: {
- onClick: toggle,
- error,
- },
- };
-}
-
-async function handleExtendedPerm(
- isEnabled: boolean,
- onChange: (value: boolean) => void,
-): Promise<void> {
- if (!isEnabled) {
- // We set permissions here, since apparently FF wants this to be done
- // as the result of an input event ...
- let granted: boolean;
- try {
- granted = await platform.getPermissionsApi().requestHostPermissions();
- } catch (lastError) {
- onChange(false);
- throw lastError;
- }
- const res = await wxApi.toggleHeaderListener(granted);
- onChange(res.newValue);
- } else {
- try {
- await wxApi.toggleHeaderListener(false).then((r) => onChange(r.newValue));
- } catch (e) {
- console.log(e);
- }
- }
- return;
-}