diff options
Diffstat (limited to 'src')
21 files changed, 66 insertions, 99 deletions
diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js index 6bbf572fa..bcc72ffdc 100644 --- a/src/api/server/ServerApi.js +++ b/src/api/server/ServerApi.js | |||
@@ -1,3 +1,4 @@ | |||
1 | /* eslint-disable import/no-import-module-exports */ | ||
1 | /* eslint-disable global-require */ | 2 | /* eslint-disable global-require */ |
2 | import { join } from 'path'; | 3 | import { join } from 'path'; |
3 | import tar from 'tar'; | 4 | import tar from 'tar'; |
diff --git a/src/components/auth/Invite.js b/src/components/auth/Invite.js index f23417870..dd71c2450 100644 --- a/src/components/auth/Invite.js +++ b/src/components/auth/Invite.js | |||
@@ -125,8 +125,8 @@ class Invite extends Component { | |||
125 | .some(emailValue => emailValue.trim() !== ''); | 125 | .some(emailValue => emailValue.trim() !== ''); |
126 | 126 | ||
127 | const sendButtonClassName = classnames({ | 127 | const sendButtonClassName = classnames({ |
128 | 'auth__button': true, | 128 | auth__button: true, |
129 | 'invite__embed--button': embed | 129 | 'invite__embed--button': embed, |
130 | }); | 130 | }); |
131 | 131 | ||
132 | const renderForm = ( | 132 | const renderForm = ( |
diff --git a/src/components/auth/Login.js b/src/components/auth/Login.js index 956205258..0c327d67e 100644 --- a/src/components/auth/Login.js +++ b/src/components/auth/Login.js | |||
@@ -105,8 +105,6 @@ class Login extends Component { | |||
105 | this.props.intl, | 105 | this.props.intl, |
106 | ); | 106 | ); |
107 | 107 | ||
108 | emailField = null; | ||
109 | |||
110 | submit(e) { | 108 | submit(e) { |
111 | e.preventDefault(); | 109 | e.preventDefault(); |
112 | this.form.submit({ | 110 | this.form.submit({ |
@@ -155,13 +153,7 @@ class Login extends Component { | |||
155 | {intl.formatMessage(messages.serverLogout)} | 153 | {intl.formatMessage(messages.serverLogout)} |
156 | </p> | 154 | </p> |
157 | )} | 155 | )} |
158 | <Input | 156 | <Input field={form.$('email')} focus /> |
159 | field={form.$('email')} | ||
160 | ref={element => { | ||
161 | this.emailField = element; | ||
162 | }} | ||
163 | focus | ||
164 | /> | ||
165 | <Input field={form.$('password')} showPasswordToggle /> | 157 | <Input field={form.$('password')} showPasswordToggle /> |
166 | {error.code === 'invalid-credentials' && ( | 158 | {error.code === 'invalid-credentials' && ( |
167 | <> | 159 | <> |
diff --git a/src/components/services/content/ConnectionLostBanner.js b/src/components/services/content/ConnectionLostBanner.js index 5111a081a..b9e7eca53 100644 --- a/src/components/services/content/ConnectionLostBanner.js +++ b/src/components/services/content/ConnectionLostBanner.js | |||
@@ -1,4 +1,4 @@ | |||
1 | import { createRef, Component } from 'react'; | 1 | import { Component } from 'react'; |
2 | import PropTypes from 'prop-types'; | 2 | import PropTypes from 'prop-types'; |
3 | import { observer } from 'mobx-react'; | 3 | import { observer } from 'mobx-react'; |
4 | import injectSheet from 'react-jss'; | 4 | import injectSheet from 'react-jss'; |
@@ -77,8 +77,6 @@ class ConnectionLostBanner extends Component { | |||
77 | reload: PropTypes.func.isRequired, | 77 | reload: PropTypes.func.isRequired, |
78 | }; | 78 | }; |
79 | 79 | ||
80 | inputRef = createRef(); | ||
81 | |||
82 | render() { | 80 | render() { |
83 | const { classes, name, reload } = this.props; | 81 | const { classes, name, reload } = this.props; |
84 | 82 | ||
diff --git a/src/components/services/content/ServiceDisabled.js b/src/components/services/content/ServiceDisabled.js index 476b23235..f60d4bca6 100644 --- a/src/components/services/content/ServiceDisabled.js +++ b/src/components/services/content/ServiceDisabled.js | |||
@@ -23,10 +23,6 @@ class ServiceDisabled extends Component { | |||
23 | enable: PropTypes.func.isRequired, | 23 | enable: PropTypes.func.isRequired, |
24 | }; | 24 | }; |
25 | 25 | ||
26 | countdownInterval = null; | ||
27 | |||
28 | countdownIntervalTimeout = 1000; | ||
29 | |||
30 | render() { | 26 | render() { |
31 | const { name, enable } = this.props; | 27 | const { name, enable } = this.props; |
32 | const { intl } = this.props; | 28 | const { intl } = this.props; |
diff --git a/src/components/services/content/ServiceView.js b/src/components/services/content/ServiceView.js index 1bc1fbf5f..1ffdd2153 100644 --- a/src/components/services/content/ServiceView.js +++ b/src/components/services/content/ServiceView.js | |||
@@ -1,3 +1,4 @@ | |||
1 | /* eslint-disable react/jsx-no-useless-fragment */ | ||
1 | import { Component, Fragment } from 'react'; | 2 | import { Component, Fragment } from 'react'; |
2 | import PropTypes from 'prop-types'; | 3 | import PropTypes from 'prop-types'; |
3 | import { autorun } from 'mobx'; | 4 | import { autorun } from 'mobx'; |
@@ -65,17 +66,6 @@ class ServiceView extends Component { | |||
65 | clearTimeout(this.hibernationTimer); | 66 | clearTimeout(this.hibernationTimer); |
66 | } | 67 | } |
67 | 68 | ||
68 | updateTargetUrl = event => { | ||
69 | let visible = true; | ||
70 | if (event.url === '' || event.url === '#') { | ||
71 | visible = false; | ||
72 | } | ||
73 | this.setState({ | ||
74 | targetUrl: event.url, | ||
75 | statusBarVisible: visible, | ||
76 | }); | ||
77 | }; | ||
78 | |||
79 | render() { | 69 | render() { |
80 | const { | 70 | const { |
81 | detachService, | 71 | detachService, |
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js index 7e86ea79a..9e8fb3cf5 100644 --- a/src/components/settings/settings/EditSettingsForm.js +++ b/src/components/settings/settings/EditSettingsForm.js | |||
@@ -412,10 +412,8 @@ class EditSettingsForm extends Component { | |||
412 | 412 | ||
413 | <Hr /> | 413 | <Hr /> |
414 | 414 | ||
415 | <> | 415 | <Toggle field={form.$('keepAllWorkspacesLoaded')} /> |
416 | <Toggle field={form.$('keepAllWorkspacesLoaded')} /> | 416 | <Hr /> |
417 | <Hr /> | ||
418 | </> | ||
419 | 417 | ||
420 | {!hasAddedTodosAsService && ( | 418 | {!hasAddedTodosAsService && ( |
421 | <> | 419 | <> |
diff --git a/src/components/settings/team/TeamDashboard.js b/src/components/settings/team/TeamDashboard.js index 4a1a02571..38d124266 100644 --- a/src/components/settings/team/TeamDashboard.js +++ b/src/components/settings/team/TeamDashboard.js | |||
@@ -136,40 +136,34 @@ class TeamDashboard extends Component { | |||
136 | </Infobox> | 136 | </Infobox> |
137 | )} | 137 | )} |
138 | 138 | ||
139 | {!userInfoRequestFailed && ( | 139 | {!userInfoRequestFailed && !isLoading && ( |
140 | <> | 140 | <> |
141 | {!isLoading && ( | 141 | <h1 |
142 | <> | 142 | className={classnames({ |
143 | <> | 143 | [classes.headline]: true, |
144 | <h1 | 144 | [classes.headlineWithSpacing]: true, |
145 | className={classnames({ | 145 | })} |
146 | [classes.headline]: true, | 146 | > |
147 | [classes.headlineWithSpacing]: true, | 147 | {intl.formatMessage(messages.contentHeadline)} |
148 | })} | 148 | </h1> |
149 | > | 149 | <div className={classes.container}> |
150 | {intl.formatMessage(messages.contentHeadline)} | 150 | <div className={classes.content}> |
151 | </h1> | 151 | <p>{intl.formatMessage(messages.intro)}</p> |
152 | <div className={classes.container}> | 152 | <p>{intl.formatMessage(messages.copy)}</p> |
153 | <div className={classes.content}> | 153 | </div> |
154 | <p>{intl.formatMessage(messages.intro)}</p> | 154 | <img |
155 | <p>{intl.formatMessage(messages.copy)}</p> | 155 | className={classes.image} |
156 | </div> | 156 | src="https://cdn.franzinfra.com/announcements/assets/teams.png" |
157 | <img | 157 | alt="Ferdi for Teams" |
158 | className={classes.image} | 158 | /> |
159 | src="https://cdn.franzinfra.com/announcements/assets/teams.png" | 159 | </div> |
160 | alt="Ferdi for Teams" | 160 | <div className={classes.buttonContainer}> |
161 | /> | 161 | <Button |
162 | </div> | 162 | label={intl.formatMessage(messages.manageButton)} |
163 | <div className={classes.buttonContainer}> | 163 | onClick={openTeamManagement} |
164 | <Button | 164 | className={classes.cta} |
165 | label={intl.formatMessage(messages.manageButton)} | 165 | /> |
166 | onClick={openTeamManagement} | 166 | </div> |
167 | className={classes.cta} | ||
168 | /> | ||
169 | </div> | ||
170 | </> | ||
171 | </> | ||
172 | )} | ||
173 | </> | 167 | </> |
174 | )} | 168 | )} |
175 | </div> | 169 | </div> |
diff --git a/src/components/ui/Button.js b/src/components/ui/Button.js index 67c801d98..d90a8d62d 100644 --- a/src/components/ui/Button.js +++ b/src/components/ui/Button.js | |||
@@ -35,8 +35,6 @@ class Button extends Component { | |||
35 | htmlForm: '', | 35 | htmlForm: '', |
36 | }; | 36 | }; |
37 | 37 | ||
38 | element = null; | ||
39 | |||
40 | render() { | 38 | render() { |
41 | const { | 39 | const { |
42 | label, | 40 | label, |
diff --git a/src/components/ui/FAB.tsx b/src/components/ui/FAB.tsx index 583c9d556..0d871e948 100644 --- a/src/components/ui/FAB.tsx +++ b/src/components/ui/FAB.tsx | |||
@@ -23,8 +23,6 @@ class Button extends Component<Props> { | |||
23 | htmlForm: '', | 23 | htmlForm: '', |
24 | }; | 24 | }; |
25 | 25 | ||
26 | element = null; | ||
27 | |||
28 | render() { | 26 | render() { |
29 | const { className, disabled, onClick, type, children, htmlForm } = | 27 | const { className, disabled, onClick, type, children, htmlForm } = |
30 | this.props; | 28 | this.props; |
diff --git a/src/components/ui/ImageUpload.tsx b/src/components/ui/ImageUpload.tsx index 118e6b206..52c097ef0 100644 --- a/src/components/ui/ImageUpload.tsx +++ b/src/components/ui/ImageUpload.tsx | |||
@@ -2,7 +2,7 @@ import { Component } from 'react'; | |||
2 | import { observer } from 'mobx-react'; | 2 | import { observer } from 'mobx-react'; |
3 | import { Field } from 'mobx-react-form'; | 3 | import { Field } from 'mobx-react-form'; |
4 | import classnames from 'classnames'; | 4 | import classnames from 'classnames'; |
5 | import Dropzone, { DropzoneRef } from 'react-dropzone'; | 5 | import Dropzone from 'react-dropzone'; |
6 | import { mdiDelete, mdiFileImage } from '@mdi/js'; | 6 | import { mdiDelete, mdiFileImage } from '@mdi/js'; |
7 | import { isWindows } from '../../environment'; | 7 | import { isWindows } from '../../environment'; |
8 | import { Icon } from './icon'; | 8 | import { Icon } from './icon'; |
@@ -25,8 +25,6 @@ class ImageUpload extends Component<Props> { | |||
25 | path: null, | 25 | path: null, |
26 | }; | 26 | }; |
27 | 27 | ||
28 | dropzoneRef: DropzoneRef | null = null; | ||
29 | |||
30 | onDrop(acceptedFiles) { | 28 | onDrop(acceptedFiles) { |
31 | const { field } = this.props; | 29 | const { field } = this.props; |
32 | 30 | ||
@@ -85,9 +83,6 @@ class ImageUpload extends Component<Props> { | |||
85 | </> | 83 | </> |
86 | ) : ( | 84 | ) : ( |
87 | <Dropzone | 85 | <Dropzone |
88 | ref={node => { | ||
89 | this.dropzoneRef = node; | ||
90 | }} | ||
91 | onDrop={this.onDrop.bind(this)} | 86 | onDrop={this.onDrop.bind(this)} |
92 | multiple={multiple} | 87 | multiple={multiple} |
93 | accept="image/jpeg, image/png, image/svg+xml" | 88 | accept="image/jpeg, image/png, image/svg+xml" |
diff --git a/src/components/ui/Tabs/TabItem.tsx b/src/components/ui/Tabs/TabItem.tsx index 9fcc3c41e..81ea0ea2b 100644 --- a/src/components/ui/Tabs/TabItem.tsx +++ b/src/components/ui/Tabs/TabItem.tsx | |||
@@ -1 +1,3 @@ | |||
1 | export const TabItem = ({ children }) => <>{children}</>; | 1 | export const TabItem = ({ children }) => { |
2 | children; | ||
3 | }; | ||
diff --git a/src/features/appearance/index.ts b/src/features/appearance/index.ts index fe8793dc1..7a4307cfd 100644 --- a/src/features/appearance/index.ts +++ b/src/features/appearance/index.ts | |||
@@ -114,7 +114,12 @@ function generateAccentStyle(accentColorStr) { | |||
114 | `; | 114 | `; |
115 | } | 115 | } |
116 | 116 | ||
117 | function generateServiceRibbonWidthStyle(widthStr, iconSizeStr, vertical, isLabelEnabled) { | 117 | function generateServiceRibbonWidthStyle( |
118 | widthStr, | ||
119 | iconSizeStr, | ||
120 | vertical, | ||
121 | isLabelEnabled, | ||
122 | ) { | ||
118 | const width = Number(widthStr); | 123 | const width = Number(widthStr); |
119 | const iconSize = Number(iconSizeStr) - iconSizeBias; | 124 | const iconSize = Number(iconSizeStr) - iconSizeBias; |
120 | let fontSize = 11; | 125 | let fontSize = 11; |
@@ -122,33 +127,33 @@ function generateServiceRibbonWidthStyle(widthStr, iconSizeStr, vertical, isLabe | |||
122 | let sidebarSizeBias = 22; | 127 | let sidebarSizeBias = 22; |
123 | const tabItemWidthBias = 2; | 128 | const tabItemWidthBias = 2; |
124 | 129 | ||
125 | switch(width){ | 130 | switch (width) { |
126 | case (35): | 131 | case 35: |
127 | fontSize = 9; | 132 | fontSize = 9; |
128 | tabItemHeightBias = 25; | 133 | tabItemHeightBias = 25; |
129 | sidebarSizeBias = 48; | 134 | sidebarSizeBias = 48; |
130 | break; | 135 | break; |
131 | case (45): | 136 | case 45: |
132 | fontSize = 10; | 137 | fontSize = 10; |
133 | tabItemHeightBias = 21; | 138 | tabItemHeightBias = 21; |
134 | sidebarSizeBias = 44; | 139 | sidebarSizeBias = 44; |
135 | break; | 140 | break; |
136 | case (55): | 141 | case 55: |
137 | fontSize = 11; | 142 | fontSize = 11; |
138 | tabItemHeightBias = 13; | 143 | tabItemHeightBias = 13; |
139 | sidebarSizeBias = 37; | 144 | sidebarSizeBias = 37; |
140 | break; | 145 | break; |
141 | case (80): | 146 | case 80: |
142 | fontSize = 11; | 147 | fontSize = 11; |
143 | tabItemHeightBias = 3; | 148 | tabItemHeightBias = 3; |
144 | sidebarSizeBias = 27; | 149 | sidebarSizeBias = 27; |
145 | break; | 150 | break; |
146 | case (90): | 151 | case 90: |
147 | fontSize = 12; | 152 | fontSize = 12; |
148 | tabItemHeightBias = 0; | 153 | tabItemHeightBias = 0; |
149 | sidebarSizeBias = 25; | 154 | sidebarSizeBias = 25; |
150 | break; | 155 | break; |
151 | case (100): | 156 | case 100: |
152 | fontSize = 13; | 157 | fontSize = 13; |
153 | tabItemHeightBias = 2; | 158 | tabItemHeightBias = 2; |
154 | sidebarSizeBias = 25; | 159 | sidebarSizeBias = 25; |
@@ -159,7 +164,7 @@ function generateServiceRibbonWidthStyle(widthStr, iconSizeStr, vertical, isLabe | |||
159 | sidebarSizeBias = 37; | 164 | sidebarSizeBias = 37; |
160 | } | 165 | } |
161 | 166 | ||
162 | if(!isLabelEnabled){ | 167 | if (!isLabelEnabled) { |
163 | sidebarSizeBias = 22; | 168 | sidebarSizeBias = 22; |
164 | tabItemHeightBias = -5; | 169 | tabItemHeightBias = -5; |
165 | } | 170 | } |
@@ -317,7 +322,7 @@ function generateStyle(settings) { | |||
317 | serviceRibbonWidth, | 322 | serviceRibbonWidth, |
318 | iconSize, | 323 | iconSize, |
319 | useVerticalStyle, | 324 | useVerticalStyle, |
320 | showServiceName | 325 | showServiceName, |
321 | ); | 326 | ); |
322 | } | 327 | } |
323 | if (showDragArea) { | 328 | if (showDragArea) { |
diff --git a/src/features/basicAuth/index.ts b/src/features/basicAuth/index.ts index 149ab6c19..8e8fa186c 100644 --- a/src/features/basicAuth/index.ts +++ b/src/features/basicAuth/index.ts | |||
@@ -1,7 +1,5 @@ | |||
1 | import { AuthInfo, BrowserWindow, ipcRenderer } from 'electron'; | 1 | import { AuthInfo, BrowserWindow, ipcRenderer } from 'electron'; |
2 | 2 | ||
3 | import BasicAuthComponent from './Component'; | ||
4 | |||
5 | import { state as ModalState } from './store'; | 3 | import { state as ModalState } from './store'; |
6 | 4 | ||
7 | const debug = require('debug')('Ferdi:feature:basicAuth'); | 5 | const debug = require('debug')('Ferdi:feature:basicAuth'); |
@@ -31,4 +29,4 @@ export function mainIpcHandler(mainWindow: BrowserWindow, authInfo: AuthInfo) { | |||
31 | }); | 29 | }); |
32 | } | 30 | } |
33 | 31 | ||
34 | export const Component = BasicAuthComponent; | 32 | export { default as Component } from './Component'; |
diff --git a/src/features/quickSwitch/Component.js b/src/features/quickSwitch/Component.js index d5cb9179f..75587cc1d 100644 --- a/src/features/quickSwitch/Component.js +++ b/src/features/quickSwitch/Component.js | |||
@@ -99,8 +99,6 @@ class QuickSwitchModal extends Component { | |||
99 | 99 | ||
100 | ARROW_UP = 38; | 100 | ARROW_UP = 38; |
101 | 101 | ||
102 | SHIFT = 16; | ||
103 | |||
104 | ENTER = 13; | 102 | ENTER = 13; |
105 | 103 | ||
106 | TAB = 9; | 104 | TAB = 9; |
diff --git a/src/features/workspaces/components/WorkspacesDashboard.js b/src/features/workspaces/components/WorkspacesDashboard.js index d41536f31..1087580b1 100644 --- a/src/features/workspaces/components/WorkspacesDashboard.js +++ b/src/features/workspaces/components/WorkspacesDashboard.js | |||
@@ -1,3 +1,4 @@ | |||
1 | /* eslint-disable react/jsx-no-useless-fragment */ | ||
1 | import { Component } from 'react'; | 2 | import { Component } from 'react'; |
2 | import PropTypes from 'prop-types'; | 3 | import PropTypes from 'prop-types'; |
3 | import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react'; | 4 | import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react'; |
diff --git a/src/helpers/async-helpers.ts b/src/helpers/async-helpers.ts index 6b1f24b5a..56051b065 100644 --- a/src/helpers/async-helpers.ts +++ b/src/helpers/async-helpers.ts | |||
@@ -1,3 +1,4 @@ | |||
1 | export function sleep(ms: number = 0) { | 1 | export function sleep(ms: number = 0) { |
2 | // eslint-disable-next-line no-promise-executor-return | ||
2 | return new Promise(r => setTimeout(r, ms)); | 3 | return new Promise(r => setTimeout(r, ms)); |
3 | } | 4 | } |
diff --git a/src/helpers/recipe-helpers.ts b/src/helpers/recipe-helpers.ts index d482dffab..93c107cc5 100644 --- a/src/helpers/recipe-helpers.ts +++ b/src/helpers/recipe-helpers.ts | |||
@@ -1,3 +1,4 @@ | |||
1 | /* eslint-disable import/no-import-module-exports */ | ||
1 | /* eslint-disable global-require */ | 2 | /* eslint-disable global-require */ |
2 | import { parse } from 'path'; | 3 | import { parse } from 'path'; |
3 | import { userDataRecipesPath } from '../environment-remote'; | 4 | import { userDataRecipesPath } from '../environment-remote'; |
diff --git a/src/i18n/translations.ts b/src/i18n/translations.ts index 9a7dc7453..cc5ecf83a 100644 --- a/src/i18n/translations.ts +++ b/src/i18n/translations.ts | |||
@@ -1,3 +1,4 @@ | |||
1 | /* eslint-disable import/no-import-module-exports */ | ||
1 | /* eslint-disable global-require */ | 2 | /* eslint-disable global-require */ |
2 | import { APP_LOCALES } from './languages'; | 3 | import { APP_LOCALES } from './languages'; |
3 | 4 | ||
diff --git a/src/internal-server/database/factory.js b/src/internal-server/database/factory.js index 8534fc20a..8cd45a80d 100644 --- a/src/internal-server/database/factory.js +++ b/src/internal-server/database/factory.js | |||
@@ -1,3 +1,4 @@ | |||
1 | /* eslint-disable unicorn/no-empty-file */ | ||
1 | /* | 2 | /* |
2 | |-------------------------------------------------------------------------- | 3 | |-------------------------------------------------------------------------- |
3 | | Factory | 4 | | Factory |
diff --git a/src/themes/legacy/index.ts b/src/themes/legacy/index.ts index c6105a4e2..ca3216e7f 100644 --- a/src/themes/legacy/index.ts +++ b/src/themes/legacy/index.ts | |||
@@ -1,7 +1,6 @@ | |||
1 | import { DEFAULT_ACCENT_COLOR } from '../../config'; | ||
2 | |||
3 | /* legacy config, injected into sass */ | 1 | /* legacy config, injected into sass */ |
4 | export const themeBrandPrimary = DEFAULT_ACCENT_COLOR; | 2 | export { DEFAULT_ACCENT_COLOR as themeBrandPrimary } from '../../config'; |
3 | |||
5 | export const themeBrandSuccess = '#5cb85c'; | 4 | export const themeBrandSuccess = '#5cb85c'; |
6 | export const themeBrandInfo = '#5bc0de'; | 5 | export const themeBrandInfo = '#5bc0de'; |
7 | export const themeBrandWarning = '#FF9F00'; | 6 | export const themeBrandWarning = '#FF9F00'; |