// Copyright 2017-2026 @pezkuwi/app-utilities authors & contributors // SPDX-License-Identifier: Apache-2.0 import React, { useCallback, useState } from 'react'; import { Input, Output, Static } from '@pezkuwi/react-components'; import { hexToU8a, isHex, stringToU8a } from '@pezkuwi/util'; import { blake2AsHex } from '@pezkuwi/util-crypto'; import { useTranslation } from './translate.js'; interface Props { className?: string; } interface State { data: string; hash: string; isHexData: boolean; } function Hash ({ className }: Props): React.ReactElement { const { t } = useTranslation(); const [{ data, hash, isHexData }, setState] = useState({ data: '', hash: blake2AsHex(stringToU8a(''), 256), isHexData: false }); const _onChangeData = useCallback( (data: string): void => { const isHexData = isHex(data); setState({ data, hash: blake2AsHex( isHexData ? hexToU8a(data) : stringToU8a(data), 256 ), isHexData }); }, [] ); return (
); } export default React.memo(Hash);