From 7958ea14337cca6809f58da8a03ceeeb6f447f71 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Mon, 3 Jun 2019 14:32:06 +0200 Subject: [PATCH 1/2] Welcome overview --- .../src/Popup/Authorize/Request.tsx | 3 +- packages/extension-ui/src/Popup/Welcome.tsx | 41 +++++++++++++++++++ packages/extension-ui/src/Popup/index.tsx | 16 +++++--- 3 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 packages/extension-ui/src/Popup/Welcome.tsx diff --git a/packages/extension-ui/src/Popup/Authorize/Request.tsx b/packages/extension-ui/src/Popup/Authorize/Request.tsx index 65f7e2b4330..5889b46174f 100644 --- a/packages/extension-ui/src/Popup/Authorize/Request.tsx +++ b/packages/extension-ui/src/Popup/Authorize/Request.tsx @@ -37,7 +37,8 @@ function Request ({ authId, className, isFirst, onAction, request: { origin }, u } + /> + } intro={
An application, identified as
{origin}
is requesting access from
{url}
.
} diff --git a/packages/extension-ui/src/Popup/Welcome.tsx b/packages/extension-ui/src/Popup/Welcome.tsx new file mode 100644 index 00000000000..8e02ff59e1a --- /dev/null +++ b/packages/extension-ui/src/Popup/Welcome.tsx @@ -0,0 +1,41 @@ +// Copyright 2019 @polkadot/extension-ui authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { OnActionFromCtx } from '../components/types'; + +import React from 'react'; + +import { Box, Button, Header, withOnAction } from '../components'; + +type Props = { + onAction: OnActionFromCtx +}; + +function Welcome ({ onAction }: Props) { + const onClick = (): void => { + window.localStorage.setItem('welcome_read', 'ok'); + onAction(); + }; + + return ( +
+
+ + Before we start, just a couple of notes regarding use - +
    +
  • We do not send any clicks, pageviews or events to a central server
  • +
  • We do not use any trackers or analytics
  • +
  • We don't collect keys, addresses or any information - your information never leaves this machine
  • +
+ ... we are not in the information collection business (even anonymized). +
+ ) +} + +export default withOnAction(Welcome); diff --git a/packages/extension-ui/src/Popup/index.tsx b/packages/extension-ui/src/Popup/index.tsx index 5ece9002ba7..20d73702147 100644 --- a/packages/extension-ui/src/Popup/index.tsx +++ b/packages/extension-ui/src/Popup/index.tsx @@ -17,6 +17,7 @@ import Create from './Create'; import Forget from './Forget'; import Import from './Import'; import Signing from './Signing'; +import Welcome from './Welcome'; type Props = {}; @@ -24,8 +25,11 @@ export default function Popup (props: Props) { const [accounts, setAccounts] = useState>(null); const [authRequests, setAuthRequests] = useState>(null); const [signRequests, setSignRequests] = useState>(null); + const [isWelcomeDone, setWelcomeDone] = useState(false); const onAction = (to?: string): void => { + setWelcomeDone(window.localStorage.getItem('welcome_read') === 'ok'); + // loads all accounts & requests (this is passed through to children to trigger changes) Promise .all([getAccounts(), getAuthRequests(), getSignRequests()]) @@ -46,11 +50,13 @@ export default function Popup (props: Props) { onAction(); }, []); - const Root = authRequests && authRequests.length - ? Authorize - : signRequests && signRequests.length - ? Signing - : Accounts; + const Root = isWelcomeDone + ? authRequests && authRequests.length + ? Authorize + : signRequests && signRequests.length + ? Signing + : Accounts + : Welcome; return ( {accounts && authRequests && signRequests && ( From a8d3d5c02ec8fc603a55ddbb9214cac25732c760 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Mon, 3 Jun 2019 14:36:50 +0200 Subject: [PATCH 2/2] Lint fixes --- packages/extension-ui/src/Popup/Welcome.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/extension-ui/src/Popup/Welcome.tsx b/packages/extension-ui/src/Popup/Welcome.tsx index 8e02ff59e1a..e517c090be9 100644 --- a/packages/extension-ui/src/Popup/Welcome.tsx +++ b/packages/extension-ui/src/Popup/Welcome.tsx @@ -35,7 +35,7 @@ function Welcome ({ onAction }: Props) { /> - ) + ); } export default withOnAction(Welcome);