diff options
author | Stefan Malzner <stefan@adlk.io> | 2019-08-08 19:50:17 +0200 |
---|---|---|
committer | Stefan Malzner <stefan@adlk.io> | 2019-08-08 19:50:17 +0200 |
commit | 524d55f46e3834a84db17945eaa1c65891f06547 (patch) | |
tree | e7b1e5dcd77d1b094fd5bc911e75bf40c47862cc /src/helpers | |
parent | Fix service restriction on pro plan (diff) | |
download | ferdium-app-524d55f46e3834a84db17945eaa1c65891f06547.tar.gz ferdium-app-524d55f46e3834a84db17945eaa1c65891f06547.tar.zst ferdium-app-524d55f46e3834a84db17945eaa1c65891f06547.zip |
Add option to subscribe to trial via account dashboard
Diffstat (limited to 'src/helpers')
-rw-r--r-- | src/helpers/plan-helpers.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/helpers/plan-helpers.js b/src/helpers/plan-helpers.js new file mode 100644 index 000000000..37a4457af --- /dev/null +++ b/src/helpers/plan-helpers.js | |||
@@ -0,0 +1,43 @@ | |||
1 | import { defineMessages } from 'react-intl'; | ||
2 | import { PLANS_MAPPING, PLANS } from '../config'; | ||
3 | |||
4 | const messages = defineMessages({ | ||
5 | [PLANS.PRO_YEARLY]: { | ||
6 | id: 'pricing.plan.pro-yearly', | ||
7 | defaultMessage: '!!!Franz Professional Yearly', | ||
8 | }, | ||
9 | [PLANS.PRO_MONTHLY]: { | ||
10 | id: 'pricing.plan.pro-monthly', | ||
11 | defaultMessage: '!!!Franz Professional Monthly', | ||
12 | }, | ||
13 | [PLANS.PERSONAL_YEARLY]: { | ||
14 | id: 'pricing.plan.personal-yearly', | ||
15 | defaultMessage: '!!!Franz Personal Yearly', | ||
16 | }, | ||
17 | [PLANS.PERSONAL_MONTHLY]: { | ||
18 | id: 'pricing.plan.personal-monthly', | ||
19 | defaultMessage: '!!!Franz Personal Monthly', | ||
20 | }, | ||
21 | [PLANS.FREE]: { | ||
22 | id: 'pricing.plan.free', | ||
23 | defaultMessage: '!!!Franz Free', | ||
24 | }, | ||
25 | [PLANS.LEGACY]: { | ||
26 | id: 'pricing.plan.legacy', | ||
27 | defaultMessage: '!!!Franz Premium', | ||
28 | }, | ||
29 | }); | ||
30 | |||
31 | export function i18nPlanName(planId, intl) { | ||
32 | if (!planId) { | ||
33 | throw new Error('planId is required'); | ||
34 | } | ||
35 | |||
36 | if (!intl) { | ||
37 | throw new Error('intl context is required'); | ||
38 | } | ||
39 | |||
40 | const plan = PLANS_MAPPING[planId]; | ||
41 | |||
42 | return intl.formatMessage(messages[plan]); | ||
43 | } | ||