From 376b813daf58c20bb269c1a33987d9e534e3603f Mon Sep 17 00:00:00 2001 From: katspaugh Date: Fri, 23 Jun 2023 16:26:04 +0200 Subject: [PATCH 1/2] Fix: hide Edit for safeTxGas when 0 in 1.3.0+ --- .../transactions/TxDetails/SafeTxGasForm.tsx | 82 ++++++++++--------- .../transactions/TxDetails/Summary/index.tsx | 2 + 2 files changed, 47 insertions(+), 37 deletions(-) diff --git a/src/components/transactions/TxDetails/SafeTxGasForm.tsx b/src/components/transactions/TxDetails/SafeTxGasForm.tsx index 5f234569af..bceb500a5d 100644 --- a/src/components/transactions/TxDetails/SafeTxGasForm.tsx +++ b/src/components/transactions/TxDetails/SafeTxGasForm.tsx @@ -3,15 +3,15 @@ import { Link, Box, Paper, Button } from '@mui/material' import { useForm } from 'react-hook-form' import { SafeTxContext } from '@/components/tx-flow/SafeTxProvider' import NumberField from '@/components/common/NumberField' +import useSafeInfo from '@/hooks/useSafeInfo' +import { isLegacyVersion } from '@/hooks/coreSDK/safeCoreSDK' type FormFields = { safeTxGas: number } -const SafeTxGasForm = () => { - const { safeTx, safeTxGas = 0, setSafeTxGas } = useContext(SafeTxContext) - const isEditable = safeTx?.signatures.size === 0 - const [editing, setEditing] = useState(false) +const Form = ({ onSubmit }: { onSubmit: () => void }) => { + const { safeTxGas = 0, setSafeTxGas } = useContext(SafeTxContext) const formMethods = useForm({ defaultValues: { @@ -20,52 +20,60 @@ const SafeTxGasForm = () => { mode: 'onChange', }) - const onSubmit = (values: FormFields) => { + const onFormSubmit = (values: FormFields) => { setSafeTxGas(values.safeTxGas || 0) - setEditing(false) + onSubmit() } const onBlur = () => { setTimeout(() => { - setEditing(false) formMethods.setValue('safeTxGas', safeTxGas) + onSubmit() }, 100) } return ( - - <> - {safeTxGas} + +
+ + + +
+ ) +} - {isEditable && ( - setEditing(true)} fontSize="small"> - Edit - - )} - +const SafeTxGasForm = () => { + const { safeTx, safeTxGas = 0 } = useContext(SafeTxContext) + const { safe } = useSafeInfo() + const isOldSafe = safe.version && isLegacyVersion(safe.version) + const isEditable = safeTx?.signatures.size === 0 && (safeTxGas > 0 || isOldSafe) + const [editing, setEditing] = useState(false) - {editing && ( - -
- - - -
+ return ( + + {safeTxGas} + + {isEditable && ( + setEditing(true)} fontSize="small"> + Edit + )} + + {editing &&
setEditing(false)} />} ) } diff --git a/src/components/transactions/TxDetails/Summary/index.tsx b/src/components/transactions/TxDetails/Summary/index.tsx index 316e478d02..24eb2a0ef4 100644 --- a/src/components/transactions/TxDetails/Summary/index.tsx +++ b/src/components/transactions/TxDetails/Summary/index.tsx @@ -79,6 +79,8 @@ export const PartialSummary = ({ safeTx }: { safeTx: SafeTransaction }) => { + {txData.baseGas} + {generateDataRowValue(txData.refundReceiver, 'hash', true)} {generateDataRowValue(txData.data, 'rawData')} ) From 9aa00478629d2cd6e565420d7bb52a73920d8d11 Mon Sep 17 00:00:00 2001 From: katspaugh Date: Fri, 23 Jun 2023 16:34:40 +0200 Subject: [PATCH 2/2] Simplify onBlur --- src/components/transactions/TxDetails/SafeTxGasForm.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/components/transactions/TxDetails/SafeTxGasForm.tsx b/src/components/transactions/TxDetails/SafeTxGasForm.tsx index bceb500a5d..5cbae524ca 100644 --- a/src/components/transactions/TxDetails/SafeTxGasForm.tsx +++ b/src/components/transactions/TxDetails/SafeTxGasForm.tsx @@ -25,11 +25,9 @@ const Form = ({ onSubmit }: { onSubmit: () => void }) => { onSubmit() } + // Close the form w/o submitting if the user clicks outside of it const onBlur = () => { - setTimeout(() => { - formMethods.setValue('safeTxGas', safeTxGas) - onSubmit() - }, 100) + setTimeout(onSubmit, 100) } return (