diff options
author | 2020-03-25 17:13:47 +0100 | |
---|---|---|
committer | 2020-03-25 17:13:47 +0100 | |
commit | f00f32f91e69566dc38a1e3db892bb14c6c0dc5a (patch) | |
tree | 6016b96bbf3fc64eff533d46a58495f8ef972cee | |
parent | Improve user onboarding (#493) (diff) | |
download | ferdium-app-f00f32f91e69566dc38a1e3db892bb14c6c0dc5a.tar.gz ferdium-app-f00f32f91e69566dc38a1e3db892bb14c6c0dc5a.tar.zst ferdium-app-f00f32f91e69566dc38a1e3db892bb14c6c0dc5a.zip |
Improve information about premium
As seen in #496, the current way Ferdi displays information about the Premium status may be irritating to new users.
This commit will:
- Hide all premium sections if we are not using the Franz server
- Hide teams section if we are not using the Franz server
- Update the description on the Teams page to reflect the use of Teams in Ferdi
- Fix accessing the Team Management page to go to meetfranz.com instead of getferdi.com
-rw-r--r-- | src/components/settings/account/AccountDashboard.js | 41 | ||||
-rw-r--r-- | src/components/settings/navigation/SettingsNavigation.js | 25 | ||||
-rw-r--r-- | src/components/settings/team/TeamDashboard.js | 6 | ||||
-rw-r--r-- | src/containers/settings/TeamScreen.js | 3 | ||||
-rw-r--r-- | src/i18n/apply-branding.js | 4 | ||||
-rw-r--r-- | src/i18n/locales/defaultMessages.json | 6 | ||||
-rw-r--r-- | src/i18n/locales/en-US.json | 8 | ||||
-rw-r--r-- | src/i18n/messages/src/components/settings/team/TeamDashboard.json | 6 |
8 files changed, 54 insertions, 45 deletions
diff --git a/src/components/settings/account/AccountDashboard.js b/src/components/settings/account/AccountDashboard.js index 7d6bad883..809bfda6e 100644 --- a/src/components/settings/account/AccountDashboard.js +++ b/src/components/settings/account/AccountDashboard.js | |||
@@ -154,6 +154,7 @@ class AccountDashboard extends Component { | |||
154 | } | 154 | } |
155 | 155 | ||
156 | const isUsingWithoutAccount = server === LOCAL_SERVER; | 156 | const isUsingWithoutAccount = server === LOCAL_SERVER; |
157 | const isUsingFranzServer = server === 'https://api.franzinfra.com'; | ||
157 | 158 | ||
158 | return ( | 159 | return ( |
159 | <div className="settings__main"> | 160 | <div className="settings__main"> |
@@ -243,7 +244,7 @@ class AccountDashboard extends Component { | |||
243 | )} | 244 | )} |
244 | </div> | 245 | </div> |
245 | </div> | 246 | </div> |
246 | {user.isPremium && user.isSubscriptionOwner && ( | 247 | {user.isPremium && user.isSubscriptionOwner && isUsingFranzServer && ( |
247 | <div className="account"> | 248 | <div className="account"> |
248 | <div className="account__box"> | 249 | <div className="account__box"> |
249 | <H2>{intl.formatMessage(messages.yourLicense)}</H2> | 250 | <H2>{intl.formatMessage(messages.yourLicense)}</H2> |
@@ -322,25 +323,27 @@ class AccountDashboard extends Component { | |||
322 | </> | 323 | </> |
323 | )} | 324 | )} |
324 | 325 | ||
325 | <div className="account franz-form"> | 326 | {isUsingFranzServer && ( |
326 | <div className="account__box"> | 327 | <div className="account franz-form"> |
327 | <H2>{intl.formatMessage(messages.headlineDangerZone)}</H2> | 328 | <div className="account__box"> |
328 | {!isDeleteAccountSuccessful && ( | 329 | <H2>{intl.formatMessage(messages.headlineDangerZone)}</H2> |
329 | <div className="account__subscription"> | 330 | {!isDeleteAccountSuccessful && ( |
330 | <p>{intl.formatMessage(messages.deleteInfo)}</p> | 331 | <div className="account__subscription"> |
331 | <Button | 332 | <p>{intl.formatMessage(messages.deleteInfo)}</p> |
332 | label={intl.formatMessage(messages.deleteAccount)} | 333 | <Button |
333 | buttonType="danger" | 334 | label={intl.formatMessage(messages.deleteAccount)} |
334 | onClick={() => deleteAccount()} | 335 | buttonType="danger" |
335 | loaded={!isLoadingDeleteAccount} | 336 | onClick={() => deleteAccount()} |
336 | /> | 337 | loaded={!isLoadingDeleteAccount} |
337 | </div> | 338 | /> |
338 | )} | 339 | </div> |
339 | {isDeleteAccountSuccessful && ( | 340 | )} |
340 | <p>{intl.formatMessage(messages.deleteEmailSent)}</p> | 341 | {isDeleteAccountSuccessful && ( |
341 | )} | 342 | <p>{intl.formatMessage(messages.deleteEmailSent)}</p> |
343 | )} | ||
344 | </div> | ||
342 | </div> | 345 | </div> |
343 | </div> | 346 | )} |
344 | </> | 347 | </> |
345 | )} | 348 | )} |
346 | </> | 349 | </> |
diff --git a/src/components/settings/navigation/SettingsNavigation.js b/src/components/settings/navigation/SettingsNavigation.js index eb3249fa0..6b03f05be 100644 --- a/src/components/settings/navigation/SettingsNavigation.js +++ b/src/components/settings/navigation/SettingsNavigation.js | |||
@@ -105,6 +105,7 @@ export default @inject('stores', 'actions') @observer class SettingsNavigation e | |||
105 | const { intl } = this.context; | 105 | const { intl } = this.context; |
106 | const isLoggedIn = Boolean(localStorage.getItem('authToken')); | 106 | const isLoggedIn = Boolean(localStorage.getItem('authToken')); |
107 | const isUsingWithoutAccount = stores.settings.app.server === LOCAL_SERVER; | 107 | const isUsingWithoutAccount = stores.settings.app.server === LOCAL_SERVER; |
108 | const isUsingFranzServer = stores.settings.app.server === 'https://api.franzinfra.com'; | ||
108 | 109 | ||
109 | return ( | 110 | return ( |
110 | <div className="settings-navigation"> | 111 | <div className="settings-navigation"> |
@@ -154,17 +155,19 @@ export default @inject('stores', 'actions') @observer class SettingsNavigation e | |||
154 | > | 155 | > |
155 | {intl.formatMessage(messages.account)} | 156 | {intl.formatMessage(messages.account)} |
156 | </Link> | 157 | </Link> |
157 | <Link | 158 | {isUsingFranzServer && ( |
158 | to="/settings/team" | 159 | <Link |
159 | className="settings-navigation__link" | 160 | to="/settings/team" |
160 | activeClassName="is-active" | 161 | className="settings-navigation__link" |
161 | disabled={!isLoggedIn} | 162 | activeClassName="is-active" |
162 | > | 163 | disabled={!isLoggedIn} |
163 | {intl.formatMessage(messages.team)} | 164 | > |
164 | {!user.data.isPremium && ( | 165 | {intl.formatMessage(messages.team)} |
165 | <ProBadge inverted={!isDarkThemeActive && router.location.pathname === '/settings/team'} /> | 166 | {!user.data.isPremium && ( |
166 | )} | 167 | <ProBadge inverted={!isDarkThemeActive && router.location.pathname === '/settings/team'} /> |
167 | </Link> | 168 | )} |
169 | </Link> | ||
170 | )} | ||
168 | <Link | 171 | <Link |
169 | to="/settings/app" | 172 | to="/settings/app" |
170 | className="settings-navigation__link" | 173 | className="settings-navigation__link" |
diff --git a/src/components/settings/team/TeamDashboard.js b/src/components/settings/team/TeamDashboard.js index 3d5358d89..72358d485 100644 --- a/src/components/settings/team/TeamDashboard.js +++ b/src/components/settings/team/TeamDashboard.js | |||
@@ -20,15 +20,15 @@ const messages = defineMessages({ | |||
20 | }, | 20 | }, |
21 | contentHeadline: { | 21 | contentHeadline: { |
22 | id: 'settings.team.contentHeadline', | 22 | id: 'settings.team.contentHeadline', |
23 | defaultMessage: '!!!Ferdi for Teams', | 23 | defaultMessage: '!!!Franz Team Management', |
24 | }, | 24 | }, |
25 | intro: { | 25 | intro: { |
26 | id: 'settings.team.intro', | 26 | id: 'settings.team.intro', |
27 | defaultMessage: '!!!You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.', | 27 | defaultMessage: '!!!Your are currently using Franz Servers, which is why you have access to Team Management.', |
28 | }, | 28 | }, |
29 | copy: { | 29 | copy: { |
30 | id: 'settings.team.copy', | 30 | id: 'settings.team.copy', |
31 | defaultMessage: '!!!Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!', | 31 | defaultMessage: '!!!Franz\'s Team Management allows you to manage Franz Subscriptions for multiple users. Please keep in mind that having a Franz Premium subscription will give you no advantages in using Ferdi: The only reason you still have access to Team Management is so you can manage your legacy Franz Teams and so that you don\'t loose any functionality in managing your account.', |
32 | }, | 32 | }, |
33 | manageButton: { | 33 | manageButton: { |
34 | id: 'settings.team.manageAction', | 34 | id: 'settings.team.manageAction', |
diff --git a/src/containers/settings/TeamScreen.js b/src/containers/settings/TeamScreen.js index d0196923a..3e21ca2d9 100644 --- a/src/containers/settings/TeamScreen.js +++ b/src/containers/settings/TeamScreen.js | |||
@@ -8,13 +8,12 @@ import SettingsStore from '../../stores/SettingsStore'; | |||
8 | 8 | ||
9 | import TeamDashboard from '../../components/settings/team/TeamDashboard'; | 9 | import TeamDashboard from '../../components/settings/team/TeamDashboard'; |
10 | import ErrorBoundary from '../../components/util/ErrorBoundary'; | 10 | import ErrorBoundary from '../../components/util/ErrorBoundary'; |
11 | import { WEBSITE } from '../../environment'; | ||
12 | 11 | ||
13 | export default @inject('stores', 'actions') @observer class TeamScreen extends Component { | 12 | export default @inject('stores', 'actions') @observer class TeamScreen extends Component { |
14 | handleWebsiteLink(route) { | 13 | handleWebsiteLink(route) { |
15 | const { actions, stores } = this.props; | 14 | const { actions, stores } = this.props; |
16 | 15 | ||
17 | const url = `${WEBSITE}${route}?authToken=${stores.user.authToken}&utm_source=app&utm_medium=account_dashboard`; | 16 | const url = `https://meetfranz.com/${route}?authToken=${stores.user.authToken}&utm_source=app&utm_medium=account_dashboard`; |
18 | 17 | ||
19 | actions.app.openExternalUrl({ url }); | 18 | actions.app.openExternalUrl({ url }); |
20 | } | 19 | } |
diff --git a/src/i18n/apply-branding.js b/src/i18n/apply-branding.js index d88d8741b..68ffb822a 100644 --- a/src/i18n/apply-branding.js +++ b/src/i18n/apply-branding.js | |||
@@ -13,6 +13,10 @@ const ignore = [ | |||
13 | 'settings.app.todoServerInfo', | 13 | 'settings.app.todoServerInfo', |
14 | 'settings.app.serverMoneyInfo', | 14 | 'settings.app.serverMoneyInfo', |
15 | 'settings.team.teamsUnavailableInfo', | 15 | 'settings.team.teamsUnavailableInfo', |
16 | 'settings.team.contentHeadline', | ||
17 | 'settings.team.intro', | ||
18 | 'settings.team.copy', | ||
19 | 'settings.team.manageAction', | ||
16 | 'settings.app.serverMoneyInfo', | 20 | 'settings.app.serverMoneyInfo', |
17 | ]; | 21 | ]; |
18 | 22 | ||
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index f825d773b..274bebc3d 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json | |||
@@ -3244,7 +3244,7 @@ | |||
3244 | } | 3244 | } |
3245 | }, | 3245 | }, |
3246 | { | 3246 | { |
3247 | "defaultMessage": "!!!Ferdi for Teams", | 3247 | "defaultMessage": "!!!Franz Team Management", |
3248 | "end": { | 3248 | "end": { |
3249 | "column": 3, | 3249 | "column": 3, |
3250 | "line": 24 | 3250 | "line": 24 |
@@ -3257,7 +3257,7 @@ | |||
3257 | } | 3257 | } |
3258 | }, | 3258 | }, |
3259 | { | 3259 | { |
3260 | "defaultMessage": "!!!You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", | 3260 | "defaultMessage": "!!!Your are currently using Franz Servers, which is why you have access to Team Management.", |
3261 | "end": { | 3261 | "end": { |
3262 | "column": 3, | 3262 | "column": 3, |
3263 | "line": 28 | 3263 | "line": 28 |
@@ -3270,7 +3270,7 @@ | |||
3270 | } | 3270 | } |
3271 | }, | 3271 | }, |
3272 | { | 3272 | { |
3273 | "defaultMessage": "!!!Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", | 3273 | "defaultMessage": "!!!Franz's Team Management allows you to manage Franz Subscriptions for multiple users. Please keep in mind that having a Franz Premium subscription will give you no advantages in using Ferdi: The only reason you still have access to Team Management is so you can manage your legacy Franz Teams and so that you don't loose any functionality in managing your account.", |
3274 | "end": { | 3274 | "end": { |
3275 | "column": 3, | 3275 | "column": 3, |
3276 | "line": 32 | 3276 | "line": 32 |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index d9613dc43..504018891 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -414,11 +414,11 @@ | |||
414 | "settings.supportFerdi.openCollective": "Support our Open Collective", | 414 | "settings.supportFerdi.openCollective": "Support our Open Collective", |
415 | "settings.supportFerdi.share": "Tell your Friends", | 415 | "settings.supportFerdi.share": "Tell your Friends", |
416 | "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!", | 416 | "settings.supportFerdi.title": "Do you like Ferdi? Spread the love!", |
417 | "settings.team.contentHeadline": "Ferdi for Teams", | 417 | "settings.team.contentHeadline": "Franz Team Management", |
418 | "settings.team.copy": "Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", | 418 | "settings.team.copy": "Franz's Team Management allows you to manage Franz Subscriptions for multiple users. Please keep in mind that having a Franz Premium subscription will give you no advantages in using Ferdi: The only reason you still have access to Team Management is so you can manage your legacy Franz Teams and so that you don't loose any functionality in managing your account.", |
419 | "settings.team.headline": "Team", | 419 | "settings.team.headline": "Team", |
420 | "settings.team.intro": "You and your team use Ferdi? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", | 420 | "settings.team.intro": "Your are currently using Franz Servers, which is why you have access to Team Management.", |
421 | "settings.team.manageAction": "Manage your Team on getferdi.com", | 421 | "settings.team.manageAction": "Manage your Team on meetfranz.com", |
422 | "settings.team.teamsUnavailable": "Teams are unavailable", | 422 | "settings.team.teamsUnavailable": "Teams are unavailable", |
423 | "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.", | 423 | "settings.team.teamsUnavailableInfo": "Teams are currently only available when using the Franz Server and after paying for Franz Professional. Please change your server to https://api.franzinfra.com to use teams.", |
424 | "settings.team.upgradeAction": "Upgrade your Account", | 424 | "settings.team.upgradeAction": "Upgrade your Account", |
diff --git a/src/i18n/messages/src/components/settings/team/TeamDashboard.json b/src/i18n/messages/src/components/settings/team/TeamDashboard.json index bbf362087..c980b5b7e 100644 --- a/src/i18n/messages/src/components/settings/team/TeamDashboard.json +++ b/src/i18n/messages/src/components/settings/team/TeamDashboard.json | |||
@@ -14,7 +14,7 @@ | |||
14 | }, | 14 | }, |
15 | { | 15 | { |
16 | "id": "settings.team.contentHeadline", | 16 | "id": "settings.team.contentHeadline", |
17 | "defaultMessage": "!!!Ferdi for Teams", | 17 | "defaultMessage": "!!!Franz Team Management", |
18 | "file": "src/components/settings/team/TeamDashboard.js", | 18 | "file": "src/components/settings/team/TeamDashboard.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 21, | 20 | "line": 21, |
@@ -27,7 +27,7 @@ | |||
27 | }, | 27 | }, |
28 | { | 28 | { |
29 | "id": "settings.team.intro", | 29 | "id": "settings.team.intro", |
30 | "defaultMessage": "!!!You and your team use Franz? You can now manage Premium subscriptions for as many colleagues, friends or family members as you want, all from within one account.", | 30 | "defaultMessage": "!!!Your are currently using Franz Servers, which is why you have access to Team Management.", |
31 | "file": "src/components/settings/team/TeamDashboard.js", | 31 | "file": "src/components/settings/team/TeamDashboard.js", |
32 | "start": { | 32 | "start": { |
33 | "line": 25, | 33 | "line": 25, |
@@ -40,7 +40,7 @@ | |||
40 | }, | 40 | }, |
41 | { | 41 | { |
42 | "id": "settings.team.copy", | 42 | "id": "settings.team.copy", |
43 | "defaultMessage": "!!!Ferdi for Teams gives you the option to invite co-workers to your team by sending them email invitations and manage their subscriptions in your account’s preferences. Don’t waste time setting up subscriptions for every team member individually, forget about multiple invoices and different billing cycles - one team to rule them all!", | 43 | "defaultMessage": "!!!Franz's Team Management allows you to manage Franz Subscriptions for multiple users. Please keep in mind that having a Franz Premium subscription will give you no advantages in using Ferdi: The only reason you still have access to Team Management is so you can manage your legacy Franz Teams and so that you don't loose any functionality in managing your account.", |
44 | "file": "src/components/settings/team/TeamDashboard.js", | 44 | "file": "src/components/settings/team/TeamDashboard.js", |
45 | "start": { | 45 | "start": { |
46 | "line": 29, | 46 | "line": 29, |