diff options
author | Sebastian <sebasjm@gmail.com> | 2022-09-12 14:28:53 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-09-12 14:28:53 -0300 |
commit | ad63d4c0e1ab249362e1f684ac9dbe5fae2ef34e (patch) | |
tree | dfc38c13a23e45f4916071c76e26049a57ebd63b /packages/taler-wallet-webextension/src/wallet | |
parent | 27201416c7d234361507e6055ce7ed42c11c650e (diff) | |
download | wallet-core-ad63d4c0e1ab249362e1f684ac9dbe5fae2ef34e.tar.xz |
add clipboard perms
Diffstat (limited to 'packages/taler-wallet-webextension/src/wallet')
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 |