1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-23 03:36:18 +02:00
metamask-extension/ui/components/app/permissions-connect-header/permissions-connect-header.component.js

100 lines
2.4 KiB
JavaScript
Raw Normal View History

import PropTypes from 'prop-types';
import React, { Component } from 'react';
import SiteOrigin from '../../ui/site-origin';
import Box from '../../ui/box';
import {
FLEX_DIRECTION,
JUSTIFY_CONTENT,
} from '../../../helpers/constants/design-system';
///: BEGIN:ONLY_INCLUDE_IN(flask)
import SnapsAuthorshipPill from '../flask/snaps-authorship-pill';
///: END:ONLY_INCLUDE_IN
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
export default class PermissionsConnectHeader extends Component {
///: BEGIN:ONLY_INCLUDE_IN(flask)
static contextTypes = {
t: PropTypes.func,
};
///: END:ONLY_INCLUDE_IN
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
static propTypes = {
2021-12-15 00:54:46 +01:00
iconUrl: PropTypes.string,
iconName: PropTypes.string.isRequired,
siteOrigin: PropTypes.string.isRequired,
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
headerTitle: PropTypes.node,
boxProps: PropTypes.shape({ ...Box.propTypes }),
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
headerText: PropTypes.string,
///: BEGIN:ONLY_INCLUDE_IN(flask)
snapVersion: PropTypes.string,
isSnapInstall: PropTypes.bool,
///: END:ONLY_INCLUDE_IN
};
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
static defaultProps = {
2021-12-15 00:54:46 +01:00
iconUrl: null,
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
headerTitle: '',
headerText: '',
boxProps: {},
};
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
2020-11-03 00:41:28 +01:00
renderHeaderIcon() {
const {
iconUrl,
iconName,
siteOrigin,
///: BEGIN:ONLY_INCLUDE_IN(flask)
isSnapInstall,
///: END:ONLY_INCLUDE_IN
} = this.props;
///: BEGIN:ONLY_INCLUDE_IN(flask)
if (isSnapInstall) {
return null;
}
///: END:ONLY_INCLUDE_IN
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
return (
<div className="permissions-connect-header__icon">
<SiteOrigin
chip
siteOrigin={siteOrigin}
iconSrc={iconUrl}
name={iconName}
/>
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
</div>
);
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
}
2020-11-03 00:41:28 +01:00
render() {
const {
boxProps,
headerTitle,
headerText,
///: BEGIN:ONLY_INCLUDE_IN(flask)
siteOrigin,
snapVersion,
isSnapInstall,
///: END:ONLY_INCLUDE_IN
} = this.props;
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
return (
<Box
className="permissions-connect-header"
flexDirection={FLEX_DIRECTION.COLUMN}
justifyContent={JUSTIFY_CONTENT.CENTER}
{...boxProps}
>
2020-11-03 00:41:28 +01:00
{this.renderHeaderIcon()}
<div className="permissions-connect-header__title">{headerTitle}</div>
{
///: BEGIN:ONLY_INCLUDE_IN(flask)
isSnapInstall && (
<SnapsAuthorshipPill snapId={siteOrigin} version={snapVersion} />
)
///: END:ONLY_INCLUDE_IN
}
2020-11-03 00:41:28 +01:00
<div className="permissions-connect-header__subtitle">{headerText}</div>
</Box>
);
Connect Screen Multi Select (#8078) * Add UI for selecting multiple accounts on the first permissions connect screen * Make accounts list scrollable on connect screen * Change title wording on connect screen to 'select your accounts' * Add select all tooltip to info circle on top of connect screen account list * Add security info footer to the first screen of the connect flow * Apply redesigns to page 2 of connect flow * Display number of accounts on connect flow second screen if there are multiple to connect * Update e2e tests for connect screen multi-select changes * Remove unused chooseAnAcount message * Fix styling/display of redirect elements on second page of connect flow * Assorted small fixes in permissions connect * Remove unnecessary tiny delays in spec files * Remove incorrect use of bem modified in choose-account * Remove unused locale * Use Set for managing selected accounts in choose-acount and permissions-connect componets * Compone! * Move connect flow header into a reusable component, and implement new header designs * Update locales and add missing locales * Improve permission list item design (second screen of connect flow) * Check box component improvements * Fixes in variables.scss * Simplfy code in selectAll of choose-account.component * Hide checkboxes on first pages on connect flow when there is only one account * Allow autofill of default new account modal text with right arrow * Disable next button on first screen of connect flow when no accounts selected * Improve choose-account/index.scss * Remove metamask secure graphic * Fix connect flow redirect screen * Fix connectToMultiple locale * Remove locales no longer used after connect flow multiple connect updates * Fix size of dapp icon on redirect screen of connect flow * Clean up choose-account code * Stop using placeholder in new-account-modal * Remove unused styles in permission-page-container/index.scss * Pass origin instead of site name to PermissionsConnectHeader in connect flow * Make iconName a required prop in permissions-connect-header * Show checkbox in cases where there is one account in the choose-account list * Do not render select all checkbox when only 1 list item, instead of just hiding it * Small cleanup in choose-account/index.scss
2020-04-02 11:09:53 +02:00
}
}