From 21ce24b7a4d807d5bea6d55808cae935f46a65b1 Mon Sep 17 00:00:00 2001 From: "Antony M. Kithinzi" Date: Thu, 19 Dec 2024 04:42:57 +0300 Subject: [PATCH 01/10] Update UpgradeIntro.tsx --- src/pages/workspace/upgrade/UpgradeIntro.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/pages/workspace/upgrade/UpgradeIntro.tsx b/src/pages/workspace/upgrade/UpgradeIntro.tsx index 029f8e78271f2..23220e4d8a86b 100644 --- a/src/pages/workspace/upgrade/UpgradeIntro.tsx +++ b/src/pages/workspace/upgrade/UpgradeIntro.tsx @@ -11,10 +11,12 @@ import Text from '@components/Text'; import TextLink from '@components/TextLink'; import useEnvironment from '@hooks/useEnvironment'; import useLocalize from '@hooks/useLocalize'; +import usePreferredCurrency from '@hooks/usePreferredCurrency'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useSubscriptionPlan from '@hooks/useSubscriptionPlan'; import useThemeStyles from '@hooks/useThemeStyles'; import {openLink} from '@libs/actions/Link'; +import {convertToShortDisplayString} from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -33,6 +35,17 @@ function UpgradeIntro({feature, onUpgrade, buttonDisabled, loading, isCategorizi const {translate} = useLocalize(); const {environmentURL} = useEnvironment(); const subscriptionPlan = useSubscriptionPlan(); + const preferredCurrency = usePreferredCurrency(); + + const formattedPrice = React.useMemo(() => { + const upgradeCurrency: keyof typeof CONST.SUBSCRIPTION.PRICES = Object.hasOwn(CONST.SUBSCRIPTION.PRICES, preferredCurrency) + ? (preferredCurrency as keyof typeof CONST.SUBSCRIPTION.PRICES) + : CONST.PAYMENT_CARD_CURRENCY.USD; + const upgradePlan: keyof (typeof CONST.SUBSCRIPTION.PRICES)[typeof upgradeCurrency] = + !isCategorizing || subscriptionPlan === CONST.POLICY.TYPE.CORPORATE ? CONST.POLICY.TYPE.CORPORATE : CONST.POLICY.TYPE.TEAM; + const annualPrice: number = CONST.SUBSCRIPTION.PRICES[upgradeCurrency][upgradePlan][CONST.SUBSCRIPTION.TYPE.ANNUAL]; + return `${convertToShortDisplayString(annualPrice, upgradeCurrency)} `; + }, [preferredCurrency, subscriptionPlan, isCategorizing]); const isIllustration = feature.icon in Illustrations; const iconSrc = isIllustration ? Illustrations[feature.icon as keyof typeof Illustrations] : Expensicon[feature.icon as keyof typeof Expensicon]; @@ -66,9 +79,7 @@ function UpgradeIntro({feature, onUpgrade, buttonDisabled, loading, isCategorizi {translate(feature.description)} {translate(`workspace.upgrade.${feature.id}.onlyAvailableOnPlan`)} - - {isCategorizing ? translate(`workspace.upgrade.pricing.collect`) : translate(`workspace.upgrade.pricing.amount`)} - + {formattedPrice} {translate(`workspace.upgrade.pricing.perActiveMember`)} From a115ffe79b29d2d430bd42e06ae17f43d31bf805 Mon Sep 17 00:00:00 2001 From: "Antony M. Kithinzi" Date: Thu, 19 Dec 2024 04:47:39 +0300 Subject: [PATCH 02/10] refactoring useSubscriptionPrice.ts --- src/hooks/useSubscriptionPrice.ts | 53 ++++--------------------------- 1 file changed, 6 insertions(+), 47 deletions(-) diff --git a/src/hooks/useSubscriptionPrice.ts b/src/hooks/useSubscriptionPrice.ts index 0b71fe62c7c8d..3ec3e0946dfbc 100644 --- a/src/hooks/useSubscriptionPrice.ts +++ b/src/hooks/useSubscriptionPrice.ts @@ -4,59 +4,18 @@ import ONYXKEYS from '@src/ONYXKEYS'; import usePreferredCurrency from './usePreferredCurrency'; import useSubscriptionPlan from './useSubscriptionPlan'; -const SUBSCRIPTION_PRICES = { - [CONST.PAYMENT_CARD_CURRENCY.USD]: { - [CONST.POLICY.TYPE.CORPORATE]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 900, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1800, - }, - [CONST.POLICY.TYPE.TEAM]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 500, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1000, - }, - }, - [CONST.PAYMENT_CARD_CURRENCY.AUD]: { - [CONST.POLICY.TYPE.CORPORATE]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 1500, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 3000, - }, - [CONST.POLICY.TYPE.TEAM]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 700, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400, - }, - }, - [CONST.PAYMENT_CARD_CURRENCY.GBP]: { - [CONST.POLICY.TYPE.CORPORATE]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 700, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400, - }, - [CONST.POLICY.TYPE.TEAM]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 400, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 800, - }, - }, - [CONST.PAYMENT_CARD_CURRENCY.NZD]: { - [CONST.POLICY.TYPE.CORPORATE]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 1600, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 3200, - }, - [CONST.POLICY.TYPE.TEAM]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 800, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1600, - }, - }, -} as const; - -function useSubscriptionPrice(): number { +function useSubscriptionPrice(upgradePlan?: 'corporate' | 'team' | null): number { const preferredCurrency = usePreferredCurrency(); - const subscriptionPlan = useSubscriptionPlan(); + const currentSubscriptionPlan = useSubscriptionPlan(); const [privateSubscription] = useOnyx(ONYXKEYS.NVP_PRIVATE_SUBSCRIPTION); - if (!subscriptionPlan || !privateSubscription?.type) { + if ((!currentSubscriptionPlan && !upgradePlan) || (currentSubscriptionPlan && !upgradePlan && !privateSubscription?.type)) { return 0; } - return SUBSCRIPTION_PRICES[preferredCurrency][subscriptionPlan][privateSubscription.type]; + return CONST.SUBSCRIPTION.PRICES[preferredCurrency][ + currentSubscriptionPlan === CONST.POLICY.TYPE.CORPORATE || upgradePlan === CONST.POLICY.TYPE.CORPORATE ? CONST.POLICY.TYPE.CORPORATE : CONST.POLICY.TYPE.TEAM + ][privateSubscription?.type ?? CONST.SUBSCRIPTION.TYPE.ANNUAL]; } export default useSubscriptionPrice; From 51d701dac9a15bfb912a2c5e65cbb5b2a77ef0e9 Mon Sep 17 00:00:00 2001 From: "Antony M. Kithinzi" Date: Thu, 19 Dec 2024 04:49:03 +0300 Subject: [PATCH 03/10] moving SUBSCRIPTION_PRICS to CONST.ts --- src/CONST.ts | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/CONST.ts b/src/CONST.ts index e5c070676e49c..674e883bdf0c2 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -2972,6 +2972,50 @@ const CONST = { ANNUAL: 'yearly2018', PAYPERUSE: 'monthly2018', }, + get PRICES() { + return { + [CONST.PAYMENT_CARD_CURRENCY.USD]: { + [CONST.POLICY.TYPE.CORPORATE]: { + [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 900, + [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1800, + }, + [CONST.POLICY.TYPE.TEAM]: { + [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 500, + [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1000, + }, + }, + [CONST.PAYMENT_CARD_CURRENCY.AUD]: { + [CONST.POLICY.TYPE.CORPORATE]: { + [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 1500, + [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 3000, + }, + [CONST.POLICY.TYPE.TEAM]: { + [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 700, + [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400, + }, + }, + [CONST.PAYMENT_CARD_CURRENCY.GBP]: { + [CONST.POLICY.TYPE.CORPORATE]: { + [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 700, + [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400, + }, + [CONST.POLICY.TYPE.TEAM]: { + [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 400, + [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 800, + }, + }, + [CONST.PAYMENT_CARD_CURRENCY.NZD]: { + [CONST.POLICY.TYPE.CORPORATE]: { + [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 1600, + [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 3200, + }, + [CONST.POLICY.TYPE.TEAM]: { + [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 800, + [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1600, + }, + }, + }; + }, }, REGEX: { SPECIAL_CHARS_WITHOUT_NEWLINE: /((?!\n)[()-\s\t])/g, From 7aa18f0b58d3d65f8cac9af508caa6cc2dd5889c Mon Sep 17 00:00:00 2001 From: "Antony M. Kithinzi" Date: Thu, 19 Dec 2024 04:51:07 +0300 Subject: [PATCH 04/10] reverting useSubscriptionPrice.ts --- src/hooks/useSubscriptionPrice.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/hooks/useSubscriptionPrice.ts b/src/hooks/useSubscriptionPrice.ts index 3ec3e0946dfbc..4f672206e6c52 100644 --- a/src/hooks/useSubscriptionPrice.ts +++ b/src/hooks/useSubscriptionPrice.ts @@ -4,18 +4,16 @@ import ONYXKEYS from '@src/ONYXKEYS'; import usePreferredCurrency from './usePreferredCurrency'; import useSubscriptionPlan from './useSubscriptionPlan'; -function useSubscriptionPrice(upgradePlan?: 'corporate' | 'team' | null): number { +function useSubscriptionPrice(): number { const preferredCurrency = usePreferredCurrency(); - const currentSubscriptionPlan = useSubscriptionPlan(); + const subscriptionPlan = useSubscriptionPlan(); const [privateSubscription] = useOnyx(ONYXKEYS.NVP_PRIVATE_SUBSCRIPTION); - if ((!currentSubscriptionPlan && !upgradePlan) || (currentSubscriptionPlan && !upgradePlan && !privateSubscription?.type)) { + if (!subscriptionPlan || !privateSubscription?.type) { return 0; } - return CONST.SUBSCRIPTION.PRICES[preferredCurrency][ - currentSubscriptionPlan === CONST.POLICY.TYPE.CORPORATE || upgradePlan === CONST.POLICY.TYPE.CORPORATE ? CONST.POLICY.TYPE.CORPORATE : CONST.POLICY.TYPE.TEAM - ][privateSubscription?.type ?? CONST.SUBSCRIPTION.TYPE.ANNUAL]; + return SUBSCRIPTION_PRICES[preferredCurrency][subscriptionPlan][privateSubscription.type]; } export default useSubscriptionPrice; From a2f7a607022eaa0c7ab12fff0b2efc34a84efc0d Mon Sep 17 00:00:00 2001 From: Antony Kithinzi Date: Thu, 19 Dec 2024 03:18:02 +0100 Subject: [PATCH 05/10] fix: using the subscription prices from CONST --- src/hooks/useSubscriptionPrice.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/useSubscriptionPrice.ts b/src/hooks/useSubscriptionPrice.ts index 4f672206e6c52..742722a266556 100644 --- a/src/hooks/useSubscriptionPrice.ts +++ b/src/hooks/useSubscriptionPrice.ts @@ -13,7 +13,7 @@ function useSubscriptionPrice(): number { return 0; } - return SUBSCRIPTION_PRICES[preferredCurrency][subscriptionPlan][privateSubscription.type]; + return CONST.SUBSCRIPTION.PRICES[preferredCurrency][subscriptionPlan][privateSubscription.type]; } export default useSubscriptionPrice; From e9e119bb7dc367865b0f329fc4e0f39e3666b9f4 Mon Sep 17 00:00:00 2001 From: Antony Kithinzi Date: Sun, 22 Dec 2024 20:36:41 +0100 Subject: [PATCH 06/10] removing workspace upgrade pricing translations --- src/languages/en.ts | 2 -- src/languages/es.ts | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index f4417ad1d871b..a0db7ff42ec28 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -4344,8 +4344,6 @@ const translations = { onlyAvailableOnPlan: 'Per diem are only available on the Control plan, starting at ', }, pricing: { - collect: '$5 ', - amount: '$9 ', perActiveMember: 'per active member per month.', }, note: { diff --git a/src/languages/es.ts b/src/languages/es.ts index 5e7bf0c5c017f..4218a94c90a4d 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -4397,8 +4397,6 @@ const translations = { aboutOurPlans: 'sobre nuestros planes y precios.', }, pricing: { - collect: '$5 ', - amount: '$9 ', perActiveMember: 'por miembro activo al mes.', }, upgradeToUnlock: 'Desbloquear esta función', From e7676e9c333ebc018e2d660a1989c07b4bf95038 Mon Sep 17 00:00:00 2001 From: Antony Kithinzi Date: Mon, 23 Dec 2024 13:48:32 +0100 Subject: [PATCH 07/10] moving SUBSCRIPTION PRICES --- src/CONST.ts | 80 ++++++++++---------- src/hooks/useSubscriptionPrice.ts | 2 +- src/pages/workspace/upgrade/UpgradeIntro.tsx | 8 +- 3 files changed, 45 insertions(+), 45 deletions(-) diff --git a/src/CONST.ts b/src/CONST.ts index b5324d1c21f75..7c8d0ba8355b7 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -2973,50 +2973,50 @@ const CONST = { ANNUAL: 'yearly2018', PAYPERUSE: 'monthly2018', }, - get PRICES() { - return { - [CONST.PAYMENT_CARD_CURRENCY.USD]: { - [CONST.POLICY.TYPE.CORPORATE]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 900, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1800, - }, - [CONST.POLICY.TYPE.TEAM]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 500, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1000, - }, + }, + get SUBSCRIPTION_PRICES() { + return { + [this.PAYMENT_CARD_CURRENCY.USD]: { + [this.POLICY.TYPE.CORPORATE]: { + [this.SUBSCRIPTION.TYPE.ANNUAL]: 900, + [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 1800, + }, + [this.POLICY.TYPE.TEAM]: { + [this.SUBSCRIPTION.TYPE.ANNUAL]: 500, + [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 1000, }, - [CONST.PAYMENT_CARD_CURRENCY.AUD]: { - [CONST.POLICY.TYPE.CORPORATE]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 1500, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 3000, - }, - [CONST.POLICY.TYPE.TEAM]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 700, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400, - }, + }, + [this.PAYMENT_CARD_CURRENCY.AUD]: { + [this.POLICY.TYPE.CORPORATE]: { + [this.SUBSCRIPTION.TYPE.ANNUAL]: 1500, + [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 3000, }, - [CONST.PAYMENT_CARD_CURRENCY.GBP]: { - [CONST.POLICY.TYPE.CORPORATE]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 700, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400, - }, - [CONST.POLICY.TYPE.TEAM]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 400, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 800, - }, + [this.POLICY.TYPE.TEAM]: { + [this.SUBSCRIPTION.TYPE.ANNUAL]: 700, + [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400, }, - [CONST.PAYMENT_CARD_CURRENCY.NZD]: { - [CONST.POLICY.TYPE.CORPORATE]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 1600, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 3200, - }, - [CONST.POLICY.TYPE.TEAM]: { - [CONST.SUBSCRIPTION.TYPE.ANNUAL]: 800, - [CONST.SUBSCRIPTION.TYPE.PAYPERUSE]: 1600, - }, + }, + [CONST.PAYMENT_CARD_CURRENCY.GBP]: { + [this.POLICY.TYPE.CORPORATE]: { + [this.SUBSCRIPTION.TYPE.ANNUAL]: 700, + [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400, }, - }; - }, + [this.POLICY.TYPE.TEAM]: { + [this.SUBSCRIPTION.TYPE.ANNUAL]: 400, + [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 800, + }, + }, + [CONST.PAYMENT_CARD_CURRENCY.NZD]: { + [this.POLICY.TYPE.CORPORATE]: { + [this.SUBSCRIPTION.TYPE.ANNUAL]: 1600, + [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 3200, + }, + [this.POLICY.TYPE.TEAM]: { + [this.SUBSCRIPTION.TYPE.ANNUAL]: 800, + [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 1600, + }, + }, + }; }, REGEX: { SPECIAL_CHARS_WITHOUT_NEWLINE: /((?!\n)[()-\s\t])/g, diff --git a/src/hooks/useSubscriptionPrice.ts b/src/hooks/useSubscriptionPrice.ts index 742722a266556..3185ee1aaa470 100644 --- a/src/hooks/useSubscriptionPrice.ts +++ b/src/hooks/useSubscriptionPrice.ts @@ -13,7 +13,7 @@ function useSubscriptionPrice(): number { return 0; } - return CONST.SUBSCRIPTION.PRICES[preferredCurrency][subscriptionPlan][privateSubscription.type]; + return CONST.SUBSCRIPTION_PRICES[preferredCurrency][subscriptionPlan][privateSubscription.type]; } export default useSubscriptionPrice; diff --git a/src/pages/workspace/upgrade/UpgradeIntro.tsx b/src/pages/workspace/upgrade/UpgradeIntro.tsx index ea29b0120e932..dae017a11890e 100644 --- a/src/pages/workspace/upgrade/UpgradeIntro.tsx +++ b/src/pages/workspace/upgrade/UpgradeIntro.tsx @@ -39,12 +39,12 @@ function UpgradeIntro({feature, onUpgrade, buttonDisabled, loading, isCategorizi const preferredCurrency = usePreferredCurrency(); const formattedPrice = React.useMemo(() => { - const upgradeCurrency: keyof typeof CONST.SUBSCRIPTION.PRICES = Object.hasOwn(CONST.SUBSCRIPTION.PRICES, preferredCurrency) - ? (preferredCurrency as keyof typeof CONST.SUBSCRIPTION.PRICES) + const upgradeCurrency: keyof typeof CONST.SUBSCRIPTION_PRICES = Object.hasOwn(CONST.SUBSCRIPTION_PRICES, preferredCurrency) + ? (preferredCurrency as keyof typeof CONST.SUBSCRIPTION_PRICES) : CONST.PAYMENT_CARD_CURRENCY.USD; - const upgradePlan: keyof (typeof CONST.SUBSCRIPTION.PRICES)[typeof upgradeCurrency] = + const upgradePlan: keyof (typeof CONST.SUBSCRIPTION_PRICES)[typeof upgradeCurrency] = !isCategorizing || subscriptionPlan === CONST.POLICY.TYPE.CORPORATE ? CONST.POLICY.TYPE.CORPORATE : CONST.POLICY.TYPE.TEAM; - const annualPrice: number = CONST.SUBSCRIPTION.PRICES[upgradeCurrency][upgradePlan][CONST.SUBSCRIPTION.TYPE.ANNUAL]; + const annualPrice: number = CONST.SUBSCRIPTION_PRICES[upgradeCurrency][upgradePlan][CONST.SUBSCRIPTION.TYPE.ANNUAL]; return `${convertToShortDisplayString(annualPrice, upgradeCurrency)} `; }, [preferredCurrency, subscriptionPlan, isCategorizing]); From 9512961e7063cdee580eddf711897b17678b3c0d Mon Sep 17 00:00:00 2001 From: Antony Kithinzi Date: Mon, 23 Dec 2024 13:51:59 +0100 Subject: [PATCH 08/10] Simplified formattedPrice function --- src/pages/workspace/upgrade/UpgradeIntro.tsx | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/pages/workspace/upgrade/UpgradeIntro.tsx b/src/pages/workspace/upgrade/UpgradeIntro.tsx index dae017a11890e..a13519c87ad08 100644 --- a/src/pages/workspace/upgrade/UpgradeIntro.tsx +++ b/src/pages/workspace/upgrade/UpgradeIntro.tsx @@ -39,14 +39,11 @@ function UpgradeIntro({feature, onUpgrade, buttonDisabled, loading, isCategorizi const preferredCurrency = usePreferredCurrency(); const formattedPrice = React.useMemo(() => { - const upgradeCurrency: keyof typeof CONST.SUBSCRIPTION_PRICES = Object.hasOwn(CONST.SUBSCRIPTION_PRICES, preferredCurrency) - ? (preferredCurrency as keyof typeof CONST.SUBSCRIPTION_PRICES) - : CONST.PAYMENT_CARD_CURRENCY.USD; - const upgradePlan: keyof (typeof CONST.SUBSCRIPTION_PRICES)[typeof upgradeCurrency] = - !isCategorizing || subscriptionPlan === CONST.POLICY.TYPE.CORPORATE ? CONST.POLICY.TYPE.CORPORATE : CONST.POLICY.TYPE.TEAM; - const annualPrice: number = CONST.SUBSCRIPTION_PRICES[upgradeCurrency][upgradePlan][CONST.SUBSCRIPTION.TYPE.ANNUAL]; - return `${convertToShortDisplayString(annualPrice, upgradeCurrency)} `; - }, [preferredCurrency, subscriptionPlan, isCategorizing]); + const upgradePlan = isCategorizing ? CONST.POLICY.TYPE.TEAM : CONST.POLICY.TYPE.CORPORATE; + const upgradeCurrency = Object.hasOwn(CONST.SUBSCRIPTION_PRICES, preferredCurrency) ? preferredCurrency : CONST.PAYMENT_CARD_CURRENCY.USD; + const upgradePrice = CONST.SUBSCRIPTION_PRICES[upgradeCurrency][upgradePlan][CONST.SUBSCRIPTION.TYPE.ANNUAL]; + return `${convertToShortDisplayString(upgradePrice, upgradeCurrency)} `; + }, [preferredCurrency, isCategorizing]); if (!feature) { return ( From 7f160e1c2d2ca9bfc7b6ec63f1a24fc73d39622e Mon Sep 17 00:00:00 2001 From: "Antony M. Kithinzi" Date: Wed, 25 Dec 2024 00:35:30 +0300 Subject: [PATCH 09/10] Update src/CONST.ts Co-authored-by: ahmedGaber93 <41129870+ahmedGaber93@users.noreply.github.com> --- src/CONST.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CONST.ts b/src/CONST.ts index 7c8d0ba8355b7..f81b0cef578a5 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -3006,7 +3006,7 @@ const CONST = { [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 800, }, }, - [CONST.PAYMENT_CARD_CURRENCY.NZD]: { + [this.PAYMENT_CARD_CURRENCY.NZD]: { [this.POLICY.TYPE.CORPORATE]: { [this.SUBSCRIPTION.TYPE.ANNUAL]: 1600, [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 3200, From a794a25a72d371ebe5c02833c176180a3ec01084 Mon Sep 17 00:00:00 2001 From: "Antony M. Kithinzi" Date: Wed, 25 Dec 2024 00:35:38 +0300 Subject: [PATCH 10/10] Update src/CONST.ts Co-authored-by: ahmedGaber93 <41129870+ahmedGaber93@users.noreply.github.com> --- src/CONST.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CONST.ts b/src/CONST.ts index f81b0cef578a5..aec96fc28a522 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -2996,7 +2996,7 @@ const CONST = { [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400, }, }, - [CONST.PAYMENT_CARD_CURRENCY.GBP]: { + [this.PAYMENT_CARD_CURRENCY.GBP]: { [this.POLICY.TYPE.CORPORATE]: { [this.SUBSCRIPTION.TYPE.ANNUAL]: 700, [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400,