// Copyright 2017-2020 @polkadot/app-toolbox authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import React, { useState } from 'react'; import { Input, Output, Static } from '@polkadot/react-components'; import { hexToU8a, isHex, stringToU8a } from '@polkadot/util'; import { blake2AsHex } from '@polkadot/util-crypto'; import { useTranslation } from './translate'; interface State { data: string; hash: string; isHexData: boolean; } export default function Hash (): React.ReactElement<{}> { const { t } = useTranslation(); const [{ data, hash, isHexData }, setState] = useState({ data: '', hash: blake2AsHex(stringToU8a(''), 256), isHexData: false }); const _onChangeData = (data: string): void => { const isHexData = isHex(data); setState({ data, hash: blake2AsHex( isHexData ? hexToU8a(data) : stringToU8a(data), 256 ), isHexData }); }; return (
); }