import React from 'react'; import type { UserOp } from 'types/api/userOps'; import useIsMobile from 'lib/hooks/useIsMobile'; import * as DetailedInfo from 'ui/shared/DetailedInfo/DetailedInfo'; import LogDecodedInputData from 'ui/shared/logs/LogDecodedInputData'; import UserOpCallDataSwitch from './UserOpCallDataSwitch'; interface Props { data: UserOp; } const UserOpDecodedCallData = ({ data }: Props) => { const isMobile = useIsMobile(); const [ callData, setCallData ] = React.useState(data.decoded_execute_call_data || data.decoded_call_data); const handleSwitchChange = React.useCallback((isChecked: boolean) => { setCallData(isChecked ? data.decoded_call_data : data.decoded_execute_call_data); }, [ data ]); if (!callData) { return null; } const toggler = data.decoded_call_data && data.decoded_execute_call_data ? ( ) : null; const labelText = data.call_data && !data.execute_call_data ? 'Decoded external call data' : 'Decoded call data'; return ( <>
{ labelText } { isMobile && toggler }
); }; export default React.memo(UserOpDecodedCallData);