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..e517c090be9 --- /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 && (