// Copyright 2017-2025 @polkadot/react-params authors & contributors // SPDX-License-Identifier: Apache-2.0 import type { DispatchResult } from '@polkadot/types/interfaces'; import type { Props } from '../types.js'; import React, { useMemo } from 'react'; import { Input } from '@polkadot/react-components'; import DispatchError from './DispatchError.js'; import Static from './Static.js'; import Unknown from './Unknown.js'; function isDispatchResultErr (value?: unknown): value is DispatchResult { return !!(value && (value as DispatchResult).isErr); } function DispatchResultDisplay (props: Props): React.ReactElement { const { defaultValue, isDisabled, label } = props; const dispatchError = useMemo( () => defaultValue && isDispatchResultErr(defaultValue.value) ? { isValid: true, value: defaultValue.value.asErr } : null, [defaultValue] ); if (!isDisabled) { return ; } else if (!dispatchError) { return ( ); } return ( } defaultValue={dispatchError} label='DispatchError' /> ); } export default React.memo(DispatchResultDisplay);