diff --git a/.changeset/dry-days-flow.md b/.changeset/dry-days-flow.md new file mode 100644 index 0000000000..d12691b548 --- /dev/null +++ b/.changeset/dry-days-flow.md @@ -0,0 +1,5 @@ +--- +"fuels-wallet": patch +--- + +fix: review button entering on loading state after getting ready to approve diff --git a/.changeset/lemon-doors-protect.md b/.changeset/lemon-doors-protect.md new file mode 100644 index 0000000000..ba0d1371eb --- /dev/null +++ b/.changeset/lemon-doors-protect.md @@ -0,0 +1,5 @@ +--- +"fuels-wallet": patch +--- + +feat: remove intentional longer loading states to avoid blinking. diff --git a/packages/app/src/systems/DApp/machines/transactionRequestMachine.tsx b/packages/app/src/systems/DApp/machines/transactionRequestMachine.tsx index f8c68c5279..f1d222d472 100644 --- a/packages/app/src/systems/DApp/machines/transactionRequestMachine.tsx +++ b/packages/app/src/systems/DApp/machines/transactionRequestMachine.tsx @@ -414,11 +414,6 @@ export const transactionRequestMachine = createMachine( throw new Error('Invalid simulateTransaction input'); } - // Enforce a minimum delay to show the loading state - // this creates a better experience for the user as the - // screen doesn't flash between states - await delay(600); - const simulatedInfo = await TxService.simulateTransaction(input); return simulatedInfo; }, diff --git a/packages/app/src/systems/Network/machines/chainInfoMachine.ts b/packages/app/src/systems/Network/machines/chainInfoMachine.ts index 336ac490d8..eadea5e366 100644 --- a/packages/app/src/systems/Network/machines/chainInfoMachine.ts +++ b/packages/app/src/systems/Network/machines/chainInfoMachine.ts @@ -104,9 +104,6 @@ export const chainInfoMachine = createMachine( throw new Error('No chain URL'); } - // Enforce a minimum delay to show the loading state - await delay(600); - return NetworkService.getChainInfo(input); }, }), diff --git a/packages/app/src/systems/Send/machines/sendMachine.ts b/packages/app/src/systems/Send/machines/sendMachine.ts index 7da036b12b..e7cffc8eb6 100644 --- a/packages/app/src/systems/Send/machines/sendMachine.ts +++ b/packages/app/src/systems/Send/machines/sendMachine.ts @@ -131,7 +131,7 @@ export const sendMachine = createMachine( }, { actions: ['assignTransactionData'], - target: 'readyToSend', + target: 'waitingToAllowSending', }, ], }, @@ -149,6 +149,20 @@ export const sendMachine = createMachine( }, }, }, + // @TODO: "waitingToAllowSending" only exists to allow the useEffect on useSend to trigger, avoiding an error where the review button was enabled and then in loading state right after + waitingToAllowSending: { + on: { + SET_INPUT: { + actions: ['assignInput'], + target: 'changingInput', + }, + }, + after: { + 500: { + target: 'readyToSend', + }, + }, + }, readyToSend: { on: { CONFIRM: { actions: ['callTransactionRequest'] },