From 7b25554bbc99daad5f2a14fe19bce4a32427db44 Mon Sep 17 00:00:00 2001 From: Krishna Gupta Date: Thu, 27 Jun 2024 02:44:13 +0530 Subject: [PATCH 1/3] fix: Subscription size - Decimal point can be inserted and not removed on the confirmation page. Signed-off-by: Krishna Gupta --- src/pages/settings/Subscription/SubscriptionSize/index.tsx | 5 +++++ .../Subscription/SubscriptionSize/substeps/Confirmation.tsx | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pages/settings/Subscription/SubscriptionSize/index.tsx b/src/pages/settings/Subscription/SubscriptionSize/index.tsx index 4235656aabf6..cbda2ff6c0a1 100644 --- a/src/pages/settings/Subscription/SubscriptionSize/index.tsx +++ b/src/pages/settings/Subscription/SubscriptionSize/index.tsx @@ -1,5 +1,6 @@ import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; +import {InteractionManager} from 'react-native'; import {useOnyx} from 'react-native-onyx'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -8,6 +9,7 @@ import useSubStep from '@hooks/useSubStep'; import type {SubStepProps} from '@hooks/useSubStep/types'; import Navigation from '@libs/Navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; +import * as FormActions from '@userActions/FormActions'; import * as Subscription from '@userActions/Subscription'; import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; @@ -29,6 +31,9 @@ function SubscriptionSizePage({route}: SubscriptionSizePageProps) { const onFinished = () => { Subscription.updateSubscriptionSize(subscriptionSizeFormDraft ? Number(subscriptionSizeFormDraft[INPUT_IDS.SUBSCRIPTION_SIZE]) : 0, privateSubscription?.userCount ?? 0); Navigation.goBack(); + InteractionManager.runAfterInteractions(() => { + FormActions.clearDraftValues(ONYXKEYS.FORMS.SUBSCRIPTION_SIZE_FORM); + }); }; const {componentToRender: SubStep, screenIndex, nextScreen, prevScreen, moveTo} = useSubStep({bodyContent, startFrom, onFinished}); diff --git a/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx b/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx index 6a461c1a9082..c3f297f05f47 100644 --- a/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx +++ b/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx @@ -23,8 +23,9 @@ function Confirmation({onNext, isEditing}: ConfirmationProps) { const [privateSubscription] = useOnyx(ONYXKEYS.NVP_PRIVATE_SUBSCRIPTION); const [subscriptionSizeFormDraft] = useOnyx(ONYXKEYS.FORMS.SUBSCRIPTION_SIZE_FORM_DRAFT); const subscriptionRenewalDate = getNewSubscriptionRenewalDate(); + const subscriptionSizeDraft = subscriptionSizeFormDraft ? Math.trunc(Number(subscriptionSizeFormDraft[INPUT_IDS.SUBSCRIPTION_SIZE])) : 0; - const isTryingToIncreaseSubscriptionSize = (subscriptionSizeFormDraft ? Number(subscriptionSizeFormDraft[INPUT_IDS.SUBSCRIPTION_SIZE]) : 0) > (privateSubscription?.userCount ?? 0); + const isTryingToIncreaseSubscriptionSize = subscriptionSizeDraft > (privateSubscription?.userCount ?? 0); const canChangeSubscriptionSize = (account?.canDowngrade ?? false) || (isTryingToIncreaseSubscriptionSize && isEditing); const formattedSubscriptionEndDate = formatSubscriptionEndDate(privateSubscription?.endDate); @@ -41,7 +42,7 @@ function Confirmation({onNext, isEditing}: ConfirmationProps) { Date: Thu, 27 Jun 2024 04:07:12 +0530 Subject: [PATCH 2/3] minor updated. Signed-off-by: Krishna Gupta --- .../Subscription/SubscriptionSize/substeps/Confirmation.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx b/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx index c3f297f05f47..7fda9c510381 100644 --- a/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx +++ b/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx @@ -23,7 +23,7 @@ function Confirmation({onNext, isEditing}: ConfirmationProps) { const [privateSubscription] = useOnyx(ONYXKEYS.NVP_PRIVATE_SUBSCRIPTION); const [subscriptionSizeFormDraft] = useOnyx(ONYXKEYS.FORMS.SUBSCRIPTION_SIZE_FORM_DRAFT); const subscriptionRenewalDate = getNewSubscriptionRenewalDate(); - const subscriptionSizeDraft = subscriptionSizeFormDraft ? Math.trunc(Number(subscriptionSizeFormDraft[INPUT_IDS.SUBSCRIPTION_SIZE])) : 0; + const subscriptionSizeDraft = subscriptionSizeFormDraft ? Number(subscriptionSizeFormDraft[INPUT_IDS.SUBSCRIPTION_SIZE]) : 0; const isTryingToIncreaseSubscriptionSize = subscriptionSizeDraft > (privateSubscription?.userCount ?? 0); const canChangeSubscriptionSize = (account?.canDowngrade ?? false) || (isTryingToIncreaseSubscriptionSize && isEditing); From 08c4a55f01def15ed776b39ea58b53b5f992f713 Mon Sep 17 00:00:00 2001 From: krishna2323 Date: Mon, 15 Jul 2024 13:31:10 +0530 Subject: [PATCH 3/3] add suggested changes. Signed-off-by: krishna2323 --- src/pages/settings/Subscription/SubscriptionSize/index.tsx | 5 +---- .../Subscription/SubscriptionSize/substeps/Confirmation.tsx | 3 ++- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/pages/settings/Subscription/SubscriptionSize/index.tsx b/src/pages/settings/Subscription/SubscriptionSize/index.tsx index cbda2ff6c0a1..961bb5d46b57 100644 --- a/src/pages/settings/Subscription/SubscriptionSize/index.tsx +++ b/src/pages/settings/Subscription/SubscriptionSize/index.tsx @@ -1,6 +1,5 @@ import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; -import {InteractionManager} from 'react-native'; import {useOnyx} from 'react-native-onyx'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -31,9 +30,7 @@ function SubscriptionSizePage({route}: SubscriptionSizePageProps) { const onFinished = () => { Subscription.updateSubscriptionSize(subscriptionSizeFormDraft ? Number(subscriptionSizeFormDraft[INPUT_IDS.SUBSCRIPTION_SIZE]) : 0, privateSubscription?.userCount ?? 0); Navigation.goBack(); - InteractionManager.runAfterInteractions(() => { - FormActions.clearDraftValues(ONYXKEYS.FORMS.SUBSCRIPTION_SIZE_FORM); - }); + FormActions.clearDraftValues(ONYXKEYS.FORMS.SUBSCRIPTION_SIZE_FORM); }; const {componentToRender: SubStep, screenIndex, nextScreen, prevScreen, moveTo} = useSubStep({bodyContent, startFrom, onFinished}); diff --git a/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx b/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx index 7fda9c510381..dbb78e538239 100644 --- a/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx +++ b/src/pages/settings/Subscription/SubscriptionSize/substeps/Confirmation.tsx @@ -24,6 +24,7 @@ function Confirmation({onNext, isEditing}: ConfirmationProps) { const [subscriptionSizeFormDraft] = useOnyx(ONYXKEYS.FORMS.SUBSCRIPTION_SIZE_FORM_DRAFT); const subscriptionRenewalDate = getNewSubscriptionRenewalDate(); const subscriptionSizeDraft = subscriptionSizeFormDraft ? Number(subscriptionSizeFormDraft[INPUT_IDS.SUBSCRIPTION_SIZE]) : 0; + const subscriptionSize = subscriptionSizeDraft || (privateSubscription?.userCount ?? 0); const isTryingToIncreaseSubscriptionSize = subscriptionSizeDraft > (privateSubscription?.userCount ?? 0); const canChangeSubscriptionSize = (account?.canDowngrade ?? false) || (isTryingToIncreaseSubscriptionSize && isEditing); @@ -42,7 +43,7 @@ function Confirmation({onNext, isEditing}: ConfirmationProps) {