import { Flex } from '@chakra-ui/react';
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);