1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 18:00:18 +01:00
metamask-extension/ui/components/multichain/import-account/private-key.js
Michele Esposito 3aa5b7d362
Use importAccountWithStrategy from core KeyringController (#19815)
* 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>
2023-08-17 09:11:51 +02:00

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}
/>
</>
);
}