1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-30 16:18:07 +01:00
metamask-extension/ui/components/app/confirm-page-container/confirm-page-container-header/confirm-page-container-header.component.js
Thomas Huang c2218ad941
Continue rm enzyme, unit tests. (#15730)
* Convert Confirm Page Container test to tlr.

Add test ids to associated components.

* Convert Welcome component to tlr.

* Update ui/pages/first-time-flow/welcome/welcome.test.js

Co-authored-by: Ariella Vu <20778143+digiwand@users.noreply.github.com>

* Update ui/components/app/confirm-page-container/confirm-page-container-container.test.js

Co-authored-by: Ariella Vu <20778143+digiwand@users.noreply.github.com>

* Remove unsused, commented out, lines

Co-authored-by: Ariella Vu <20778143+digiwand@users.noreply.github.com>
2022-09-08 10:05:15 -07:00

80 lines
2.5 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import {
ENVIRONMENT_TYPE_POPUP,
ENVIRONMENT_TYPE_NOTIFICATION,
} from '../../../../../shared/constants/app';
import { getEnvironmentType } from '../../../../../app/scripts/lib/util';
import NetworkDisplay from '../../network-display';
import Identicon from '../../../ui/identicon';
import IconCaretLeft from '../../../ui/icon/icon-caret-left';
import { shortenAddress } from '../../../../helpers/utils/util';
import AccountMismatchWarning from '../../../ui/account-mismatch-warning/account-mismatch-warning.component';
import { useI18nContext } from '../../../../hooks/useI18nContext';
export default function ConfirmPageContainerHeader({
onEdit,
showEdit,
accountAddress,
showAccountInHeader,
children,
}) {
const t = useI18nContext();
const windowType = getEnvironmentType();
const isFullScreen =
windowType !== ENVIRONMENT_TYPE_NOTIFICATION &&
windowType !== ENVIRONMENT_TYPE_POPUP;
if (!showEdit && isFullScreen) {
return children;
}
return (
<div
className="confirm-page-container-header"
data-testid="header-container"
>
<div className="confirm-page-container-header__row">
{showAccountInHeader ? (
<div className="confirm-page-container-header__address-container">
<div className="confirm-page-container-header__address-identicon">
<Identicon address={accountAddress} diameter={24} />
</div>
<div
className="confirm-page-container-header__address"
data-testid="header-address"
>
{shortenAddress(accountAddress)}
</div>
<AccountMismatchWarning address={accountAddress} />
</div>
) : (
<div
className="confirm-page-container-header__back-button-container"
style={{
visibility: showEdit ? 'initial' : 'hidden',
}}
>
<IconCaretLeft />
<span
className="confirm-page-container-header__back-button"
onClick={() => onEdit()}
>
{t('edit')}
</span>
</div>
)}
{isFullScreen ? null : <NetworkDisplay />}
</div>
{children}
</div>
);
}
ConfirmPageContainerHeader.propTypes = {
accountAddress: PropTypes.string,
showAccountInHeader: PropTypes.bool,
showEdit: PropTypes.bool,
onEdit: PropTypes.func,
children: PropTypes.node,
};