Skip to content

Commit

Permalink
Merge pull request #46635 from nkdengineer/fix/45645
Browse files Browse the repository at this point in the history
  • Loading branch information
blimpich authored Aug 15, 2024
2 parents 3721596 + 0923d44 commit 9757789
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/ONYXKEYS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -551,8 +551,8 @@ const ONYXKEYS = {
SETTINGS_STATUS_SET_CLEAR_AFTER_FORM_DRAFT: 'settingsStatusSetClearAfterFormDraft',
SETTINGS_STATUS_CLEAR_DATE_FORM: 'settingsStatusClearDateForm',
SETTINGS_STATUS_CLEAR_DATE_FORM_DRAFT: 'settingsStatusClearDateFormDraft',
CHANGE_BILLING_CURRENCY_FORM: 'changeBillingCurrencyForm',
CHANGE_BILLING_CURRENCY_FORM_DRAFT: 'changeBillingCurrencyFormDraft',
CHANGE_BILLING_CURRENCY_FORM: 'billingCurrencyForm',
CHANGE_BILLING_CURRENCY_FORM_DRAFT: 'billingCurrencyFormDraft',
PRIVATE_NOTES_FORM: 'privateNotesForm',
PRIVATE_NOTES_FORM_DRAFT: 'privateNotesFormDraft',
I_KNOW_A_TEACHER_FORM: 'iKnowTeacherForm',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, {useCallback, useMemo} from 'react';
import React, {useCallback, useEffect, useMemo} from 'react';
import {View} from 'react-native';
import {useOnyx} from 'react-native-onyx';
import type {ValueOf} from 'type-fest';
Expand All @@ -7,6 +7,7 @@ import type {FormOnyxValues} from '@components/Form/types';
import HeaderWithBackButton from '@components/HeaderWithBackButton';
import ScreenWrapper from '@components/ScreenWrapper';
import useLocalize from '@hooks/useLocalize';
import usePrevious from '@hooks/usePrevious';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@navigation/Navigation';
import * as PaymentMethods from '@userActions/PaymentMethods';
Expand All @@ -19,11 +20,24 @@ function ChangeBillingCurrency() {
const [fundList] = useOnyx(ONYXKEYS.FUND_LIST);
const defaultCard = useMemo(() => Object.values(fundList ?? {}).find((card) => card.accountData?.additionalData?.isBillingCard), [fundList]);

const changeBillingCurrency = useCallback((currency?: ValueOf<typeof CONST.PAYMENT_CARD_CURRENCY>, values?: FormOnyxValues<typeof ONYXKEYS.FORMS.CHANGE_BILLING_CURRENCY_FORM>) => {
if (values?.securityCode) {
PaymentMethods.updateBillingCurrency(currency ?? CONST.PAYMENT_CARD_CURRENCY.USD, values.securityCode);
const [formData] = useOnyx(ONYXKEYS.FORMS.CHANGE_BILLING_CURRENCY_FORM);
const formDataComplete = formData?.isLoading === false && !formData.errors;
const prevIsLoading = usePrevious(formData?.isLoading);
const prevFormDataComplete = usePrevious(formDataComplete);

useEffect(() => {
if (!formDataComplete || prevFormDataComplete || !prevIsLoading) {
return;
}
Navigation.goBack();
}, [formDataComplete, prevFormDataComplete, prevIsLoading]);

const changeBillingCurrency = useCallback((currency?: ValueOf<typeof CONST.PAYMENT_CARD_CURRENCY>, values?: FormOnyxValues<typeof ONYXKEYS.FORMS.CHANGE_BILLING_CURRENCY_FORM>) => {
if (!values?.securityCode) {
Navigation.goBack();
return;
}
PaymentMethods.updateBillingCurrency(currency ?? CONST.PAYMENT_CARD_CURRENCY.USD, values.securityCode);
}, []);

return (
Expand Down

0 comments on commit 9757789

Please sign in to comment.