diff --git a/src/CONST.ts b/src/CONST.ts
index e317c19d96d2d..aec96fc28a522 100755
--- a/src/CONST.ts
+++ b/src/CONST.ts
@@ -2974,6 +2974,50 @@ const CONST = {
PAYPERUSE: 'monthly2018',
},
},
+ 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,
+ },
+ },
+ [this.PAYMENT_CARD_CURRENCY.AUD]: {
+ [this.POLICY.TYPE.CORPORATE]: {
+ [this.SUBSCRIPTION.TYPE.ANNUAL]: 1500,
+ [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 3000,
+ },
+ [this.POLICY.TYPE.TEAM]: {
+ [this.SUBSCRIPTION.TYPE.ANNUAL]: 700,
+ [this.SUBSCRIPTION.TYPE.PAYPERUSE]: 1400,
+ },
+ },
+ [this.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,
+ },
+ },
+ [this.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,
DIGITS_AND_PLUS: /^\+?[0-9]*$/,
diff --git a/src/hooks/useSubscriptionPrice.ts b/src/hooks/useSubscriptionPrice.ts
index 0b71fe62c7c8d..3185ee1aaa470 100644
--- a/src/hooks/useSubscriptionPrice.ts
+++ b/src/hooks/useSubscriptionPrice.ts
@@ -4,49 +4,6 @@ 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 {
const preferredCurrency = usePreferredCurrency();
const subscriptionPlan = useSubscriptionPlan();
@@ -56,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;
diff --git a/src/languages/en.ts b/src/languages/en.ts
index 77e3b882b892a..78dfcc89c0716 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 09a0394ea6a0d..9dbce1a9999c0 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -4415,8 +4415,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',
diff --git a/src/pages/workspace/upgrade/UpgradeIntro.tsx b/src/pages/workspace/upgrade/UpgradeIntro.tsx
index 277e29ec6db10..a13519c87ad08 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';
@@ -34,6 +36,14 @@ function UpgradeIntro({feature, onUpgrade, buttonDisabled, loading, isCategorizi
const {translate} = useLocalize();
const {environmentURL} = useEnvironment();
const subscriptionPlan = useSubscriptionPlan();
+ const preferredCurrency = usePreferredCurrency();
+
+ const formattedPrice = React.useMemo(() => {
+ 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 (
@@ -77,9 +87,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`)}