aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wallet
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/wallet
parent27201416c7d234361507e6055ce7ed42c11c650e (diff)
downloadwallet-core-ad63d4c0e1ab249362e1f684ac9dbe5fae2ef34e.tar.xz
add clipboard perms
Diffstat (limited to 'packages/taler-wallet-webextension/src/wallet')
-rw-r--r--packages/taler-wallet-webextension/src/wallet/Settings.stories.tsx12
-rw-r--r--packages/taler-wallet-webextension/src/wallet/Settings.tsx47
-rw-r--r--packages/taler-wallet-webextension/src/wallet/Welcome.tsx4
3 files changed, 47 insertions, 16 deletions
diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.stories.tsx b/packages/taler-wallet-webextension/src/wallet/Settings.stories.tsx
index 9e85a9bed..d0707952f 100644
--- a/packages/taler-wallet-webextension/src/wallet/Settings.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Settings.stories.tsx
@@ -46,21 +46,24 @@ const version = {
export const AllOff = createExample(TestedComponent, {
deviceName: "this-is-the-device-name",
- permissionToggle: { value: false, button: {} },
+ autoOpenToggle: { value: false, button: {} },
+ clipboardToggle: { value: false, button: {} },
setDeviceName: () => Promise.resolve(),
...version,
});
export const OneChecked = createExample(TestedComponent, {
deviceName: "this-is-the-device-name",
- permissionToggle: { value: false, button: {} },
+ autoOpenToggle: { value: false, button: {} },
+ clipboardToggle: { value: false, button: {} },
setDeviceName: () => Promise.resolve(),
...version,
});
export const WithOneExchange = createExample(TestedComponent, {
deviceName: "this-is-the-device-name",
- permissionToggle: { value: false, button: {} },
+ autoOpenToggle: { value: false, button: {} },
+ clipboardToggle: { value: false, button: {} },
setDeviceName: () => Promise.resolve(),
knownExchanges: [
{
@@ -80,7 +83,8 @@ export const WithOneExchange = createExample(TestedComponent, {
export const WithExchangeInDifferentState = createExample(TestedComponent, {
deviceName: "this-is-the-device-name",
- permissionToggle: { value: false, button: {} },
+ autoOpenToggle: { value: false, button: {} },
+ clipboardToggle: { value: false, button: {} },
setDeviceName: () => Promise.resolve(),
knownExchanges: [
{
diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.tsx b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
index 4a520c3bb..5219bbb38 100644
--- a/packages/taler-wallet-webextension/src/wallet/Settings.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
@@ -33,17 +33,19 @@ import { useDevContext } from "../context/devContext.js";
import { useTranslationContext } from "../context/translation.js";
import { useAsyncAsHook } from "../hooks/useAsyncAsHook.js";
import { useBackupDeviceName } from "../hooks/useBackupDeviceName.js";
-import { useExtendedPermissions } from "../hooks/useExtendedPermissions.js";
+import { useAutoOpenPermissions } from "../hooks/useAutoOpenPermissions.js";
import { ToggleHandler } from "../mui/handlers.js";
import { Pages } from "../NavigationBar.js";
import { buildTermsOfServiceStatus } from "../utils/index.js";
import * as wxApi from "../wxApi.js";
import { platform } from "../platform/api.js";
+import { useClipboardPermissions } from "../hooks/useClipboardPermissions.js";
const GIT_HASH = typeof __GIT_HASH__ !== "undefined" ? __GIT_HASH__ : undefined;
export function SettingsPage(): VNode {
- const permissionToggle = useExtendedPermissions();
+ const autoOpenToggle = useAutoOpenPermissions();
+ const clipboardToggle = useClipboardPermissions();
const { devMode, toggleDevMode } = useDevContext();
const { name, update } = useBackupDeviceName();
const webex = platform.getWalletWebExVersion();
@@ -63,7 +65,8 @@ export function SettingsPage(): VNode {
knownExchanges={exchanges}
deviceName={name}
setDeviceName={update}
- permissionToggle={permissionToggle}
+ autoOpenToggle={autoOpenToggle}
+ clipboardToggle={clipboardToggle}
developerMode={devMode}
toggleDeveloperMode={toggleDevMode}
webexVersion={{
@@ -78,7 +81,8 @@ export function SettingsPage(): VNode {
export interface ViewProps {
deviceName: string;
setDeviceName: (s: string) => Promise<void>;
- permissionToggle: ToggleHandler;
+ autoOpenToggle: ToggleHandler;
+ clipboardToggle: ToggleHandler;
developerMode: boolean;
toggleDeveloperMode: () => Promise<void>;
knownExchanges: Array<ExchangeListItem>;
@@ -91,7 +95,8 @@ export interface ViewProps {
export function SettingsView({
knownExchanges,
- permissionToggle,
+ autoOpenToggle,
+ clipboardToggle,
developerMode,
coreVersion,
webexVersion,
@@ -102,10 +107,16 @@ export function SettingsView({
return (
<Fragment>
<section>
- {permissionToggle.button.error && (
+ {autoOpenToggle.button.error && (
<ErrorTalerOperation
title={<i18n.Translate>Could not toggle auto-open</i18n.Translate>}
- error={permissionToggle.button.error.errorDetail}
+ error={autoOpenToggle.button.error.errorDetail}
+ />
+ )}
+ {clipboardToggle.button.error && (
+ <ErrorTalerOperation
+ title={<i18n.Translate>Could not toggle clipboard</i18n.Translate>}
+ error={clipboardToggle.button.error.errorDetail}
/>
)}
<SubTitle>
@@ -117,15 +128,31 @@ export function SettingsView({
Automatically open wallet based on page content
</i18n.Translate>
}
- name="perm"
+ name="autoOpen"
+ description={
+ <i18n.Translate>
+ Enabling this option below will make using the wallet faster, but
+ requires more permissions from your browser.
+ </i18n.Translate>
+ }
+ enabled={autoOpenToggle.value!}
+ onToggle={autoOpenToggle.button.onClick!}
+ />
+ <Checkbox
+ label={
+ <i18n.Translate>
+ Automatically check clipboard for Taler URI
+ </i18n.Translate>
+ }
+ name="clipboard"
description={
<i18n.Translate>
Enabling this option below will make using the wallet faster, but
requires more permissions from your browser.
</i18n.Translate>
}
- enabled={permissionToggle.value!}
- onToggle={permissionToggle.button.onClick!}
+ enabled={clipboardToggle.value!}
+ onToggle={clipboardToggle.button.onClick!}
/>
<SubTitle>
diff --git a/packages/taler-wallet-webextension/src/wallet/Welcome.tsx b/packages/taler-wallet-webextension/src/wallet/Welcome.tsx
index 0f327640e..659a6c2cf 100644
--- a/packages/taler-wallet-webextension/src/wallet/Welcome.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Welcome.tsx
@@ -26,12 +26,12 @@ import { Checkbox } from "../components/Checkbox.js";
import { SubTitle, Title } from "../components/styled/index.js";
import { useTranslationContext } from "../context/translation.js";
import { useDiagnostics } from "../hooks/useDiagnostics.js";
-import { useExtendedPermissions } from "../hooks/useExtendedPermissions.js";
+import { useAutoOpenPermissions } from "../hooks/useAutoOpenPermissions.js";
import { ToggleHandler } from "../mui/handlers.js";
import { platform } from "../platform/api.js";
export function WelcomePage(): VNode {
- const permissionToggle = useExtendedPermissions();
+ const permissionToggle = useAutoOpenPermissions();
const [diagnostics, timedOut] = useDiagnostics();
return (
<View