Skip to content

Commit

Permalink
Only build transaction when execute-proposal modal is open, handle su…
Browse files Browse the repository at this point in the history
…ccess button click
  • Loading branch information
cgero-eth committed Apr 11, 2024
1 parent de0257b commit 75ffe6f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,14 @@ export const ExecuteProposalDialog: React.FC<
const {t} = useTranslation();

const {transaction, isLoading: isTransactionLoading} =
useCreateExecuteTransactionProposal();
useCreateExecuteTransactionProposal({enabled: isOpen});

const sendTransactionResults = useSendExecuteProposalTransaction({
process: executeProposalProcess,
transaction,
});

const onSuccessButtonClick = () => {
//
};
const onSuccessButtonClick = () => onClose?.();

return (
<TransactionDialog
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,34 @@ import {useParams} from 'react-router-dom';
import {useCreateExecuteMultisigProposalTransaction} from 'services/transactions/queries/useCreateExecuteMultisigProposalTransaction';
import {useCreateExecuteTokenVotingProposalTransaction} from 'services/transactions/queries/useCreateExecuteTokenVotingProposalTransaction';

export const useCreateExecuteTransactionProposal = () => {
export interface IUseCreateExecuteTransactionProposalParams {
/**
* Disables the create transaction hook when set to false.
*/
enabled?: boolean;
}

export const useCreateExecuteTransactionProposal = (
params: IUseCreateExecuteTransactionProposalParams
) => {
const {enabled} = params;
const {id: proposalId} = useParams();

const {client} = useClient();

const {data: daoDetails} = useDaoDetailsQuery();
const pluginType = daoDetails?.plugins[0].id as PluginTypes;

const enableHook = enabled !== false && client != null && proposalId != null;

const {data: multisigTransaction, isLoading: isMultisigTransactionLoading} =
useCreateExecuteMultisigProposalTransaction(
{
client: client as Client,
proposalId: proposalId as string,
},
{
enabled:
client != null &&
proposalId != null &&
pluginType === 'multisig.plugin.dao.eth',
enabled: enableHook && pluginType === 'multisig.plugin.dao.eth',
}
);

Expand All @@ -37,10 +46,7 @@ export const useCreateExecuteTransactionProposal = () => {
proposalId: proposalId as string,
},
{
enabled:
client != null &&
proposalId != null &&
pluginType === 'token-voting.plugin.dao.eth',
enabled: enableHook && pluginType === 'token-voting.plugin.dao.eth',
}
);

Expand Down

0 comments on commit 75ffe6f

Please sign in to comment.