diff options
author | Stefan Malzner <stefan@adlk.io> | 2019-03-18 03:28:03 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-18 03:28:03 -0700 |
commit | 6134c1b49f919dd2c578bc490829d68e4d210f4e (patch) | |
tree | 1ad6530fbb7f19e4e9c9a235c6b44e0dfdbc47d4 /src/containers/settings | |
parent | Add missing bracket in brew install help (#1205) (diff) | |
download | ferdium-app-6134c1b49f919dd2c578bc490829d68e4d210f4e.tar.gz ferdium-app-6134c1b49f919dd2c578bc490829d68e4d210f4e.tar.zst ferdium-app-6134c1b49f919dd2c578bc490829d68e4d210f4e.zip |
Release/5.0.1 beta.1 (#1344)
* Add lerna
* Add theme
* Add forms
* Add misty config to build theme & forms
* reset packages version
* Publish
- @meetfranz/forms@1.0.0
- @meetfranz/theme@1.0.0
* Reset package version
* restructure packages
* try ci with lerna
* Fix missing packages in build
* move storybook to root + typescript
TODO: fix modules
* Add lerna instructions
* Merge
* wip
* Make packages work in electron, node and web
* Finalize packages & replace storybook with homegrown `uidev`
* Bring package-lock back in sync
* Publish
- @meetfranz/forms@1.0.1
- @meetfranz/theme@1.0.1
* fix webpack issue
* expose legacy styles
* Add toggle element to @meetfranz/forms
* start typings package
* Update package.json
* Add buttons
* Update theme
* add types
* Add mdi icons to buttons
* Publish
- @meetfranz/forms@1.0.2
- @meetfranz/theme@1.0.2
- @meetfranz/typings@0.0.1
* Button, add missing success state
* Update lerna packages
* Try to disable automatic npm ci
* Try to get a working bundle
* Add href and type to button component
* Update packages
* update versions
* cleanup
* Update package versions
[ci skip]
* Update versions
* Add withTheme context to button
* Update & reuse electron-rebuild
* feat(Windows): Add option to quit Franz from Taskbar icon
* Add missing withTheme
* Fix package versions
* Update versions
* Add pageview event
* Simplify analytics calls
* Pin gulp-sass-variables to 1.1.1
* Add onFocus event
* Add modal overlay color
* remove legacy theme files
* remove code
* Add dialog to share franz on social media
* Fix service count
* remove ping
* replace ms time strings with ms module
* remove unused packages
* fix value setter
* new payment flow
* fix module reference
* feat(Spell check): Add en-gb spell check languages (#1306)
* move devmode info
* fix(Windows): Fix losing window when "Keep Franz in background" is enabled
* fix(Service): Fix service zoom (cmd/ctrl+ & cmd/ctrl-)
* fixes appveyor build issue
* feat(App): Update electron to 4.0.7
* ignore intellij idea project files
* Automatic i18n update (i18n.meetfranz.com)
* feat(App): Add security checks for external URLs
* setup react-intl translations managing script
* use same zooming logic for all os
* feat(Linux): Add auto updater for Linux AppImage builds
* Add ctrl+ for zoom in on Windows
* move translation scripts into src/i18n folder
* only manage en-US translations
* manage translations before git pushes
* Fix unused i18n strings
* Bump version to 5.0.1-beta.1
* fix(Service) shortcuts for activating prev/next service fixes #1298
* fix(Service): Fix shortcut for (un)muting notifications & audio
* add missing react-intl files
* correctly update services submenu on language change
* fix(Windows): Fix copy & paste in service context menus
Closes #1316
* fix(Linux): Fix minimized window focusing (#1304) (@skoruppa)
* trigger build
* Check if window is minimized before restoring it
* restore() should be executed only when window is minimized
* fix(Notifications): Fix notifications & notification click when icon is blob
* Fix/service webview unmounting (#1328)
* detach service when underlying webview unmounts
* disable no-param-reassign eslint rule
* Add notification debug events
* Update electron to 4.0.8
Update required in order to fix performance degradation due to memory leak issue https://github.com/electron/electron/pull/16772.
* Automatic i18n update (i18n.meetfranz.com)
* Automatic i18n update (i18n.meetfranz.com)
* 5.0.1-beta.1
Diffstat (limited to 'src/containers/settings')
-rw-r--r-- | src/containers/settings/AccountScreen.js | 5 | ||||
-rw-r--r-- | src/containers/settings/EditServiceScreen.js | 5 | ||||
-rw-r--r-- | src/containers/settings/EditSettingsScreen.js | 5 | ||||
-rw-r--r-- | src/containers/settings/EditUserScreen.js | 49 | ||||
-rw-r--r-- | src/containers/settings/InviteScreen.js | 6 | ||||
-rw-r--r-- | src/containers/settings/RecipesScreen.js | 6 | ||||
-rw-r--r-- | src/containers/settings/ServicesScreen.js | 5 |
7 files changed, 21 insertions, 60 deletions
diff --git a/src/containers/settings/AccountScreen.js b/src/containers/settings/AccountScreen.js index d681d5226..ce1b9c333 100644 --- a/src/containers/settings/AccountScreen.js +++ b/src/containers/settings/AccountScreen.js | |||
@@ -6,7 +6,6 @@ import { inject, observer } from 'mobx-react'; | |||
6 | import PaymentStore from '../../stores/PaymentStore'; | 6 | import PaymentStore from '../../stores/PaymentStore'; |
7 | import UserStore from '../../stores/UserStore'; | 7 | import UserStore from '../../stores/UserStore'; |
8 | import AppStore from '../../stores/AppStore'; | 8 | import AppStore from '../../stores/AppStore'; |
9 | import { gaPage } from '../../lib/analytics'; | ||
10 | 9 | ||
11 | import AccountDashboard from '../../components/settings/account/AccountDashboard'; | 10 | import AccountDashboard from '../../components/settings/account/AccountDashboard'; |
12 | import ErrorBoundary from '../../components/util/ErrorBoundary'; | 11 | import ErrorBoundary from '../../components/util/ErrorBoundary'; |
@@ -22,10 +21,6 @@ export default @inject('stores', 'actions') @observer class AccountScreen extend | |||
22 | user.getUserInfoRequest.invalidate({ immediately: true }); | 21 | user.getUserInfoRequest.invalidate({ immediately: true }); |
23 | } | 22 | } |
24 | 23 | ||
25 | componentDidMount() { | ||
26 | gaPage('Settings/Account Dashboard'); | ||
27 | } | ||
28 | |||
29 | onCloseWindow() { | 24 | onCloseWindow() { |
30 | const { user, payment } = this.props.stores; | 25 | const { user, payment } = this.props.stores; |
31 | user.getUserInfoRequest.invalidate({ immediately: true }); | 26 | user.getUserInfoRequest.invalidate({ immediately: true }); |
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js index d08f0a52e..870ca4ecd 100644 --- a/src/containers/settings/EditServiceScreen.js +++ b/src/containers/settings/EditServiceScreen.js | |||
@@ -9,7 +9,6 @@ import ServicesStore from '../../stores/ServicesStore'; | |||
9 | import SettingsStore from '../../stores/SettingsStore'; | 9 | import SettingsStore from '../../stores/SettingsStore'; |
10 | import FeaturesStore from '../../stores/FeaturesStore'; | 10 | import FeaturesStore from '../../stores/FeaturesStore'; |
11 | import Form from '../../lib/Form'; | 11 | import Form from '../../lib/Form'; |
12 | import { gaPage } from '../../lib/analytics'; | ||
13 | 12 | ||
14 | import ServiceError from '../../components/settings/services/ServiceError'; | 13 | import ServiceError from '../../components/settings/services/ServiceError'; |
15 | import EditServiceForm from '../../components/settings/services/EditServiceForm'; | 14 | import EditServiceForm from '../../components/settings/services/EditServiceForm'; |
@@ -93,10 +92,6 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex | |||
93 | intl: intlShape, | 92 | intl: intlShape, |
94 | }; | 93 | }; |
95 | 94 | ||
96 | componentDidMount() { | ||
97 | gaPage('Settings/Service/Edit'); | ||
98 | } | ||
99 | |||
100 | onSubmit(data) { | 95 | onSubmit(data) { |
101 | const { action } = this.props.router.params; | 96 | const { action } = this.props.router.params; |
102 | const { recipes, services } = this.props.stores; | 97 | const { recipes, services } = this.props.stores; |
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js index 992c49b09..97c1fa3b1 100644 --- a/src/containers/settings/EditSettingsScreen.js +++ b/src/containers/settings/EditSettingsScreen.js | |||
@@ -8,7 +8,6 @@ import SettingsStore from '../../stores/SettingsStore'; | |||
8 | import UserStore from '../../stores/UserStore'; | 8 | import UserStore from '../../stores/UserStore'; |
9 | import Form from '../../lib/Form'; | 9 | import Form from '../../lib/Form'; |
10 | import { APP_LOCALES, SPELLCHECKER_LOCALES } from '../../i18n/languages'; | 10 | import { APP_LOCALES, SPELLCHECKER_LOCALES } from '../../i18n/languages'; |
11 | import { gaPage } from '../../lib/analytics'; | ||
12 | import { DEFAULT_APP_SETTINGS } from '../../config'; | 11 | import { DEFAULT_APP_SETTINGS } from '../../config'; |
13 | import { config as spellcheckerConfig } from '../../features/spellchecker'; | 12 | import { config as spellcheckerConfig } from '../../features/spellchecker'; |
14 | 13 | ||
@@ -75,10 +74,6 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e | |||
75 | intl: intlShape, | 74 | intl: intlShape, |
76 | }; | 75 | }; |
77 | 76 | ||
78 | componentDidMount() { | ||
79 | gaPage('Settings/App'); | ||
80 | } | ||
81 | |||
82 | onSubmit(settingsData) { | 77 | onSubmit(settingsData) { |
83 | const { app, settings, user } = this.props.actions; | 78 | const { app, settings, user } = this.props.actions; |
84 | 79 | ||
diff --git a/src/containers/settings/EditUserScreen.js b/src/containers/settings/EditUserScreen.js index 3d35effc5..81f689400 100644 --- a/src/containers/settings/EditUserScreen.js +++ b/src/containers/settings/EditUserScreen.js | |||
@@ -9,7 +9,6 @@ import EditUserForm from '../../components/settings/user/EditUserForm'; | |||
9 | import ErrorBoundary from '../../components/util/ErrorBoundary'; | 9 | import ErrorBoundary from '../../components/util/ErrorBoundary'; |
10 | 10 | ||
11 | import { required, email, minLength } from '../../helpers/validation-helpers'; | 11 | import { required, email, minLength } from '../../helpers/validation-helpers'; |
12 | import { gaPage } from '../../lib/analytics'; | ||
13 | 12 | ||
14 | const messages = defineMessages({ | 13 | const messages = defineMessages({ |
15 | firstname: { | 14 | firstname: { |
@@ -24,23 +23,21 @@ const messages = defineMessages({ | |||
24 | id: 'settings.user.form.email', | 23 | id: 'settings.user.form.email', |
25 | defaultMessage: '!!!Email', | 24 | defaultMessage: '!!!Email', |
26 | }, | 25 | }, |
27 | accountType: { | 26 | accountTypeLabel: { |
28 | label: { | 27 | id: 'settings.user.form.accountType.label', |
29 | id: 'settings.user.form.accountType.label', | 28 | defaultMessage: '!!!Account type', |
30 | defaultMessage: '!!!Account type', | 29 | }, |
31 | }, | 30 | accountTypeIndividual: { |
32 | individual: { | 31 | id: 'settings.user.form.accountType.individual', |
33 | id: 'settings.user.form.accountType.individual', | 32 | defaultMessage: '!!!Individual', |
34 | defaultMessage: '!!!Individual', | 33 | }, |
35 | }, | 34 | accountTypeNonProfit: { |
36 | nonProfit: { | 35 | id: 'settings.user.form.accountType.non-profit', |
37 | id: 'settings.user.form.accountType.non-profit', | 36 | defaultMessage: '!!!Non-Profit', |
38 | defaultMessage: '!!!Non-Profit', | 37 | }, |
39 | }, | 38 | accountTypeCompany: { |
40 | company: { | 39 | id: 'settings.user.form.accountType.company', |
41 | id: 'settings.user.form.accountType.company', | 40 | defaultMessage: '!!!Company', |
42 | defaultMessage: '!!!Company', | ||
43 | }, | ||
44 | }, | 41 | }, |
45 | currentPassword: { | 42 | currentPassword: { |
46 | id: 'settings.user.form.currentPassword', | 43 | id: 'settings.user.form.currentPassword', |
@@ -57,10 +54,6 @@ export default @inject('stores', 'actions') @observer class EditUserScreen exten | |||
57 | intl: intlShape, | 54 | intl: intlShape, |
58 | }; | 55 | }; |
59 | 56 | ||
60 | componentDidMount() { | ||
61 | gaPage('Settings/Account/Edit'); | ||
62 | } | ||
63 | |||
64 | componentWillUnmount() { | 57 | componentWillUnmount() { |
65 | this.props.actions.user.resetStatus(); | 58 | this.props.actions.user.resetStatus(); |
66 | } | 59 | } |
@@ -99,21 +92,21 @@ export default @inject('stores', 'actions') @observer class EditUserScreen exten | |||
99 | accountType: { | 92 | accountType: { |
100 | value: user.accountType, | 93 | value: user.accountType, |
101 | validators: [required], | 94 | validators: [required], |
102 | label: intl.formatMessage(messages.accountType.label), | 95 | label: intl.formatMessage(messages.accountTypeLabel), |
103 | options: [{ | 96 | options: [{ |
104 | value: 'individual', | 97 | value: 'individual', |
105 | label: intl.formatMessage(messages.accountType.individual), | 98 | label: intl.formatMessage(messages.accountTypeIndividual), |
106 | }, { | 99 | }, { |
107 | value: 'non-profit', | 100 | value: 'non-profit', |
108 | label: intl.formatMessage(messages.accountType.nonProfit), | 101 | label: intl.formatMessage(messages.accountTypeNonProfit), |
109 | }, { | 102 | }, { |
110 | value: 'company', | 103 | value: 'company', |
111 | label: intl.formatMessage(messages.accountType.company), | 104 | label: intl.formatMessage(messages.accountTypeCompany), |
112 | }], | 105 | }], |
113 | }, | 106 | }, |
114 | organization: { | 107 | organization: { |
115 | label: intl.formatMessage(messages.accountType.company), | 108 | label: intl.formatMessage(messages.accountTypeCompany), |
116 | placeholder: intl.formatMessage(messages.accountType.company), | 109 | placeholder: intl.formatMessage(messages.accountTypeCompany), |
117 | value: user.organization, | 110 | value: user.organization, |
118 | }, | 111 | }, |
119 | oldPassword: { | 112 | oldPassword: { |
diff --git a/src/containers/settings/InviteScreen.js b/src/containers/settings/InviteScreen.js index cd36610e4..cc36849e8 100644 --- a/src/containers/settings/InviteScreen.js +++ b/src/containers/settings/InviteScreen.js | |||
@@ -5,13 +5,7 @@ import { inject, observer } from 'mobx-react'; | |||
5 | import Invite from '../../components/auth/Invite'; | 5 | import Invite from '../../components/auth/Invite'; |
6 | import ErrorBoundary from '../../components/util/ErrorBoundary'; | 6 | import ErrorBoundary from '../../components/util/ErrorBoundary'; |
7 | 7 | ||
8 | import { gaPage } from '../../lib/analytics'; | ||
9 | |||
10 | export default @inject('stores', 'actions') @observer class InviteScreen extends Component { | 8 | export default @inject('stores', 'actions') @observer class InviteScreen extends Component { |
11 | componentDidMount() { | ||
12 | gaPage('Settings/Invite'); | ||
13 | } | ||
14 | |||
15 | componentWillUnmount() { | 9 | componentWillUnmount() { |
16 | this.props.stores.user.inviteRequest.reset(); | 10 | this.props.stores.user.inviteRequest.reset(); |
17 | } | 11 | } |
diff --git a/src/containers/settings/RecipesScreen.js b/src/containers/settings/RecipesScreen.js index b3d758c87..eda5ae54c 100644 --- a/src/containers/settings/RecipesScreen.js +++ b/src/containers/settings/RecipesScreen.js | |||
@@ -7,7 +7,6 @@ import RecipePreviewsStore from '../../stores/RecipePreviewsStore'; | |||
7 | import RecipeStore from '../../stores/RecipesStore'; | 7 | import RecipeStore from '../../stores/RecipesStore'; |
8 | import ServiceStore from '../../stores/ServicesStore'; | 8 | import ServiceStore from '../../stores/ServicesStore'; |
9 | import UserStore from '../../stores/UserStore'; | 9 | import UserStore from '../../stores/UserStore'; |
10 | import { gaPage } from '../../lib/analytics'; | ||
11 | 10 | ||
12 | import RecipesDashboard from '../../components/settings/recipes/RecipesDashboard'; | 11 | import RecipesDashboard from '../../components/settings/recipes/RecipesDashboard'; |
13 | import ErrorBoundary from '../../components/util/ErrorBoundary'; | 12 | import ErrorBoundary from '../../components/util/ErrorBoundary'; |
@@ -33,20 +32,15 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend | |||
33 | autorunDisposer = null; | 32 | autorunDisposer = null; |
34 | 33 | ||
35 | componentDidMount() { | 34 | componentDidMount() { |
36 | gaPage('Settings/Recipe Dashboard/Featured'); | ||
37 | |||
38 | this.autorunDisposer = autorun(() => { | 35 | this.autorunDisposer = autorun(() => { |
39 | const { filter } = this.props.params; | 36 | const { filter } = this.props.params; |
40 | const { currentFilter } = this.state; | 37 | const { currentFilter } = this.state; |
41 | 38 | ||
42 | if (filter === 'all' && currentFilter !== 'all') { | 39 | if (filter === 'all' && currentFilter !== 'all') { |
43 | gaPage('Settings/Recipe Dashboard/All'); | ||
44 | this.setState({ currentFilter: 'all' }); | 40 | this.setState({ currentFilter: 'all' }); |
45 | } else if (filter === 'featured' && currentFilter !== 'featured') { | 41 | } else if (filter === 'featured' && currentFilter !== 'featured') { |
46 | gaPage('Settings/Recipe Dashboard/Featured'); | ||
47 | this.setState({ currentFilter: 'featured' }); | 42 | this.setState({ currentFilter: 'featured' }); |
48 | } else if (filter === 'dev' && currentFilter !== 'dev') { | 43 | } else if (filter === 'dev' && currentFilter !== 'dev') { |
49 | gaPage('Settings/Recipe Dashboard/Dev'); | ||
50 | this.setState({ currentFilter: 'dev' }); | 44 | this.setState({ currentFilter: 'dev' }); |
51 | } | 45 | } |
52 | }); | 46 | }); |
diff --git a/src/containers/settings/ServicesScreen.js b/src/containers/settings/ServicesScreen.js index b70a5506e..a501bf530 100644 --- a/src/containers/settings/ServicesScreen.js +++ b/src/containers/settings/ServicesScreen.js | |||
@@ -6,16 +6,11 @@ import { RouterStore } from 'mobx-react-router'; | |||
6 | // import RecipePreviewsStore from '../../stores/RecipePreviewsStore'; | 6 | // import RecipePreviewsStore from '../../stores/RecipePreviewsStore'; |
7 | import UserStore from '../../stores/UserStore'; | 7 | import UserStore from '../../stores/UserStore'; |
8 | import ServiceStore from '../../stores/ServicesStore'; | 8 | import ServiceStore from '../../stores/ServicesStore'; |
9 | import { gaPage } from '../../lib/analytics'; | ||
10 | 9 | ||
11 | import ServicesDashboard from '../../components/settings/services/ServicesDashboard'; | 10 | import ServicesDashboard from '../../components/settings/services/ServicesDashboard'; |
12 | import ErrorBoundary from '../../components/util/ErrorBoundary'; | 11 | import ErrorBoundary from '../../components/util/ErrorBoundary'; |
13 | 12 | ||
14 | export default @inject('stores', 'actions') @observer class ServicesScreen extends Component { | 13 | export default @inject('stores', 'actions') @observer class ServicesScreen extends Component { |
15 | componentDidMount() { | ||
16 | gaPage('Settings/Service Dashboard'); | ||
17 | } | ||
18 | |||
19 | componentWillUnmount() { | 14 | componentWillUnmount() { |
20 | this.props.actions.service.resetFilter(); | 15 | this.props.actions.service.resetFilter(); |
21 | this.props.actions.service.resetStatus(); | 16 | this.props.actions.service.resetStatus(); |