mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-24 18:38:15 +01:00
Show donations confirm discard modal when clicking back button twice
This commit is contained in:
@@ -135,6 +135,17 @@ export function PreferencesDonateFlow({
|
||||
CardFormValues | undefined
|
||||
>();
|
||||
|
||||
const hasCardFormData = useMemo(() => {
|
||||
if (!cardFormValues) {
|
||||
return false;
|
||||
}
|
||||
return (
|
||||
cardFormValues.cardNumber !== '' ||
|
||||
cardFormValues.cardExpiration !== '' ||
|
||||
cardFormValues.cardCvc !== ''
|
||||
);
|
||||
}, [cardFormValues]);
|
||||
|
||||
// When changing currency, clear out the last selected amount
|
||||
const handleAmountPickerCurrencyChanged = useCallback((value: string) => {
|
||||
setAmount(undefined);
|
||||
@@ -184,14 +195,19 @@ export function PreferencesDonateFlow({
|
||||
clearWorkflow();
|
||||
}
|
||||
};
|
||||
const isConfirmationNeeded = Boolean(
|
||||
step === 'paymentDetails' &&
|
||||
!isCardFormDisabled &&
|
||||
(!workflow || !isPaymentDetailFinalizedInWorkflow(workflow))
|
||||
);
|
||||
const isConfirmationNeeded =
|
||||
hasCardFormData &&
|
||||
!isCardFormDisabled &&
|
||||
(!workflow || !isPaymentDetailFinalizedInWorkflow(workflow));
|
||||
|
||||
confirmDiscardIf(isConfirmationNeeded, onDiscard);
|
||||
}, [clearWorkflow, confirmDiscardIf, isCardFormDisabled, step, workflow]);
|
||||
}, [
|
||||
clearWorkflow,
|
||||
confirmDiscardIf,
|
||||
hasCardFormData,
|
||||
isCardFormDisabled,
|
||||
workflow,
|
||||
]);
|
||||
tryClose.current = onTryClose;
|
||||
|
||||
let innerContent: JSX.Element;
|
||||
|
||||
Reference in New Issue
Block a user