import Identicon from "@polkadot/react-identicon"; import { formatAddress } from "../../../utils/format"; import CopyButton from "../CopyButton"; import Button from "../../atoms/Button"; import QRCode from "../../atoms/QRCode"; import { localizedStrings } from "../../../l10n/l10n"; import Dropdown from "../../atoms/Dropdown/Dropdown"; import DropdownItem from "../../atoms/Dropdown/DropdownItem"; import { faEllipsisV } from "@fortawesome/free-solid-svg-icons"; import { useState } from "react"; import Input from "../../atoms/Input"; import Form from "../../atoms/Form"; import Text from "../../atoms/Text"; import * as util from '@reef-chain/util-lib'; export interface Props { name?: string; address: string; evmAddress?: string; source?: string; isSelected?: boolean; showOptions?: boolean; onSelect?: (...args: any[]) => any; onRename?: (newName: string) => any; onExport?: (password: string) => any; onForget?: () => any; className?: string; isEvmClaimed?: boolean; } const Account = ({ name, address, evmAddress, source, isSelected, isEvmClaimed, showOptions, onSelect, onRename, onExport, onForget, className, }: Props): JSX.Element => { const [isOptionsDropdownOpen, setOptionsDropdown] = useState(false); const [isExportDropdownOpen, setExportDropdown] = useState(false); const [newName, setNewName] = useState(name); const [isEditingName, setEditingName] = useState(false); const [password, setPassword] = useState(""); const [submittedWithError, setSubmittedWithError] = useState(false); const openExportDropdown = () => { setExportDropdown(true); setOptionsDropdown(false); } const closeExportDropdown = () => { setExportDropdown(false); setPassword(""); } const onExportClick = () => { if (!password.length) { setSubmittedWithError(true); return; } onExport(password); closeExportDropdown(); }; return (
{isEditingName ? ( setNewName(e.target.value)} onBlur={() => { if (newName.length < 3) return; setEditingName(false); onRename && onRename(newName); }} error={ newName.length < 3 ? localizedStrings.error_short_name : undefined } /> ) : ( {newName} )} {!!source && source !== "reef" && ( {source} )}
{localizedStrings.native_address}: {formatAddress(address)}
e.stopPropagation()} />
{ !!evmAddress && isEvmClaimed!==false &&
{localizedStrings.reef_evm_address}: { formatAddress(evmAddress) }
}} onClick={e => e.stopPropagation()} />
} e.stopPropagation()} > {localizedStrings.open_in_explorer}
{!!showOptions && (onRename || onExport || onForget) && (
)} {isSelected && (
{localizedStrings.selected}
)} ); }; export default Account;