From 102dc65cfec21d79542ff6b01a3ead121505251f Mon Sep 17 00:00:00 2001 From: vantezzen Date: Thu, 24 Oct 2019 15:19:10 +0200 Subject: Fix lint --- src/components/ui/PremiumFeatureContainer/index.js | 2 +- .../containers/PlanSelectionScreen.js | 2 +- src/features/planSelection/index.js | 2 - src/i18n/locales/defaultMessages.json | 749 +++++++++++++++++---- src/i18n/locales/en-US.json | 41 +- .../messages/src/components/layout/AppLayout.json | 4 +- .../planSelection/components/PlanSelection.json | 48 +- .../containers/PlanSelectionScreen.json | 16 +- src/stores/AppStore.js | 6 +- 9 files changed, 706 insertions(+), 164 deletions(-) diff --git a/src/components/ui/PremiumFeatureContainer/index.js b/src/components/ui/PremiumFeatureContainer/index.js index 611c50468..36bf38c98 100644 --- a/src/components/ui/PremiumFeatureContainer/index.js +++ b/src/components/ui/PremiumFeatureContainer/index.js @@ -9,7 +9,7 @@ import { oneOrManyChildElements } from '../../../prop-types'; import UserStore from '../../../stores/UserStore'; import styles from './styles'; -import FeatureStore from '../../../stores/FeaturesStore'; +import FeaturesStore from '../../../stores/FeaturesStore'; const messages = defineMessages({ action: { diff --git a/src/features/planSelection/containers/PlanSelectionScreen.js b/src/features/planSelection/containers/PlanSelectionScreen.js index d04668279..d202c924e 100644 --- a/src/features/planSelection/containers/PlanSelectionScreen.js +++ b/src/features/planSelection/containers/PlanSelectionScreen.js @@ -8,7 +8,7 @@ import FeaturesStore from '../../../stores/FeaturesStore'; import UserStore from '../../../stores/UserStore'; import PlanSelection from '../components/PlanSelection'; import ErrorBoundary from '../../../components/util/ErrorBoundary'; -import { planSelectionStore, GA_CATEGORY_PLAN_SELECTION } from '..'; +import { planSelectionStore } from '..'; const { dialog, app } = remote; diff --git a/src/features/planSelection/index.js b/src/features/planSelection/index.js index 81189207a..890be8871 100644 --- a/src/features/planSelection/index.js +++ b/src/features/planSelection/index.js @@ -3,8 +3,6 @@ import PlanSelectionStore from './store'; const debug = require('debug')('Franz:feature:planSelection'); -export const GA_CATEGORY_PLAN_SELECTION = 'planSelection'; - export const planSelectionStore = new PlanSelectionStore(); export default function initPlanSelection(stores, actions) { diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index b056f0d1b..bb65ccdf2 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json @@ -539,120 +539,172 @@ { "descriptors": [ { - "defaultMessage": "!!!Franz Professional", + "defaultMessage": "!!!Hi {name}, welcome to Franz", "end": { "column": 3, "line": 18 }, "file": "src/components/auth/Pricing.js", - "id": "pricing.trial.headline", + "id": "pricing.trial.headline.pro", "start": { "column": 12, "line": 15 } }, { - "defaultMessage": "!!!Your personal welcome offer:", + "defaultMessage": "!!!We have a special treat for you.", "end": { "column": 3, "line": 22 }, "file": "src/components/auth/Pricing.js", - "id": "pricing.trial.subheadline", + "id": "pricing.trial.intro.specialTreat", "start": { - "column": 17, + "column": 16, "line": 19 } }, { - "defaultMessage": "!!!No strings attached", + "defaultMessage": "!!!Enjoy the full Franz Professional experience completely free for 14 days.", "end": { "column": 3, "line": 26 }, "file": "src/components/auth/Pricing.js", + "id": "pricing.trial.intro.tryPro", + "start": { + "column": 10, + "line": 23 + } + }, + { + "defaultMessage": "!!!Happy messaging,", + "end": { + "column": 3, + "line": 30 + }, + "file": "src/components/auth/Pricing.js", + "id": "pricing.trial.intro.happyMessaging", + "start": { + "column": 18, + "line": 27 + } + }, + { + "defaultMessage": "!!!No strings attached", + "end": { + "column": 3, + "line": 34 + }, + "file": "src/components/auth/Pricing.js", "id": "pricing.trial.terms.headline", "start": { "column": 29, - "line": 23 + "line": 31 } }, { "defaultMessage": "!!!No credit card required", "end": { "column": 3, - "line": 30 + "line": 38 }, "file": "src/components/auth/Pricing.js", "id": "pricing.trial.terms.noCreditCard", "start": { "column": 16, - "line": 27 + "line": 35 } }, { "defaultMessage": "!!!Your free trial ends automatically after 14 days", "end": { "column": 3, - "line": 34 + "line": 42 }, "file": "src/components/auth/Pricing.js", "id": "pricing.trial.terms.automaticTrialEnd", "start": { "column": 21, - "line": 31 + "line": 39 + } + }, + { + "defaultMessage": "!!!Free trial (normally {currency}{price} per month)", + "end": { + "column": 3, + "line": 46 + }, + "file": "src/components/auth/Pricing.js", + "id": "pricing.trial.terms.trialWorth", + "start": { + "column": 14, + "line": 43 } }, { "defaultMessage": "!!!Sorry, we could not activate your trial!", "end": { "column": 3, - "line": 38 + "line": 50 }, "file": "src/components/auth/Pricing.js", "id": "pricing.trial.error", "start": { "column": 19, - "line": 35 + "line": 47 } }, { - "defaultMessage": "!!!Yes, upgrade my account to Franz Professional", + "defaultMessage": "!!!Start my 14-day Franz Professional Trial", "end": { "column": 3, - "line": 42 + "line": 54 }, "file": "src/components/auth/Pricing.js", "id": "pricing.trial.cta.accept", "start": { "column": 13, - "line": 39 + "line": 51 + } + }, + { + "defaultMessage": "!!!Start using Franz", + "end": { + "column": 3, + "line": 58 + }, + "file": "src/components/auth/Pricing.js", + "id": "pricing.trial.cta.start", + "start": { + "column": 12, + "line": 55 } }, { "defaultMessage": "!!!Continue to Ferdi", "end": { "column": 3, - "line": 46 + "line": 62 }, "file": "src/components/auth/Pricing.js", "id": "pricing.trial.cta.skip", "start": { "column": 11, - "line": 43 + "line": 59 } }, { "defaultMessage": "!!!Franz Professional includes:", "end": { "column": 3, - "line": 50 + "line": 66 }, "file": "src/components/auth/Pricing.js", "id": "pricing.trial.features.headline", "start": { "column": 20, - "line": 47 + "line": 63 } } ], @@ -882,52 +934,52 @@ "defaultMessage": "!!!Your services have been updated.", "end": { "column": 3, - "line": 31 + "line": 33 }, "file": "src/components/layout/AppLayout.js", "id": "infobar.servicesUpdated", "start": { "column": 19, - "line": 28 + "line": 30 } }, { "defaultMessage": "!!!Reload services", "end": { "column": 3, - "line": 35 + "line": 37 }, "file": "src/components/layout/AppLayout.js", "id": "infobar.buttonReloadServices", "start": { "column": 24, - "line": 32 + "line": 34 } }, { "defaultMessage": "!!!Could not load services and user information", "end": { "column": 3, - "line": 39 + "line": 41 }, "file": "src/components/layout/AppLayout.js", "id": "infobar.requiredRequestsFailed", "start": { "column": 26, - "line": 36 + "line": 38 } }, { "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", "end": { "column": 3, - "line": 43 + "line": 45 }, "file": "src/components/layout/AppLayout.js", "id": "infobar.authRequestFailed", "start": { "column": 21, - "line": 40 + "line": 42 } } ], @@ -3494,134 +3546,199 @@ }, { "descriptors": [ + { + "defaultMessage": "!!!Choose from more than 70 Services", + "end": { + "column": 3, + "line": 12 + }, + "file": "src/components/ui/FeatureList.js", + "id": "pricing.features.recipes", + "start": { + "column": 20, + "line": 9 + } + }, + { + "defaultMessage": "!!!Account Synchronisation", + "end": { + "column": 3, + "line": 16 + }, + "file": "src/components/ui/FeatureList.js", + "id": "pricing.features.accountSync", + "start": { + "column": 15, + "line": 13 + } + }, + { + "defaultMessage": "!!!Desktop Notifications", + "end": { + "column": 3, + "line": 20 + }, + "file": "src/components/ui/FeatureList.js", + "id": "pricing.features.desktopNotifications", + "start": { + "column": 24, + "line": 17 + } + }, { "defaultMessage": "!!!Add unlimited services", "end": { "column": 3, - "line": 11 + "line": 24 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.unlimitedServices", "start": { "column": 21, - "line": 8 + "line": 21 + } + }, + { + "defaultMessage": "!!!Add up to 3 services", + "end": { + "column": 3, + "line": 28 + }, + "file": "src/components/ui/FeatureList.js", + "id": "pricing.features.upToThreeServices", + "start": { + "column": 21, + "line": 25 + } + }, + { + "defaultMessage": "!!!Add up to 6 services", + "end": { + "column": 3, + "line": 32 + }, + "file": "src/components/ui/FeatureList.js", + "id": "pricing.features.upToSixServices", + "start": { + "column": 19, + "line": 29 } }, { "defaultMessage": "!!!Spellchecker support", "end": { "column": 3, - "line": 15 + "line": 36 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.spellchecker", "start": { "column": 16, - "line": 12 + "line": 33 } }, { "defaultMessage": "!!!Workspaces", "end": { "column": 3, - "line": 19 + "line": 40 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.workspaces", "start": { "column": 14, - "line": 16 + "line": 37 } }, { "defaultMessage": "!!!Add Custom Websites", "end": { "column": 3, - "line": 23 + "line": 44 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.customWebsites", "start": { "column": 18, - "line": 20 + "line": 41 } }, { "defaultMessage": "!!!On-premise & other Hosted Services", "end": { "column": 3, - "line": 27 + "line": 48 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.onPremise", "start": { "column": 13, - "line": 24 + "line": 45 } }, { "defaultMessage": "!!!Install 3rd party services", "end": { "column": 3, - "line": 31 + "line": 52 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.thirdPartyServices", "start": { "column": 22, - "line": 28 + "line": 49 } }, { "defaultMessage": "!!!Service Proxies", "end": { "column": 3, - "line": 35 + "line": 56 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.serviceProxies", "start": { "column": 18, - "line": 32 + "line": 53 } }, { "defaultMessage": "!!!Team Management", "end": { "column": 3, - "line": 39 + "line": 60 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.teamManagement", "start": { "column": 18, - "line": 36 + "line": 57 } }, { "defaultMessage": "!!!No Waiting Screens", "end": { "column": 3, - "line": 43 + "line": 64 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.appDelays", "start": { "column": 13, - "line": 40 + "line": 61 } }, { "defaultMessage": "!!!Forever ad-free", "end": { "column": 3, - "line": 47 + "line": 68 }, "file": "src/components/ui/FeatureList.js", "id": "pricing.features.adFree", "start": { "column": 10, - "line": 44 + "line": 65 } } ], @@ -4450,7 +4567,7 @@ } }, { - "defaultMessage": "!!!Get a Franz Supporter License", + "defaultMessage": "!!!Upgrade Franz", "end": { "column": 3, "line": 25 @@ -4494,100 +4611,393 @@ { "descriptors": [ { - "defaultMessage": "!!!QuickSwitch", + "defaultMessage": "!!!per month", "end": { "column": 3, - "line": 19 + "line": 18 }, - "file": "src/features/quickSwitch/Component.js", - "id": "feature.quickSwitch.title", + "file": "src/features/planSelection/components/PlanItem.js", + "id": "subscription.interval.perMonth", "start": { - "column": 9, - "line": 16 + "column": 12, + "line": 15 } }, { - "defaultMessage": "!!!Search...", + "defaultMessage": "!!!per month & user", "end": { "column": 3, - "line": 23 + "line": 22 }, - "file": "src/features/quickSwitch/Component.js", - "id": "feature.quickSwitch.search", + "file": "src/features/planSelection/components/PlanItem.js", + "id": "subscription.interval.perMonthPerUser", "start": { - "column": 10, - "line": 20 + "column": 19, + "line": 19 } }, { - "defaultMessage": "!!!Select a service with TAB, ↑ and ↓. Open a service with ENTER.", + "defaultMessage": "!!!Best value", "end": { "column": 3, - "line": 27 + "line": 26 }, - "file": "src/features/quickSwitch/Component.js", - "id": "feature.quickSwitch.info", + "file": "src/features/planSelection/components/PlanItem.js", + "id": "subscription.bestValue", "start": { - "column": 8, - "line": 24 + "column": 13, + "line": 23 } } ], - "path": "src/features/quickSwitch/Component.json" + "path": "src/features/planSelection/components/PlanItem.json" }, { "descriptors": [ { - "defaultMessage": "!!!Changes in Franz {version}", + "defaultMessage": "!!!Are you ready to choose, {name}", "end": { "column": 3, - "line": 23 + "line": 20 }, - "file": "src/features/serviceLimit/components/AnnouncementScreen.js", - "id": "feature.announcements.changelog.headline", + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.fullscreen.welcome", "start": { - "column": 12, - "line": 20 + "column": 11, + "line": 17 } - } - ], - "path": "src/features/serviceLimit/components/AnnouncementScreen.json" - }, - { - "descriptors": [ + }, { - "defaultMessage": "!!!You have added {amount} of {limit} services. Please upgrade your account to add more services.", + "defaultMessage": "!!!It's time to make a choice. Franz works best on our Personal and Professional plans. Please have a look and choose the best one for you.", "end": { "column": 3, - "line": 12 + "line": 24 }, - "file": "src/features/serviceLimit/components/LimitReachedInfobox.js", - "id": "feature.serviceLimit.limitReached", + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.fullscreen.subheadline", "start": { - "column": 16, - "line": 9 + "column": 15, + "line": 21 } }, { - "defaultMessage": "!!!Upgrade account", + "defaultMessage": "!!!Basic functionality", "end": { "column": 3, - "line": 16 + "line": 28 }, - "file": "src/features/serviceLimit/components/LimitReachedInfobox.js", - "id": "premiumFeature.button.upgradeAccount", + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.free.text", "start": { - "column": 10, - "line": 13 + "column": 12, + "line": 25 } - } - ], - "path": "src/features/serviceLimit/components/LimitReachedInfobox.json" - }, - { - "descriptors": [ + }, { - "defaultMessage": "!!!Ferdi is better together!", + "defaultMessage": "!!!More services, no waiting - ideal for personal use.", + "end": { + "column": 3, + "line": 32 + }, + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.personal.text", + "start": { + "column": 16, + "line": 29 + } + }, + { + "defaultMessage": "!!!Unlimited services and professional features for you - and your team.", + "end": { + "column": 3, + "line": 36 + }, + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.pro.text", + "start": { + "column": 20, + "line": 33 + } + }, + { + "defaultMessage": "!!!Stay on Free", + "end": { + "column": 3, + "line": 40 + }, + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.cta.stayOnFree", + "start": { + "column": 17, + "line": 37 + } + }, + { + "defaultMessage": "!!!Downgrade to Free", + "end": { + "column": 3, + "line": 44 + }, + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.cta.ctaDowngradeFree", + "start": { + "column": 20, + "line": 41 + } + }, + { + "defaultMessage": "!!!Start my free 14-days Trial", + "end": { + "column": 3, + "line": 48 + }, + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.cta.trial", + "start": { + "column": 15, + "line": 45 + } + }, + { + "defaultMessage": "!!!Choose Personal", + "end": { + "column": 3, + "line": 52 + }, + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.cta.upgradePersonal", + "start": { + "column": 23, + "line": 49 + } + }, + { + "defaultMessage": "!!!Choose Professional", + "end": { + "column": 3, + "line": 56 + }, + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.cta.upgradePro", + "start": { + "column": 18, + "line": 53 + } + }, + { + "defaultMessage": "!!!Complete comparison of all plans", + "end": { + "column": 3, + "line": 60 + }, + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.fullFeatureList", + "start": { + "column": 19, + "line": 57 + } + }, + { + "defaultMessage": "!!!All prices based on yearly payment", + "end": { + "column": 3, + "line": 64 + }, + "file": "src/features/planSelection/components/PlanSelection.js", + "id": "feature.planSelection.pricesBasedOnAnnualPayment", + "start": { + "column": 30, + "line": 61 + } + } + ], + "path": "src/features/planSelection/components/PlanSelection.json" + }, + { + "descriptors": [ + { + "defaultMessage": "!!!per {interval}", + "end": { + "column": 3, + "line": 19 + }, + "file": "src/features/planSelection/components/PlanTeaser.js", + "id": "subscription.interval.per", + "start": { + "column": 7, + "line": 16 + } + }, + { + "defaultMessage": "!!!Upgrade Account", + "end": { + "column": 3, + "line": 23 + }, + "file": "src/features/planSelection/components/PlanTeaser.js", + "id": "subscription.planItem.upgradeAccount", + "start": { + "column": 7, + "line": 20 + } + } + ], + "path": "src/features/planSelection/components/PlanTeaser.json" + }, + { + "descriptors": [ + { + "defaultMessage": "!!!Downgrade your Franz Plan", + "end": { + "column": 3, + "line": 19 + }, + "file": "src/features/planSelection/containers/PlanSelectionScreen.js", + "id": "feature.planSelection.fullscreen.dialog.title", + "start": { + "column": 15, + "line": 16 + } + }, + { + "defaultMessage": "!!!You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.", + "end": { + "column": 3, + "line": 23 + }, + "file": "src/features/planSelection/containers/PlanSelectionScreen.js", + "id": "feature.planSelection.fullscreen.dialog.message", + "start": { + "column": 17, + "line": 20 + } + }, + { + "defaultMessage": "!!!Downgrade to Free", + "end": { + "column": 3, + "line": 27 + }, + "file": "src/features/planSelection/containers/PlanSelectionScreen.js", + "id": "feature.planSelection.fullscreen.dialog.cta.downgrade", + "start": { + "column": 22, + "line": 24 + } + }, + { + "defaultMessage": "!!!Choose Personal", + "end": { + "column": 3, + "line": 31 + }, + "file": "src/features/planSelection/containers/PlanSelectionScreen.js", + "id": "feature.planSelection.fullscreen.dialog.cta.upgrade", + "start": { + "column": 20, + "line": 28 + } + } + ], + "path": "src/features/planSelection/containers/PlanSelectionScreen.json" + }, + { + "descriptors": [ + { + "defaultMessage": "!!!QuickSwitch", + "end": { + "column": 3, + "line": 19 + }, + "file": "src/features/quickSwitch/Component.js", + "id": "feature.quickSwitch.title", + "start": { + "column": 9, + "line": 16 + } + }, + { + "defaultMessage": "!!!Search...", + "end": { + "column": 3, + "line": 23 + }, + "file": "src/features/quickSwitch/Component.js", + "id": "feature.quickSwitch.search", + "start": { + "column": 10, + "line": 20 + } + }, + { + "defaultMessage": "!!!Select a service with TAB, ↑ and ↓. Open a service with ENTER.", + "end": { + "column": 3, + "line": 27 + }, + "file": "src/features/quickSwitch/Component.js", + "id": "feature.quickSwitch.info", + "start": { + "column": 8, + "line": 24 + } + } + ], + "path": "src/features/quickSwitch/Component.json" + }, + { + "descriptors": [ + { + "defaultMessage": "!!!Changes in Franz {version}", + "end": { + "column": 3, + "line": 23 + }, + "file": "src/features/serviceLimit/components/AnnouncementScreen.js", + "id": "feature.announcements.changelog.headline", + "start": { + "column": 12, + "line": 20 + } + } + ], + "path": "src/features/serviceLimit/components/AnnouncementScreen.json" + }, + { + "descriptors": [ + { + "defaultMessage": "!!!You have added {amount} of {limit} services. Please upgrade your account to add more services.", + "end": { + "column": 3, + "line": 12 + }, + "file": "src/features/serviceLimit/components/LimitReachedInfobox.js", + "id": "feature.serviceLimit.limitReached", + "start": { + "column": 16, + "line": 9 + } + }, + { + "defaultMessage": "!!!Upgrade account", + "end": { + "column": 3, + "line": 16 + }, + "file": "src/features/serviceLimit/components/LimitReachedInfobox.js", + "id": "premiumFeature.button.upgradeAccount", + "start": { + "column": 10, + "line": 13 + } + } + ], + "path": "src/features/serviceLimit/components/LimitReachedInfobox.json" + }, + { + "descriptors": [ + { + "defaultMessage": "!!!Ferdi is better together!", "end": { "column": 3, "line": 20 @@ -4724,6 +5134,107 @@ ], "path": "src/features/todos/components/TodosWebview.json" }, + { + "descriptors": [ + { + "defaultMessage": "!!!Your Free Franz {plan} Trial ends in {time}.", + "end": { + "column": 3, + "line": 16 + }, + "file": "src/features/trialStatusBar/components/TrialStatusBar.js", + "id": "feature.trialStatusBar.restTime", + "start": { + "column": 12, + "line": 13 + } + }, + { + "defaultMessage": "!!!Your free Franz {plan} Trial has expired, please upgrade your account.", + "end": { + "column": 3, + "line": 20 + }, + "file": "src/features/trialStatusBar/components/TrialStatusBar.js", + "id": "feature.trialStatusBar.expired", + "start": { + "column": 11, + "line": 17 + } + }, + { + "defaultMessage": "!!!Upgrade now", + "end": { + "column": 3, + "line": 24 + }, + "file": "src/features/trialStatusBar/components/TrialStatusBar.js", + "id": "feature.trialStatusBar.cta", + "start": { + "column": 7, + "line": 21 + } + } + ], + "path": "src/features/trialStatusBar/components/TrialStatusBar.json" + }, + { + "descriptors": [ + { + "defaultMessage": "!!!Downgrade your Franz Plan", + "end": { + "column": 3, + "line": 19 + }, + "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js", + "id": "feature.trialStatusBar.fullscreen.dialog.title", + "start": { + "column": 15, + "line": 16 + } + }, + { + "defaultMessage": "!!!You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.", + "end": { + "column": 3, + "line": 23 + }, + "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js", + "id": "feature.trialStatusBar.fullscreen.dialog.message", + "start": { + "column": 17, + "line": 20 + } + }, + { + "defaultMessage": "!!!Downgrade to Free", + "end": { + "column": 3, + "line": 27 + }, + "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js", + "id": "feature.trialStatusBar.fullscreen.dialog.cta.downgrade", + "start": { + "column": 22, + "line": 24 + } + }, + { + "defaultMessage": "!!!Choose Personal", + "end": { + "column": 3, + "line": 31 + }, + "file": "src/features/trialStatusBar/containers/TrialStatusBarScreen.js", + "id": "feature.trialStatusBar.fullscreen.dialog.cta.upgrade", + "start": { + "column": 20, + "line": 28 + } + } + ], + "path": "src/features/trialStatusBar/containers/TrialStatusBarScreen.json" + }, { "descriptors": [ { @@ -5093,104 +5604,104 @@ "defaultMessage": "!!!Your workspaces", "end": { "column": 3, - "line": 22 + "line": 23 }, "file": "src/features/workspaces/components/WorkspacesDashboard.js", "id": "settings.workspaces.headline", "start": { "column": 12, - "line": 19 + "line": 20 } }, { "defaultMessage": "!!!You haven't added any workspaces yet.", "end": { "column": 3, - "line": 26 + "line": 27 }, "file": "src/features/workspaces/components/WorkspacesDashboard.js", "id": "settings.workspaces.noWorkspacesAdded", "start": { "column": 19, - "line": 23 + "line": 24 } }, { "defaultMessage": "!!!Could not load your workspaces", "end": { "column": 3, - "line": 30 + "line": 31 }, "file": "src/features/workspaces/components/WorkspacesDashboard.js", "id": "settings.workspaces.workspacesRequestFailed", "start": { "column": 27, - "line": 27 + "line": 28 } }, { "defaultMessage": "!!!Try again", "end": { "column": 3, - "line": 34 + "line": 35 }, "file": "src/features/workspaces/components/WorkspacesDashboard.js", "id": "settings.workspaces.tryReloadWorkspaces", "start": { "column": 23, - "line": 31 + "line": 32 } }, { "defaultMessage": "!!!Your changes have been saved", "end": { "column": 3, - "line": 38 + "line": 39 }, "file": "src/features/workspaces/components/WorkspacesDashboard.js", "id": "settings.workspaces.updatedInfo", "start": { "column": 15, - "line": 35 + "line": 36 } }, { "defaultMessage": "!!!Workspace has been deleted", "end": { "column": 3, - "line": 42 + "line": 43 }, "file": "src/features/workspaces/components/WorkspacesDashboard.js", "id": "settings.workspaces.deletedInfo", "start": { "column": 15, - "line": 39 + "line": 40 } }, { "defaultMessage": "!!!Info about workspace feature", "end": { "column": 3, - "line": 46 + "line": 47 }, "file": "src/features/workspaces/components/WorkspacesDashboard.js", "id": "settings.workspaces.workspaceFeatureInfo", "start": { "column": 24, - "line": 43 + "line": 44 } }, { "defaultMessage": "!!!Less is More: Introducing Ferdi Workspaces", "end": { "column": 3, - "line": 50 + "line": 51 }, "file": "src/features/workspaces/components/WorkspacesDashboard.js", "id": "settings.workspaces.workspaceFeatureHeadline", "start": { "column": 28, - "line": 47 + "line": 48 } } ], @@ -5217,7 +5728,7 @@ { "descriptors": [ { - "defaultMessage": "!!!Franz Professional", + "defaultMessage": "!!!Professional", "end": { "column": 3, "line": 8 @@ -5230,7 +5741,7 @@ } }, { - "defaultMessage": "!!!Franz Personal", + "defaultMessage": "!!!Personal", "end": { "column": 3, "line": 12 @@ -5243,7 +5754,7 @@ } }, { - "defaultMessage": "!!!Franz Free", + "defaultMessage": "!!!Free", "end": { "column": 3, "line": 16 @@ -5256,7 +5767,7 @@ } }, { - "defaultMessage": "!!!Franz Premium", + "defaultMessage": "!!!Premium", "end": { "column": 3, "line": 20 diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 477bdf43c..a34da1848 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json @@ -9,6 +9,22 @@ "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line", "feature.delayApp.upgrade.action": "Get a Ferdi Supporter License", "feature.delayApp.upgrade.actionShort": "Upgrade account", + "feature.planSelection.cta.ctaDowngradeFree": "Downgrade to Free", + "feature.planSelection.cta.stayOnFree": "Stay on Free", + "feature.planSelection.cta.trial": "Start my free 14-days Trial", + "feature.planSelection.cta.upgradePersonal": "Choose Personal", + "feature.planSelection.cta.upgradePro": "Choose Professional", + "feature.planSelection.free.text": "Basic functionality", + "feature.planSelection.fullFeatureList": "Complete comparison of all plans", + "feature.planSelection.fullscreen.dialog.cta.downgrade": "Downgrade to Free", + "feature.planSelection.fullscreen.dialog.cta.upgrade": "Choose Personal", + "feature.planSelection.fullscreen.dialog.message": "You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.", + "feature.planSelection.fullscreen.dialog.title": "Downgrade your Ferdi Plan", + "feature.planSelection.fullscreen.subheadline": "It's time to make a choice. Ferdi works best on our Personal and Professional plans. Please have a look and choose the best one for you.", + "feature.planSelection.fullscreen.welcome": "Are you ready to choose, {name}", + "feature.planSelection.personal.text": "More services, no waiting - ideal for personal use.", + "feature.planSelection.pricesBasedOnAnnualPayment": "All prices based on yearly payment", + "feature.planSelection.pro.text": "Unlimited services and professional features for you - and your team.", "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", "feature.quickSwitch.search": "Search...", "feature.quickSwitch.title": "QuickSwitch", @@ -23,6 +39,13 @@ "feature.todos.premium.info": "Ferdi Todos are available to premium users now!", "feature.todos.premium.rollout": "Everyone else will have to wait a little longer.", "feature.todos.premium.upgrade": "Upgrade Account", + "feature.trialStatusBar.cta": "Upgrade now", + "feature.trialStatusBar.expired": "Your free Ferdi {plan} Trial has expired, please upgrade your account.", + "feature.trialStatusBar.fullscreen.dialog.cta.downgrade": "Downgrade to Free", + "feature.trialStatusBar.fullscreen.dialog.cta.upgrade": "Choose Personal", + "feature.trialStatusBar.fullscreen.dialog.message": "You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.", + "feature.trialStatusBar.fullscreen.dialog.title": "Downgrade your Ferdi Plan", + "feature.trialStatusBar.restTime": "Your Free Ferdi {plan} Trial ends in {time}.", "global.api.unhealthy": "Can't connect to Ferdi online services", "global.franzProRequired": "Ferdi Professional Required", "global.notConnectedToTheInternet": "You are not connected to the internet.", @@ -140,15 +163,20 @@ "password.submit.label": "Submit", "password.successInfo": "Please check your email", "premiumFeature.button.upgradeAccount": "Upgrade account", + "pricing.features.accountSync": "Account Synchronisation", "pricing.features.adFree": "Forever ad-free", "pricing.features.appDelays": "No Waiting Screens", "pricing.features.customWebsites": "Add Custom Websites", + "pricing.features.desktopNotifications": "Desktop Notifications", "pricing.features.onPremise": "On-premise & other Hosted Services", + "pricing.features.recipes": "Choose from more than 70 Services", "pricing.features.serviceProxies": "Service Proxies", "pricing.features.spellchecker": "Spellchecker support", "pricing.features.teamManagement": "Team Management", "pricing.features.thirdPartyServices": "Install 3rd party services", "pricing.features.unlimitedServices": "Add unlimited services", + "pricing.features.upToSixServices": "Add up to 6 services", + "pricing.features.upToThreeServices": "Add up to 3 services", "pricing.features.workspaces": "Workspaces", "pricing.plan.free": "Ferdi Free", "pricing.plan.legacy": "Ferdi Premium", @@ -160,13 +188,17 @@ "pricing.plan.pro-yearly": "Ferdi Professional Yearly", "pricing.trial.cta.accept": "Yes, upgrade my account to Ferdi Professional", "pricing.trial.cta.skip": "Continue to Ferdi", + "pricing.trial.cta.start": "Start using Ferdi", "pricing.trial.error": "Sorry, we could not activate your trial!", "pricing.trial.features.headline": "Ferdi Professional includes:", - "pricing.trial.headline": "Ferdi Professional", - "pricing.trial.subheadline": "Your personal welcome offer:", + "pricing.trial.headline.pro": "Hi {name}, welcome to Ferdi", + "pricing.trial.intro.happyMessaging": "Happy messaging,", + "pricing.trial.intro.specialTreat": "We have a special treat for you.", + "pricing.trial.intro.tryPro": "Enjoy the full Ferdi Professional experience completely free for 14 days.", "pricing.trial.terms.automaticTrialEnd": "Your free trial ends automatically after 14 days", "pricing.trial.terms.headline": "No strings attached", "pricing.trial.terms.noCreditCard": "No credit card required", + "pricing.trial.terms.trialWorth": "Free trial (normally {currency}{price} per month)", "service.crashHandler.action": "Reload {name}", "service.crashHandler.autoReload": "Trying to automatically restore {name} in {seconds} seconds", "service.crashHandler.headline": "Oh no!", @@ -405,10 +437,15 @@ "signup.link.login": "Already have an account, sign in?", "signup.password.label": "Password", "signup.submit.label": "Create account", + "subscription.bestValue": "Best value", "subscription.cta.activateTrial": "Yes, start the free Ferdi Professional trial", "subscription.cta.allOptions": "See all options", "subscription.cta.choosePlan": "Choose your plan", "subscription.includedProFeatures": "The Ferdi Professional Plan includes:", + "subscription.interval.per": "per {interval}", + "subscription.interval.perMonth": "per month", + "subscription.interval.perMonthPerUser": "per month & user", + "subscription.planItem.upgradeAccount": "Upgrade Account", "subscription.teaser.includedFeatures": "Paid Ferdi Plans include:", "subscription.teaser.intro": "Ferdi 5 comes with a wide range of new features to boost up your everyday communication - batteries included. Check out our new plans and find out which one suits you most!", "subscriptionPopup.buttonCancel": "Cancel", diff --git a/src/i18n/messages/src/components/layout/AppLayout.json b/src/i18n/messages/src/components/layout/AppLayout.json index 8b7fcf1b2..bca181d0f 100644 --- a/src/i18n/messages/src/components/layout/AppLayout.json +++ b/src/i18n/messages/src/components/layout/AppLayout.json @@ -43,11 +43,11 @@ "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", "file": "src/components/layout/AppLayout.js", "start": { - "line": 40, + "line": 42, "column": 21 }, "end": { - "line": 43, + "line": 45, "column": 3 } } diff --git a/src/i18n/messages/src/features/planSelection/components/PlanSelection.json b/src/i18n/messages/src/features/planSelection/components/PlanSelection.json index 7f1de6cfd..ed354146e 100644 --- a/src/i18n/messages/src/features/planSelection/components/PlanSelection.json +++ b/src/i18n/messages/src/features/planSelection/components/PlanSelection.json @@ -4,11 +4,11 @@ "defaultMessage": "!!!Are you ready to choose, {name}", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 18, + "line": 17, "column": 11 }, "end": { - "line": 21, + "line": 20, "column": 3 } }, @@ -17,11 +17,11 @@ "defaultMessage": "!!!It's time to make a choice. Franz works best on our Personal and Professional plans. Please have a look and choose the best one for you.", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 22, + "line": 21, "column": 15 }, "end": { - "line": 25, + "line": 24, "column": 3 } }, @@ -30,11 +30,11 @@ "defaultMessage": "!!!Basic functionality", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 26, + "line": 25, "column": 12 }, "end": { - "line": 29, + "line": 28, "column": 3 } }, @@ -43,11 +43,11 @@ "defaultMessage": "!!!More services, no waiting - ideal for personal use.", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 30, + "line": 29, "column": 16 }, "end": { - "line": 33, + "line": 32, "column": 3 } }, @@ -56,11 +56,11 @@ "defaultMessage": "!!!Unlimited services and professional features for you - and your team.", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 34, + "line": 33, "column": 20 }, "end": { - "line": 37, + "line": 36, "column": 3 } }, @@ -69,11 +69,11 @@ "defaultMessage": "!!!Stay on Free", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 38, + "line": 37, "column": 17 }, "end": { - "line": 41, + "line": 40, "column": 3 } }, @@ -82,11 +82,11 @@ "defaultMessage": "!!!Downgrade to Free", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 42, + "line": 41, "column": 20 }, "end": { - "line": 45, + "line": 44, "column": 3 } }, @@ -95,11 +95,11 @@ "defaultMessage": "!!!Start my free 14-days Trial", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 46, + "line": 45, "column": 15 }, "end": { - "line": 49, + "line": 48, "column": 3 } }, @@ -108,11 +108,11 @@ "defaultMessage": "!!!Choose Personal", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 50, + "line": 49, "column": 23 }, "end": { - "line": 53, + "line": 52, "column": 3 } }, @@ -121,11 +121,11 @@ "defaultMessage": "!!!Choose Professional", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 54, + "line": 53, "column": 18 }, "end": { - "line": 57, + "line": 56, "column": 3 } }, @@ -134,11 +134,11 @@ "defaultMessage": "!!!Complete comparison of all plans", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 58, + "line": 57, "column": 19 }, "end": { - "line": 61, + "line": 60, "column": 3 } }, @@ -147,11 +147,11 @@ "defaultMessage": "!!!All prices based on yearly payment", "file": "src/features/planSelection/components/PlanSelection.js", "start": { - "line": 62, + "line": 61, "column": 30 }, "end": { - "line": 65, + "line": 64, "column": 3 } } diff --git a/src/i18n/messages/src/features/planSelection/containers/PlanSelectionScreen.json b/src/i18n/messages/src/features/planSelection/containers/PlanSelectionScreen.json index 905c6e09a..04b2144b4 100644 --- a/src/i18n/messages/src/features/planSelection/containers/PlanSelectionScreen.json +++ b/src/i18n/messages/src/features/planSelection/containers/PlanSelectionScreen.json @@ -4,11 +4,11 @@ "defaultMessage": "!!!Downgrade your Franz Plan", "file": "src/features/planSelection/containers/PlanSelectionScreen.js", "start": { - "line": 17, + "line": 16, "column": 15 }, "end": { - "line": 20, + "line": 19, "column": 3 } }, @@ -17,11 +17,11 @@ "defaultMessage": "!!!You're about to downgrade to our Free account. Are you sure? Click here instead to get more services and functionality for just {currency}{price} a month.", "file": "src/features/planSelection/containers/PlanSelectionScreen.js", "start": { - "line": 21, + "line": 20, "column": 17 }, "end": { - "line": 24, + "line": 23, "column": 3 } }, @@ -30,11 +30,11 @@ "defaultMessage": "!!!Downgrade to Free", "file": "src/features/planSelection/containers/PlanSelectionScreen.js", "start": { - "line": 25, + "line": 24, "column": 22 }, "end": { - "line": 28, + "line": 27, "column": 3 } }, @@ -43,11 +43,11 @@ "defaultMessage": "!!!Choose Personal", "file": "src/features/planSelection/containers/PlanSelectionScreen.js", "start": { - "line": 29, + "line": 28, "column": 20 }, "end": { - "line": 32, + "line": 31, "column": 3 } } diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js index 6ce79f2e2..c6724c20f 100644 --- a/src/stores/AppStore.js +++ b/src/stores/AppStore.js @@ -59,7 +59,7 @@ export default class AppStore extends Store { @observable isOnline = navigator.onLine; @observable authRequestFailed = false; - + @observable timeSuspensionStart; @observable timeOfflineStart; @@ -206,8 +206,6 @@ export default class AppStore extends Store { setTimeout(() => { window.location.reload(); }, ms('2s')); - - statsEvent('resumed-app'); } }); @@ -222,8 +220,6 @@ export default class AppStore extends Store { localStorage.setItem(CATALINA_NOTIFICATION_HACK_KEY, true); } - - statsEvent('app-start'); } @computed get cacheSize() { -- cgit v1.2.3-70-g09d2