import { Divider, Text } from '@nextui-org/react' import { Fragment } from 'react' import ModalFooter from '@/components/ModalFooter' import ProjectInfoCard from '@/components/ProjectInfoCard' import RequestDataCard from '@/components/RequestDataCard' import RequesDetailsCard from '@/components/RequestDetalilsCard' import RequestMethodCard from '@/components/RequestMethodCard' import RequestModalContainer from '@/components/RequestModalContainer' import VerifyInfobox from '@/components/VerifyInfobox' import ModalStore from '@/store/ModalStore' import { styledToast } from '@/utils/HelperUtil' import { approveTronRequest, rejectTronRequest } from '@/utils/TronRequestHandlerUtil' import { web3wallet } from '@/utils/WalletConnectUtil' import RequestModal from './RequestModal' export default function SessionSignTronModal() { // Get request and wallet data from store const requestEvent = ModalStore.state.data?.requestEvent const requestSession = ModalStore.state.data?.requestSession // Ensure request and wallet are defined if (!requestEvent || !requestSession) { return Missing request data } // Get required request data const { topic, params } = requestEvent const { request, chainId } = params // Handle approve action (logic varies based on request method) async function onApprove() { if (requestEvent) { const response = await approveTronRequest(requestEvent) try { await web3wallet.respondSessionRequest({ topic, response }) } catch (e) { styledToast((e as Error).message, 'error') return } ModalStore.close() } } // Handle reject action async function onReject() { if (requestEvent) { const response = rejectTronRequest(requestEvent) try { await web3wallet.respondSessionRequest({ topic, response }) } catch (e) { styledToast((e as Error).message, 'error') return } ModalStore.close() } } return ( ) }