aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.tsx
blob: f5c788cf677de856badc2422baaaee4c43279081 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { useState, useEffect } from "preact/hooks";
import * as wxApi from "../wxApi";
import { handleExtendedPerm } from "../wallet/welcome";


export function useExtendedPermissions(): [boolean, () => void] {
  const [enabled, setEnabled] = useState(false);

  const toggle = () => {
    setEnabled(v => !v);
    handleExtendedPerm(enabled).then(result => {
      setEnabled(result);
    });
  };

  useEffect(() => {
    async function getExtendedPermValue(): Promise<void> {
      const res = await wxApi.getExtendedPermissions();
      setEnabled(res.newValue);
    }
    getExtendedPermValue();
  }, []);
  return [enabled, toggle];
}