1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 19:26:13 +02:00

EIP-1559 - Maintain changed form values and unselect radio buttons when user customizes form value (#11577)

This commit is contained in:
David Walsh 2021-07-22 11:32:59 -05:00 committed by GitHub
parent b259546db8
commit 286fd397f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 3 deletions

View File

@ -81,8 +81,8 @@ export default function AdvancedGasControls({
titleUnit="(GWEI)" titleUnit="(GWEI)"
tooltipText={t('editGasMaxPriorityFeeTooltip')} tooltipText={t('editGasMaxPriorityFeeTooltip')}
onChange={(value) => { onChange={(value) => {
setMaxPriorityFee(value);
onManualChange?.(); onManualChange?.();
setMaxPriorityFee(value);
}} }}
value={maxPriorityFee} value={maxPriorityFee}
detailText={maxPriorityFeeFiat} detailText={maxPriorityFeeFiat}
@ -122,8 +122,8 @@ export default function AdvancedGasControls({
titleUnit="(GWEI)" titleUnit="(GWEI)"
tooltipText={t('editGasMaxFeeTooltip')} tooltipText={t('editGasMaxFeeTooltip')}
onChange={(value) => { onChange={(value) => {
setMaxFee(value);
onManualChange?.(); onManualChange?.();
setMaxFee(value);
}} }}
value={maxFee} value={maxFee}
numeric numeric
@ -165,8 +165,8 @@ export default function AdvancedGasControls({
titleText={t('advancedGasPriceTitle')} titleText={t('advancedGasPriceTitle')}
titleUnit="(GWEI)" titleUnit="(GWEI)"
onChange={(value) => { onChange={(value) => {
setGasPrice(value);
onManualChange?.(); onManualChange?.();
setGasPrice(value);
}} }}
tooltipText={t('editGasPriceTooltip')} tooltipText={t('editGasPriceTooltip')}
value={gasPrice} value={gasPrice}

View File

@ -55,6 +55,7 @@ export default function EditGasDisplay({
setShowAdvancedForm, setShowAdvancedForm,
warning, warning,
gasErrors, gasErrors,
onManualChange,
}) { }) {
const t = useContext(I18nContext); const t = useContext(I18nContext);
@ -199,6 +200,7 @@ export default function EditGasDisplay({
maxPriorityFeeFiat={maxPriorityFeePerGasFiat} maxPriorityFeeFiat={maxPriorityFeePerGasFiat}
maxFeeFiat={maxFeePerGasFiat} maxFeeFiat={maxFeePerGasFiat}
gasErrors={gasErrors} gasErrors={gasErrors}
onManualChange={onManualChange}
/> />
)} )}
</div> </div>
@ -245,4 +247,5 @@ EditGasDisplay.propTypes = {
warning: PropTypes.string, warning: PropTypes.string,
transaction: PropTypes.object, transaction: PropTypes.object,
gasErrors: PropTypes.object, gasErrors: PropTypes.object,
onManualChange: PropTypes.func,
}; };

View File

@ -74,6 +74,7 @@ export default function EditGasPopover({
estimatedMaximumFiat, estimatedMaximumFiat,
hasGasErrors, hasGasErrors,
gasErrors, gasErrors,
onManualChange,
} = useGasFeeInputs(defaultEstimateToUse); } = useGasFeeInputs(defaultEstimateToUse);
/** /**
@ -216,6 +217,7 @@ export default function EditGasPopover({
mode={mode} mode={mode}
transaction={transaction} transaction={transaction}
gasErrors={gasErrors} gasErrors={gasErrors}
onManualChange={onManualChange}
{...editGasDisplayProps} {...editGasDisplayProps}
/> />
)} )}

View File

@ -354,5 +354,13 @@ export function useGasFeeInputs(defaultEstimateToUse = 'medium') {
estimatedGasFeeTimeBounds, estimatedGasFeeTimeBounds,
gasErrors: errorsAndWarnings, gasErrors: errorsAndWarnings,
hasGasErrors: hasBlockingGasErrors, hasGasErrors: hasBlockingGasErrors,
onManualChange: () => {
setEstimateToUse(null);
// Restore existing values
setGasPrice(gasPriceToUse);
setGasLimit(gasLimit);
setMaxFeePerGas(maxFeePerGasToUse);
setMaxPriorityFeePerGas(maxPriorityFeePerGasToUse);
},
}; };
} }