mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 18:00:18 +01:00
3aa5b7d362
* refactor: use new importaccount from keyring controller * Update LavaMoat policies * Update LavaMoat policies * Update LavaMoat policies --------- Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
import PropTypes from 'prop-types';
|
|
import React, { useState } from 'react';
|
|
import { useSelector } from 'react-redux';
|
|
import {
|
|
FormTextField,
|
|
TEXT_FIELD_SIZES,
|
|
TEXT_FIELD_TYPES,
|
|
} from '../../component-library';
|
|
import { useI18nContext } from '../../../hooks/useI18nContext';
|
|
import BottomButtons from './bottom-buttons';
|
|
|
|
PrivateKeyImportView.propTypes = {
|
|
importAccountFunc: PropTypes.func.isRequired,
|
|
onActionComplete: PropTypes.func.isRequired,
|
|
};
|
|
|
|
export default function PrivateKeyImportView({
|
|
importAccountFunc,
|
|
onActionComplete,
|
|
}) {
|
|
const t = useI18nContext();
|
|
const [privateKey, setPrivateKey] = useState('');
|
|
|
|
const warning = useSelector((state) => state.appState.warning);
|
|
|
|
function handleKeyPress(event) {
|
|
if (privateKey !== '' && event.key === 'Enter') {
|
|
event.preventDefault();
|
|
_importAccountFunc();
|
|
}
|
|
}
|
|
|
|
function _importAccountFunc() {
|
|
importAccountFunc('privateKey', [privateKey]);
|
|
}
|
|
|
|
return (
|
|
<>
|
|
<FormTextField
|
|
id="private-key-box"
|
|
size={TEXT_FIELD_SIZES.LARGE}
|
|
autoFocus
|
|
type={TEXT_FIELD_TYPES.PASSWORD}
|
|
helpText={warning}
|
|
error
|
|
label={t('pastePrivateKey')}
|
|
value={privateKey}
|
|
onChange={(event) => setPrivateKey(event.target.value)}
|
|
inputProps={{
|
|
onKeyPress: handleKeyPress,
|
|
}}
|
|
marginBottom={4}
|
|
/>
|
|
|
|
<BottomButtons
|
|
importAccountFunc={_importAccountFunc}
|
|
isPrimaryDisabled={privateKey === ''}
|
|
onActionComplete={onActionComplete}
|
|
/>
|
|
</>
|
|
);
|
|
}
|