mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 01:47:00 +01:00
parent
9fa1e42031
commit
16d741348e
@ -1638,6 +1638,42 @@
|
|||||||
"onboardingImportWallet": {
|
"onboardingImportWallet": {
|
||||||
"message": "Import an existing wallet"
|
"message": "Import an existing wallet"
|
||||||
},
|
},
|
||||||
|
"onboardingPinExtensionBillboardAccess": {
|
||||||
|
"message": "Full Access"
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionBillboardDescription": {
|
||||||
|
"message": "These extensions can see and change information"
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionBillboardDescription2": {
|
||||||
|
"message": "on this site."
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionBillboardTitle": {
|
||||||
|
"message": "Extensions"
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionChrome": {
|
||||||
|
"message": "Click the browser extension icon"
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionDescription": {
|
||||||
|
"message": "Pin MetaMask on your browser so it's accessible and easy to view transaction confirmations."
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionDescription2": {
|
||||||
|
"message": "You can open MetaMask by clicking on the extension and access your wallet with 1 click."
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionDescription3": {
|
||||||
|
"message": "Click browser extension icon to access it instantly"
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionLabel": {
|
||||||
|
"message": "Pin MetaMask"
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionStep1": {
|
||||||
|
"message": "1"
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionStep2": {
|
||||||
|
"message": "2"
|
||||||
|
},
|
||||||
|
"onboardingPinExtensionTitle": {
|
||||||
|
"message": "Your MetaMask install is complete!"
|
||||||
|
},
|
||||||
"onboardingReturnNotice": {
|
"onboardingReturnNotice": {
|
||||||
"message": "\"$1\" will close this tab and direct back to $2",
|
"message": "\"$1\" will close this tab and direct back to $2",
|
||||||
"description": "Return the user to the site that initiated onboarding"
|
"description": "Return the user to the site that initiated onboarding"
|
||||||
|
1
app/images/onboarding-pin-browser.svg
Normal file
1
app/images/onboarding-pin-browser.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 1022 KiB |
@ -6,6 +6,7 @@
|
|||||||
@import 'creation-successful/index';
|
@import 'creation-successful/index';
|
||||||
@import 'welcome/index';
|
@import 'welcome/index';
|
||||||
@import 'import-srp/index';
|
@import 'import-srp/index';
|
||||||
|
@import 'pin-extension/index';
|
||||||
|
|
||||||
.onboarding-flow {
|
.onboarding-flow {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -13,6 +13,7 @@ import {
|
|||||||
ONBOARDING_PRIVACY_SETTINGS_ROUTE,
|
ONBOARDING_PRIVACY_SETTINGS_ROUTE,
|
||||||
ONBOARDING_COMPLETION_ROUTE,
|
ONBOARDING_COMPLETION_ROUTE,
|
||||||
ONBOARDING_IMPORT_WITH_SRP_ROUTE,
|
ONBOARDING_IMPORT_WITH_SRP_ROUTE,
|
||||||
|
ONBOARDING_PIN_EXTENSION_ROUTE,
|
||||||
} from '../../helpers/constants/routes';
|
} from '../../helpers/constants/routes';
|
||||||
import {
|
import {
|
||||||
getCompletedOnboarding,
|
getCompletedOnboarding,
|
||||||
@ -37,6 +38,7 @@ import PrivacySettings from './privacy-settings/privacy-settings';
|
|||||||
import CreationSuccessful from './creation-successful/creation-successful';
|
import CreationSuccessful from './creation-successful/creation-successful';
|
||||||
import OnboardingWelcome from './welcome/welcome';
|
import OnboardingWelcome from './welcome/welcome';
|
||||||
import ImportSRP from './import-srp/import-srp';
|
import ImportSRP from './import-srp/import-srp';
|
||||||
|
import OnboardingPinExtension from './pin-extension/pin-extension';
|
||||||
|
|
||||||
export default function OnboardingFlow() {
|
export default function OnboardingFlow() {
|
||||||
const [secretRecoveryPhrase, setSecretRecoveryPhrase] = useState('');
|
const [secretRecoveryPhrase, setSecretRecoveryPhrase] = useState('');
|
||||||
@ -54,7 +56,7 @@ export default function OnboardingFlow() {
|
|||||||
// For ONBOARDING_V2 dev purposes,
|
// For ONBOARDING_V2 dev purposes,
|
||||||
// Remove when ONBOARDING_V2 dev complete
|
// Remove when ONBOARDING_V2 dev complete
|
||||||
if (process.env.ONBOARDING_V2) {
|
if (process.env.ONBOARDING_V2) {
|
||||||
history.push(ONBOARDING_IMPORT_WITH_SRP_ROUTE);
|
history.push(ONBOARDING_PIN_EXTENSION_ROUTE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,6 +158,10 @@ export default function OnboardingFlow() {
|
|||||||
path={ONBOARDING_WELCOME_ROUTE}
|
path={ONBOARDING_WELCOME_ROUTE}
|
||||||
component={OnboardingWelcome}
|
component={OnboardingWelcome}
|
||||||
/>
|
/>
|
||||||
|
<Route
|
||||||
|
path={ONBOARDING_PIN_EXTENSION_ROUTE}
|
||||||
|
component={OnboardingPinExtension}
|
||||||
|
/>
|
||||||
<Route exact path="*" component={OnboardingFlowSwitch} />
|
<Route exact path="*" component={OnboardingFlowSwitch} />
|
||||||
</Switch>
|
</Switch>
|
||||||
</div>
|
</div>
|
||||||
|
23
ui/pages/onboarding-flow/pin-extension/index.scss
Normal file
23
ui/pages/onboarding-flow/pin-extension/index.scss
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
.onboarding-pin-extension {
|
||||||
|
max-width: 800px;
|
||||||
|
|
||||||
|
.control-dots .dot {
|
||||||
|
background: $ui-2;
|
||||||
|
box-shadow: none;
|
||||||
|
|
||||||
|
&.selected {
|
||||||
|
background: $ui-4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__diagram {
|
||||||
|
margin: 24px auto;
|
||||||
|
width: 799px;
|
||||||
|
height: 320px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__buttons {
|
||||||
|
max-width: 50%;
|
||||||
|
margin: 40px auto 0 auto;
|
||||||
|
}
|
||||||
|
}
|
597
ui/pages/onboarding-flow/pin-extension/pin-billboard.js
Normal file
597
ui/pages/onboarding-flow/pin-extension/pin-billboard.js
Normal file
File diff suppressed because one or more lines are too long
75
ui/pages/onboarding-flow/pin-extension/pin-extension.js
Normal file
75
ui/pages/onboarding-flow/pin-extension/pin-extension.js
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
import React, { useState } from 'react';
|
||||||
|
import { useHistory } from 'react-router-dom';
|
||||||
|
|
||||||
|
import { Carousel } from 'react-responsive-carousel';
|
||||||
|
import Typography from '../../../components/ui/typography/typography';
|
||||||
|
import { useI18nContext } from '../../../hooks/useI18nContext';
|
||||||
|
import Button from '../../../components/ui/button';
|
||||||
|
import {
|
||||||
|
TYPOGRAPHY,
|
||||||
|
FONT_WEIGHT,
|
||||||
|
TEXT_ALIGN,
|
||||||
|
} from '../../../helpers/constants/design-system';
|
||||||
|
import { DEFAULT_ROUTE } from '../../../helpers/constants/routes';
|
||||||
|
import OnboardingPinBillboard from './pin-billboard';
|
||||||
|
|
||||||
|
export default function OnboardingPinExtension() {
|
||||||
|
const t = useI18nContext();
|
||||||
|
const [selectedIndex, setSelectedIndex] = useState(0);
|
||||||
|
const history = useHistory();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="onboarding-pin-extension">
|
||||||
|
<Typography
|
||||||
|
variant={TYPOGRAPHY.H2}
|
||||||
|
align={TEXT_ALIGN.CENTER}
|
||||||
|
fontWeight={FONT_WEIGHT.BOLD}
|
||||||
|
>
|
||||||
|
{t('onboardingPinExtensionTitle')}
|
||||||
|
</Typography>
|
||||||
|
<Carousel
|
||||||
|
selectedItem={selectedIndex}
|
||||||
|
showThumbs={false}
|
||||||
|
showStatus={false}
|
||||||
|
showArrows={false}
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<Typography align={TEXT_ALIGN.CENTER}>
|
||||||
|
{t('onboardingPinExtensionDescription')}
|
||||||
|
</Typography>
|
||||||
|
<div className="onboarding-pin-extension__diagram">
|
||||||
|
<OnboardingPinBillboard />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Typography align={TEXT_ALIGN.CENTER}>
|
||||||
|
{t('onboardingPinExtensionDescription2')}
|
||||||
|
</Typography>
|
||||||
|
<Typography align={TEXT_ALIGN.CENTER}>
|
||||||
|
{t('onboardingPinExtensionDescription3')}
|
||||||
|
</Typography>
|
||||||
|
<img
|
||||||
|
src="/images/onboarding-pin-browser.svg"
|
||||||
|
width="799"
|
||||||
|
height="320"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Carousel>
|
||||||
|
<div className="onboarding-pin-extension__buttons">
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
if (selectedIndex === 0) {
|
||||||
|
setSelectedIndex(1);
|
||||||
|
} else {
|
||||||
|
history.push(DEFAULT_ROUTE);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{selectedIndex === 0 ? t('next') : t('done')}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import OnboardingPinExtension from './pin-extension';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'Onboarding',
|
||||||
|
id: __filename,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const OnboardingComponent = () => <OnboardingPinExtension />;
|
Loading…
Reference in New Issue
Block a user