aboutsummaryrefslogtreecommitdiffstats
path: root/src/features
diff options
context:
space:
mode:
Diffstat (limited to 'src/features')
-rw-r--r--src/features/appearance/index.ts8
-rw-r--r--src/features/basicAuth/Component.tsx20
-rw-r--r--src/features/basicAuth/index.ts2
-rw-r--r--src/features/basicAuth/mainIpcHandler.ts2
-rw-r--r--src/features/basicAuth/store.ts2
-rw-r--r--src/features/publishDebugInfo/Component.tsx18
-rw-r--r--src/features/quickSwitch/Component.tsx27
-rw-r--r--src/features/serviceProxy/index.ts2
-rw-r--r--src/features/todos/actions.ts2
-rw-r--r--src/features/todos/components/TodosWebview.tsx13
-rw-r--r--src/features/todos/containers/TodosScreen.tsx10
-rw-r--r--src/features/todos/store.ts25
-rw-r--r--src/features/utils/FeatureStore.ts2
-rw-r--r--src/features/webControls/components/WebControls.tsx18
-rw-r--r--src/features/webControls/containers/WebControlsScreen.tsx16
-rw-r--r--src/features/workspaces/actions.ts2
-rw-r--r--src/features/workspaces/api.ts2
-rw-r--r--src/features/workspaces/components/CreateWorkspaceForm.tsx14
-rw-r--r--src/features/workspaces/components/EditWorkspaceForm.tsx28
-rw-r--r--src/features/workspaces/components/WorkspaceDrawer.tsx20
-rw-r--r--src/features/workspaces/components/WorkspaceDrawerItem.tsx16
-rw-r--r--src/features/workspaces/components/WorkspaceItem.tsx8
-rw-r--r--src/features/workspaces/components/WorkspaceServiceListItem.tsx10
-rw-r--r--src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx14
-rw-r--r--src/features/workspaces/components/WorkspacesDashboard.tsx20
-rw-r--r--src/features/workspaces/containers/EditWorkspaceScreen.tsx8
-rw-r--r--src/features/workspaces/containers/WorkspacesScreen.tsx10
-rw-r--r--src/features/workspaces/store.ts12
28 files changed, 191 insertions, 140 deletions
diff --git a/src/features/appearance/index.ts b/src/features/appearance/index.ts
index 46403275e..049080505 100644
--- a/src/features/appearance/index.ts
+++ b/src/features/appearance/index.ts
@@ -3,14 +3,14 @@ import { reaction } from 'mobx';
3import TopBarProgress from 'react-topbar-progress-indicator'; 3import TopBarProgress from 'react-topbar-progress-indicator';
4 4
5import { pathExistsSync, readFileSync } from 'fs-extra'; 5import { pathExistsSync, readFileSync } from 'fs-extra';
6import { isWindows, isLinux } from '../../environment';
7import { 6import {
8 DEFAULT_APP_SETTINGS, 7 DEFAULT_APP_SETTINGS,
9 iconSizeBias,
10 SIDEBAR_SERVICES_LOCATION_TOPLEFT,
11 SIDEBAR_SERVICES_LOCATION_CENTER,
12 SIDEBAR_SERVICES_LOCATION_BOTTOMRIGHT, 8 SIDEBAR_SERVICES_LOCATION_BOTTOMRIGHT,
9 SIDEBAR_SERVICES_LOCATION_CENTER,
10 SIDEBAR_SERVICES_LOCATION_TOPLEFT,
11 iconSizeBias,
13} from '../../config'; 12} from '../../config';
13import { isLinux, isWindows } from '../../environment';
14import { userDataPath } from '../../environment-remote'; 14import { userDataPath } from '../../environment-remote';
15 15
16const STYLE_ELEMENT_ID = 'custom-appearance-style'; 16const STYLE_ELEMENT_ID = 'custom-appearance-style';
diff --git a/src/features/basicAuth/Component.tsx b/src/features/basicAuth/Component.tsx
index e20f7641b..7c901344d 100644
--- a/src/features/basicAuth/Component.tsx
+++ b/src/features/basicAuth/Component.tsx
@@ -1,17 +1,21 @@
1import { Component, FormEvent, ReactElement } from 'react';
2import injectSheet, { WithStylesProps } from 'react-jss';
3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
5import classnames from 'classnames'; 1import classnames from 'classnames';
6import { noop } from 'lodash'; 2import { noop } from 'lodash';
3import { observer } from 'mobx-react';
4import { Component, type FormEvent, type ReactElement } from 'react';
5import {
6 type WrappedComponentProps,
7 defineMessages,
8 injectIntl,
9} from 'react-intl';
10import injectSheet, { type WithStylesProps } from 'react-jss';
7import Modal from '../../components/ui/Modal'; 11import Modal from '../../components/ui/Modal';
8import Input from '../../components/ui/input/index';
9import Button from '../../components/ui/button'; 12import Button from '../../components/ui/button';
10import { state, resetState, sendCredentials, cancelLogin } from './store'; 13import { H1 } from '../../components/ui/headline';
14import Input from '../../components/ui/input/index';
15import globalMessages from '../../i18n/globalMessages';
11import Form from './Form'; 16import Form from './Form';
17import { cancelLogin, resetState, sendCredentials, state } from './store';
12import styles from './styles'; 18import styles from './styles';
13import globalMessages from '../../i18n/globalMessages';
14import { H1 } from '../../components/ui/headline';
15 19
16const messages = defineMessages({ 20const messages = defineMessages({
17 signIn: { 21 signIn: {
diff --git a/src/features/basicAuth/index.ts b/src/features/basicAuth/index.ts
index ae698cba8..bedb57309 100644
--- a/src/features/basicAuth/index.ts
+++ b/src/features/basicAuth/index.ts
@@ -1,4 +1,4 @@
1import { AuthInfo, BrowserWindow, ipcRenderer } from 'electron'; 1import { type AuthInfo, type BrowserWindow, ipcRenderer } from 'electron';
2 2
3import { state as ModalState } from './store'; 3import { state as ModalState } from './store';
4 4
diff --git a/src/features/basicAuth/mainIpcHandler.ts b/src/features/basicAuth/mainIpcHandler.ts
index d9cedc974..d46657748 100644
--- a/src/features/basicAuth/mainIpcHandler.ts
+++ b/src/features/basicAuth/mainIpcHandler.ts
@@ -1,4 +1,4 @@
1import { BrowserWindow } from 'electron'; 1import type { BrowserWindow } from 'electron';
2 2
3const debug = require('../../preload-safe-debug')( 3const debug = require('../../preload-safe-debug')(
4 'Ferdium:feature:basicAuth:main', 4 'Ferdium:feature:basicAuth:main',
diff --git a/src/features/basicAuth/store.ts b/src/features/basicAuth/store.ts
index 0fc289916..489eac087 100644
--- a/src/features/basicAuth/store.ts
+++ b/src/features/basicAuth/store.ts
@@ -1,5 +1,5 @@
1import { observable } from 'mobx';
2import { ipcRenderer } from 'electron'; 1import { ipcRenderer } from 'electron';
2import { observable } from 'mobx';
3 3
4const debug = require('../../preload-safe-debug')('Ferdium:feature:basicAuth'); 4const debug = require('../../preload-safe-debug')('Ferdium:feature:basicAuth');
5 5
diff --git a/src/features/publishDebugInfo/Component.tsx b/src/features/publishDebugInfo/Component.tsx
index 3c6729ba0..8b38ba5af 100644
--- a/src/features/publishDebugInfo/Component.tsx
+++ b/src/features/publishDebugInfo/Component.tsx
@@ -1,15 +1,19 @@
1import { inject, observer } from 'mobx-react'; 1import { inject, observer } from 'mobx-react';
2import { Component, ReactElement } from 'react'; 2import { Component, type ReactElement } from 'react';
3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 3import {
4import withStyles, { WithStylesProps } from 'react-jss'; 4 type WrappedComponentProps,
5import { StoresProps } from '../../@types/ferdium-components.types'; 5 defineMessages,
6import { state as ModalState } from './store'; 6 injectIntl,
7import { H1 } from '../../components/ui/headline'; 7} from 'react-intl';
8import withStyles, { type WithStylesProps } from 'react-jss';
9import type { StoresProps } from '../../@types/ferdium-components.types';
8import { sendAuthRequest } from '../../api/utils/auth'; 10import { sendAuthRequest } from '../../api/utils/auth';
11import Modal from '../../components/ui/Modal';
9import Button from '../../components/ui/button'; 12import Button from '../../components/ui/button';
13import { H1 } from '../../components/ui/headline';
10import Input from '../../components/ui/input/index'; 14import Input from '../../components/ui/input/index';
11import Modal from '../../components/ui/Modal';
12import { DEBUG_API } from '../../config'; 15import { DEBUG_API } from '../../config';
16import { state as ModalState } from './store';
13 17
14const debug = require('../../preload-safe-debug')( 18const debug = require('../../preload-safe-debug')(
15 'Ferdium:feature:publishDebugInfo', 19 'Ferdium:feature:publishDebugInfo',
diff --git a/src/features/quickSwitch/Component.tsx b/src/features/quickSwitch/Component.tsx
index 7f6ad6432..a5c102386 100644
--- a/src/features/quickSwitch/Component.tsx
+++ b/src/features/quickSwitch/Component.tsx
@@ -1,15 +1,24 @@
1import { ChangeEvent, Component, createRef, ReactElement } from 'react';
2import { getCurrentWindow } from '@electron/remote'; 1import { getCurrentWindow } from '@electron/remote';
3import { observer, inject } from 'mobx-react';
4import { reaction } from 'mobx';
5import withStyles, { WithStylesProps } from 'react-jss';
6import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
7import { compact, invoke, noop } from 'lodash'; 2import { compact, invoke, noop } from 'lodash';
8import { StoresProps } from '../../@types/ferdium-components.types'; 3import { reaction } from 'mobx';
9import Service from '../../models/Service'; 4import { inject, observer } from 'mobx-react';
10import Input from '../../components/ui/input/index'; 5import {
11import { H1 } from '../../components/ui/headline'; 6 type ChangeEvent,
7 Component,
8 type ReactElement,
9 createRef,
10} from 'react';
11import {
12 type WrappedComponentProps,
13 defineMessages,
14 injectIntl,
15} from 'react-intl';
16import withStyles, { type WithStylesProps } from 'react-jss';
17import type { StoresProps } from '../../@types/ferdium-components.types';
12import Modal from '../../components/ui/Modal'; 18import Modal from '../../components/ui/Modal';
19import { H1 } from '../../components/ui/headline';
20import Input from '../../components/ui/input/index';
21import type Service from '../../models/Service';
13import { state as ModalState } from './store'; 22import { state as ModalState } from './store';
14 23
15const messages = defineMessages({ 24const messages = defineMessages({
diff --git a/src/features/serviceProxy/index.ts b/src/features/serviceProxy/index.ts
index c98ae00a7..68415c31e 100644
--- a/src/features/serviceProxy/index.ts
+++ b/src/features/serviceProxy/index.ts
@@ -1,5 +1,5 @@
1import { autorun, action, observable } from 'mobx';
2import { session } from '@electron/remote'; 1import { session } from '@electron/remote';
2import { action, autorun, observable } from 'mobx';
3 3
4const debug = require('../../preload-safe-debug')( 4const debug = require('../../preload-safe-debug')(
5 'Ferdium:feature:serviceProxy', 5 'Ferdium:feature:serviceProxy',
diff --git a/src/features/todos/actions.ts b/src/features/todos/actions.ts
index 5273cc858..c2000752f 100644
--- a/src/features/todos/actions.ts
+++ b/src/features/todos/actions.ts
@@ -1,5 +1,5 @@
1import { Webview } from 'react-electron-web-view';
2import PropTypes from 'prop-types'; 1import PropTypes from 'prop-types';
2import type { Webview } from 'react-electron-web-view';
3import { createActionsFromDefinitions } from '../../actions/lib/actions'; 3import { createActionsFromDefinitions } from '../../actions/lib/actions';
4 4
5export interface TodoClientMessage { 5export interface TodoClientMessage {
diff --git a/src/features/todos/components/TodosWebview.tsx b/src/features/todos/components/TodosWebview.tsx
index 1ccfa3cdd..f9493d519 100644
--- a/src/features/todos/components/TodosWebview.tsx
+++ b/src/features/todos/components/TodosWebview.tsx
@@ -1,10 +1,15 @@
1import { Component, createRef, ReactElement, MouseEvent } from 'react'; 1import classnames from 'classnames';
2import { observer } from 'mobx-react'; 2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss'; 3import {
4 Component,
5 type MouseEvent,
6 type ReactElement,
7 createRef,
8} from 'react';
4import Webview from 'react-electron-web-view'; 9import Webview from 'react-electron-web-view';
5import classnames from 'classnames'; 10import withStyles, { type WithStylesProps } from 'react-jss';
6import { TODOS_PARTITION_ID } from '../../../config'; 11import { TODOS_PARTITION_ID } from '../../../config';
7import { TodoClientMessage } from '../actions'; 12import type { TodoClientMessage } from '../actions';
8 13
9const styles = theme => ({ 14const styles = theme => ({
10 root: { 15 root: {
diff --git a/src/features/todos/containers/TodosScreen.tsx b/src/features/todos/containers/TodosScreen.tsx
index 8941a4b39..29ecd5a0e 100644
--- a/src/features/todos/containers/TodosScreen.tsx
+++ b/src/features/todos/containers/TodosScreen.tsx
@@ -1,11 +1,11 @@
1import { Component, ReactElement } from 'react'; 1import { inject, observer } from 'mobx-react';
2import { observer, inject } from 'mobx-react'; 2import { Component, type ReactElement } from 'react';
3import TodosWebview from '../components/TodosWebview';
4import ErrorBoundary from '../../../components/util/ErrorBoundary';
5import { todosStore } from '..'; 3import { todosStore } from '..';
4import ErrorBoundary from '../../../components/util/ErrorBoundary';
6import { TODOS_MIN_WIDTH } from '../../../config'; 5import { TODOS_MIN_WIDTH } from '../../../config';
6import type { RealStores } from '../../../stores';
7import { todoActions } from '../actions'; 7import { todoActions } from '../actions';
8import { RealStores } from '../../../stores'; 8import TodosWebview from '../components/TodosWebview';
9 9
10interface IProps { 10interface IProps {
11 stores?: RealStores; 11 stores?: RealStores;
diff --git a/src/features/todos/store.ts b/src/features/todos/store.ts
index 50704c73f..b3f7195e7 100644
--- a/src/features/todos/store.ts
+++ b/src/features/todos/store.ts
@@ -1,25 +1,26 @@
1import { Webview } from 'react-electron-web-view'; 1import { action, computed, makeObservable, observable } from 'mobx';
2import { computed, action, observable, makeObservable } from 'mobx';
3import localStorage from 'mobx-localstorage'; 2import localStorage from 'mobx-localstorage';
4import { Actions } from '../../actions/lib/actions'; 3import type { Webview } from 'react-electron-web-view';
4import type { Actions } from '../../actions/lib/actions';
5 5
6import { ThemeType } from '../../themes';
7import { todoActions } from './actions';
8import { 6import {
9 CUSTOM_TODO_SERVICE, 7 CUSTOM_TODO_SERVICE,
10 TODO_SERVICE_RECIPE_IDS, 8 DEFAULT_IS_TODO_FEATURE_ENABLED_BY_USER,
9 DEFAULT_TODOS_VISIBLE,
11 DEFAULT_TODOS_WIDTH, 10 DEFAULT_TODOS_WIDTH,
12 TODOS_MIN_WIDTH, 11 TODOS_MIN_WIDTH,
13 DEFAULT_TODOS_VISIBLE, 12 TODO_SERVICE_RECIPE_IDS,
14 DEFAULT_IS_TODO_FEATURE_ENABLED_BY_USER,
15} from '../../config'; 13} from '../../config';
16import { isValidExternalURL } from '../../helpers/url-helpers'; 14import { isValidExternalURL } from '../../helpers/url-helpers';
17import FeatureStore from '../utils/FeatureStore'; 15import { ifUndefined } from '../../jsUtils';
18import Reaction, { createReactions } from '../../stores/lib/Reaction'; 16import UserAgent from '../../models/UserAgent';
17import type Reaction from '../../stores/lib/Reaction';
18import { createReactions } from '../../stores/lib/Reaction';
19import { ThemeType } from '../../themes';
19import { createActionBindings } from '../utils/ActionBinding'; 20import { createActionBindings } from '../utils/ActionBinding';
21import FeatureStore from '../utils/FeatureStore';
22import { todoActions } from './actions';
20import { IPC, TODOS_ROUTES } from './constants'; 23import { IPC, TODOS_ROUTES } from './constants';
21import UserAgent from '../../models/UserAgent';
22import { ifUndefined } from '../../jsUtils';
23 24
24const debug = require('../../preload-safe-debug')( 25const debug = require('../../preload-safe-debug')(
25 'Ferdium:feature:todos:store', 26 'Ferdium:feature:todos:store',
diff --git a/src/features/utils/FeatureStore.ts b/src/features/utils/FeatureStore.ts
index 2bdd167f3..df82a7bd0 100644
--- a/src/features/utils/FeatureStore.ts
+++ b/src/features/utils/FeatureStore.ts
@@ -1,4 +1,4 @@
1import Reaction from '../../stores/lib/Reaction'; 1import type Reaction from '../../stores/lib/Reaction';
2 2
3export default class FeatureStore { 3export default class FeatureStore {
4 _actions: any = []; 4 _actions: any = [];
diff --git a/src/features/webControls/components/WebControls.tsx b/src/features/webControls/components/WebControls.tsx
index 54f45c843..aee568a7d 100644
--- a/src/features/webControls/components/WebControls.tsx
+++ b/src/features/webControls/components/WebControls.tsx
@@ -1,14 +1,18 @@
1import { createRef, Component, ReactElement, RefObject } from 'react';
2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss';
4import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
5import { 1import {
6 mdiReload,
7 mdiArrowRight,
8 mdiArrowLeft, 2 mdiArrowLeft,
9 mdiHomeOutline, 3 mdiArrowRight,
10 mdiEarth, 4 mdiEarth,
5 mdiHomeOutline,
6 mdiReload,
11} from '@mdi/js'; 7} from '@mdi/js';
8import { observer } from 'mobx-react';
9import { Component, type ReactElement, type RefObject, createRef } from 'react';
10import {
11 type WrappedComponentProps,
12 defineMessages,
13 injectIntl,
14} from 'react-intl';
15import withStyles, { type WithStylesProps } from 'react-jss';
12import { Tooltip as ReactTooltip } from 'react-tooltip'; 16import { Tooltip as ReactTooltip } from 'react-tooltip';
13import Icon from '../../../components/ui/icon'; 17import Icon from '../../../components/ui/icon';
14 18
diff --git a/src/features/webControls/containers/WebControlsScreen.tsx b/src/features/webControls/containers/WebControlsScreen.tsx
index f6f1cddb8..b492264bf 100644
--- a/src/features/webControls/containers/WebControlsScreen.tsx
+++ b/src/features/webControls/containers/WebControlsScreen.tsx
@@ -1,17 +1,17 @@
1import { Component, ReactElement } from 'react';
2import { observer, inject } from 'mobx-react';
3import { 1import {
4 autorun, 2 type IReactionDisposer,
5 action, 3 action,
4 autorun,
6 makeObservable, 5 makeObservable,
7 observable, 6 observable,
8 IReactionDisposer,
9} from 'mobx'; 7} from 'mobx';
10import ElectronWebView from 'react-electron-web-view'; 8import { inject, observer } from 'mobx-react';
11import WebControls from '../components/WebControls'; 9import { Component, type ReactElement } from 'react';
12import Service from '../../../models/Service'; 10import type ElectronWebView from 'react-electron-web-view';
11import type { StoresProps } from '../../../@types/ferdium-components.types';
13import { SEARCH_ENGINE_URLS } from '../../../config'; 12import { SEARCH_ENGINE_URLS } from '../../../config';
14import { StoresProps } from '../../../@types/ferdium-components.types'; 13import type Service from '../../../models/Service';
14import WebControls from '../components/WebControls';
15 15
16const URL_EVENTS = [ 16const URL_EVENTS = [
17 'load-commit', 17 'load-commit',
diff --git a/src/features/workspaces/actions.ts b/src/features/workspaces/actions.ts
index cfe4f9e8e..7970c042c 100644
--- a/src/features/workspaces/actions.ts
+++ b/src/features/workspaces/actions.ts
@@ -1,6 +1,6 @@
1import PropTypes from 'prop-types'; 1import PropTypes from 'prop-types';
2import Workspace from './models/Workspace';
3import { createActionsFromDefinitions } from '../../actions/lib/actions'; 2import { createActionsFromDefinitions } from '../../actions/lib/actions';
3import Workspace from './models/Workspace';
4 4
5type WorkspaceArg = { workspace: Workspace }; 5type WorkspaceArg = { workspace: Workspace };
6 6
diff --git a/src/features/workspaces/api.ts b/src/features/workspaces/api.ts
index b8bb703cd..6ae71a930 100644
--- a/src/features/workspaces/api.ts
+++ b/src/features/workspaces/api.ts
@@ -1,8 +1,8 @@
1import { pick } from 'lodash'; 1import { pick } from 'lodash';
2import apiBase from '../../api/apiBase';
2import { sendAuthRequest } from '../../api/utils/auth'; 3import { sendAuthRequest } from '../../api/utils/auth';
3import Request from '../../stores/lib/Request'; 4import Request from '../../stores/lib/Request';
4import Workspace from './models/Workspace'; 5import Workspace from './models/Workspace';
5import apiBase from '../../api/apiBase';
6 6
7const debug = require('../../preload-safe-debug')( 7const debug = require('../../preload-safe-debug')(
8 'Ferdium:feature:workspaces:api', 8 'Ferdium:feature:workspaces:api',
diff --git a/src/features/workspaces/components/CreateWorkspaceForm.tsx b/src/features/workspaces/components/CreateWorkspaceForm.tsx
index b72052fe2..0c365564a 100644
--- a/src/features/workspaces/components/CreateWorkspaceForm.tsx
+++ b/src/features/workspaces/components/CreateWorkspaceForm.tsx
@@ -1,11 +1,15 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react'; 1import { observer } from 'mobx-react';
3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 2import { Component, type ReactElement } from 'react';
4import withStyles, { WithStylesProps } from 'react-jss'; 3import {
5import Input from '../../../components/ui/input/index'; 4 type WrappedComponentProps,
5 defineMessages,
6 injectIntl,
7} from 'react-intl';
8import withStyles, { type WithStylesProps } from 'react-jss';
6import Button from '../../../components/ui/button'; 9import Button from '../../../components/ui/button';
7import Form from '../../../lib/Form'; 10import Input from '../../../components/ui/input/index';
8import { required } from '../../../helpers/validation-helpers'; 11import { required } from '../../../helpers/validation-helpers';
12import Form from '../../../lib/Form';
9import { workspaceStore } from '../index'; 13import { workspaceStore } from '../index';
10 14
11const messages = defineMessages({ 15const messages = defineMessages({
diff --git a/src/features/workspaces/components/EditWorkspaceForm.tsx b/src/features/workspaces/components/EditWorkspaceForm.tsx
index d902d29be..18e7c251e 100644
--- a/src/features/workspaces/components/EditWorkspaceForm.tsx
+++ b/src/features/workspaces/components/EditWorkspaceForm.tsx
@@ -1,21 +1,25 @@
1import { Component, ReactElement } from 'react'; 1import { noop } from 'lodash';
2import { observer } from 'mobx-react'; 2import { observer } from 'mobx-react';
3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 3import { Component, type ReactElement } from 'react';
4import {
5 type WrappedComponentProps,
6 defineMessages,
7 injectIntl,
8} from 'react-intl';
9import withStyles, { type WithStylesProps } from 'react-jss';
4import { Link } from 'react-router-dom'; 10import { Link } from 'react-router-dom';
5import withStyles, { WithStylesProps } from 'react-jss'; 11import Button from '../../../components/ui/button';
6import { noop } from 'lodash'; 12import { H2 } from '../../../components/ui/headline';
7import Infobox from '../../../components/ui/infobox/index'; 13import Infobox from '../../../components/ui/infobox/index';
8import Input from '../../../components/ui/input'; 14import Input from '../../../components/ui/input';
9import Button from '../../../components/ui/button'; 15import Toggle from '../../../components/ui/toggle';
10import Workspace from '../models/Workspace'; 16import { KEEP_WS_LOADED_USID } from '../../../config';
11import Service from '../../../models/Service';
12import Form from '../../../lib/Form';
13import { required } from '../../../helpers/validation-helpers'; 17import { required } from '../../../helpers/validation-helpers';
18import Form from '../../../lib/Form';
19import type Service from '../../../models/Service';
20import type Request from '../../../stores/lib/Request';
21import type Workspace from '../models/Workspace';
14import WorkspaceServiceListItem from './WorkspaceServiceListItem'; 22import WorkspaceServiceListItem from './WorkspaceServiceListItem';
15import Request from '../../../stores/lib/Request';
16import { KEEP_WS_LOADED_USID } from '../../../config';
17import Toggle from '../../../components/ui/toggle';
18import { H2 } from '../../../components/ui/headline';
19 23
20const messages = defineMessages({ 24const messages = defineMessages({
21 buttonDelete: { 25 buttonDelete: {
diff --git a/src/features/workspaces/components/WorkspaceDrawer.tsx b/src/features/workspaces/components/WorkspaceDrawer.tsx
index 3e05cb7de..2826b741a 100644
--- a/src/features/workspaces/components/WorkspaceDrawer.tsx
+++ b/src/features/workspaces/components/WorkspaceDrawer.tsx
@@ -1,17 +1,21 @@
1import { Component, ReactElement } from 'react'; 1import { mdiCog, mdiPlusBox } from '@mdi/js';
2import { noop } from 'lodash';
2import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss'; 4import { Component, type ReactElement } from 'react';
4import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 5import {
6 type WrappedComponentProps,
7 defineMessages,
8 injectIntl,
9} from 'react-intl';
10import withStyles, { type WithStylesProps } from 'react-jss';
5import { Tooltip as ReactTooltip } from 'react-tooltip'; 11import { Tooltip as ReactTooltip } from 'react-tooltip';
6import { mdiPlusBox, mdiCog } from '@mdi/js';
7import { noop } from 'lodash';
8import { H1 } from '../../../components/ui/headline'; 12import { H1 } from '../../../components/ui/headline';
9import Icon from '../../../components/ui/icon'; 13import Icon from '../../../components/ui/icon';
10import WorkspaceDrawerItem from './WorkspaceDrawerItem';
11import workspaceActions from '../actions'; 14import workspaceActions from '../actions';
12import { workspaceStore } from '../index';
13import { getUserWorkspacesRequest } from '../api'; 15import { getUserWorkspacesRequest } from '../api';
14import Workspace from '../models/Workspace'; 16import { workspaceStore } from '../index';
17import type Workspace from '../models/Workspace';
18import WorkspaceDrawerItem from './WorkspaceDrawerItem';
15 19
16const messages = defineMessages({ 20const messages = defineMessages({
17 headline: { 21 headline: {
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.tsx b/src/features/workspaces/components/WorkspaceDrawerItem.tsx
index 85ed4c38c..1e4b57dba 100644
--- a/src/features/workspaces/components/WorkspaceDrawerItem.tsx
+++ b/src/features/workspaces/components/WorkspaceDrawerItem.tsx
@@ -1,11 +1,15 @@
1import { Component, MouseEventHandler, ReactElement } from 'react'; 1import { Menu } from '@electron/remote';
2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss';
4import classnames from 'classnames'; 2import classnames from 'classnames';
5import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 3import type { MenuItemConstructorOptions } from 'electron';
6import { noop } from 'lodash'; 4import { noop } from 'lodash';
7import { Menu } from '@electron/remote'; 5import { observer } from 'mobx-react';
8import { MenuItemConstructorOptions } from 'electron'; 6import { Component, type MouseEventHandler, type ReactElement } from 'react';
7import {
8 type WrappedComponentProps,
9 defineMessages,
10 injectIntl,
11} from 'react-intl';
12import withStyles, { type WithStylesProps } from 'react-jss';
9import { altKey, cmdOrCtrlShortcutKey } from '../../../environment'; 13import { altKey, cmdOrCtrlShortcutKey } from '../../../environment';
10import { acceleratorString } from '../../../jsUtils'; 14import { acceleratorString } from '../../../jsUtils';
11 15
diff --git a/src/features/workspaces/components/WorkspaceItem.tsx b/src/features/workspaces/components/WorkspaceItem.tsx
index 36c6ed2f5..f24e6a85d 100644
--- a/src/features/workspaces/components/WorkspaceItem.tsx
+++ b/src/features/workspaces/components/WorkspaceItem.tsx
@@ -1,8 +1,8 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss';
4import { noop } from 'lodash'; 1import { noop } from 'lodash';
5import Workspace from '../models/Workspace'; 2import { observer } from 'mobx-react';
3import { Component, type ReactElement } from 'react';
4import withStyles, { type WithStylesProps } from 'react-jss';
5import type Workspace from '../models/Workspace';
6 6
7const styles = theme => ({ 7const styles = theme => ({
8 row: { 8 row: {
diff --git a/src/features/workspaces/components/WorkspaceServiceListItem.tsx b/src/features/workspaces/components/WorkspaceServiceListItem.tsx
index 9034be37c..6f61f8a51 100644
--- a/src/features/workspaces/components/WorkspaceServiceListItem.tsx
+++ b/src/features/workspaces/components/WorkspaceServiceListItem.tsx
@@ -1,11 +1,11 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss';
4import classnames from 'classnames'; 1import classnames from 'classnames';
5import { noop } from 'lodash'; 2import { noop } from 'lodash';
6import Toggle from '../../../components/ui/toggle'; 3import { observer } from 'mobx-react';
4import { Component, type ReactElement } from 'react';
5import withStyles, { type WithStylesProps } from 'react-jss';
7import ServiceIcon from '../../../components/ui/ServiceIcon'; 6import ServiceIcon from '../../../components/ui/ServiceIcon';
8import Service from '../../../models/Service'; 7import Toggle from '../../../components/ui/toggle';
8import type Service from '../../../models/Service';
9 9
10const styles = theme => ({ 10const styles = theme => ({
11 listItem: { 11 listItem: {
diff --git a/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx b/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx
index 19dd9037d..7fddd8553 100644
--- a/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx
+++ b/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx
@@ -1,11 +1,15 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss';
4import classnames from 'classnames'; 1import classnames from 'classnames';
5import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 2import { observer } from 'mobx-react';
3import { Component, type ReactElement } from 'react';
4import {
5 type WrappedComponentProps,
6 defineMessages,
7 injectIntl,
8} from 'react-intl';
9import withStyles, { type WithStylesProps } from 'react-jss';
6import Loader from '../../../components/ui/loader'; 10import Loader from '../../../components/ui/loader';
7import { workspaceStore } from '../index';
8import { DEFAULT_LOADER_COLOR } from '../../../config'; 11import { DEFAULT_LOADER_COLOR } from '../../../config';
12import { workspaceStore } from '../index';
9 13
10const messages = defineMessages({ 14const messages = defineMessages({
11 switchingTo: { 15 switchingTo: {
diff --git a/src/features/workspaces/components/WorkspacesDashboard.tsx b/src/features/workspaces/components/WorkspacesDashboard.tsx
index 0a417bffd..8fb2cf923 100644
--- a/src/features/workspaces/components/WorkspacesDashboard.tsx
+++ b/src/features/workspaces/components/WorkspacesDashboard.tsx
@@ -1,15 +1,19 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react'; 1import { observer } from 'mobx-react';
3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 2import { Component, type ReactElement } from 'react';
4import withStyles, { WithStylesProps } from 'react-jss'; 3import {
4 type WrappedComponentProps,
5 defineMessages,
6 injectIntl,
7} from 'react-intl';
8import withStyles, { type WithStylesProps } from 'react-jss';
9import Appear from '../../../components/ui/effects/Appear';
10import { H1 } from '../../../components/ui/headline';
5import Infobox from '../../../components/ui/infobox/index'; 11import Infobox from '../../../components/ui/infobox/index';
6import Loader from '../../../components/ui/loader'; 12import Loader from '../../../components/ui/loader';
7import WorkspaceItem from './WorkspaceItem'; 13import type Request from '../../../stores/lib/Request';
14import type Workspace from '../models/Workspace';
8import CreateWorkspaceForm from './CreateWorkspaceForm'; 15import CreateWorkspaceForm from './CreateWorkspaceForm';
9import Request from '../../../stores/lib/Request'; 16import WorkspaceItem from './WorkspaceItem';
10import Appear from '../../../components/ui/effects/Appear';
11import { H1 } from '../../../components/ui/headline';
12import Workspace from '../models/Workspace';
13 17
14const messages = defineMessages({ 18const messages = defineMessages({
15 headline: { 19 headline: {
diff --git a/src/features/workspaces/containers/EditWorkspaceScreen.tsx b/src/features/workspaces/containers/EditWorkspaceScreen.tsx
index abc747c33..92450d685 100644
--- a/src/features/workspaces/containers/EditWorkspaceScreen.tsx
+++ b/src/features/workspaces/containers/EditWorkspaceScreen.tsx
@@ -1,12 +1,12 @@
1import { Component } from 'react';
2import { inject, observer } from 'mobx-react'; 1import { inject, observer } from 'mobx-react';
2import { Component } from 'react';
3 3
4import { StoresProps } from '../../../@types/ferdium-components.types'; 4import type { StoresProps } from '../../../@types/ferdium-components.types';
5import ErrorBoundary from '../../../components/util/ErrorBoundary'; 5import ErrorBoundary from '../../../components/util/ErrorBoundary';
6import { deleteWorkspaceRequest, updateWorkspaceRequest } from '../api';
6import EditWorkspaceForm from '../components/EditWorkspaceForm'; 7import EditWorkspaceForm from '../components/EditWorkspaceForm';
7import Workspace from '../models/Workspace';
8import { workspaceStore } from '../index'; 8import { workspaceStore } from '../index';
9import { deleteWorkspaceRequest, updateWorkspaceRequest } from '../api'; 9import Workspace from '../models/Workspace';
10 10
11class EditWorkspaceScreen extends Component<StoresProps> { 11class EditWorkspaceScreen extends Component<StoresProps> {
12 onDelete = () => { 12 onDelete = () => {
diff --git a/src/features/workspaces/containers/WorkspacesScreen.tsx b/src/features/workspaces/containers/WorkspacesScreen.tsx
index 39f19935f..92565b45c 100644
--- a/src/features/workspaces/containers/WorkspacesScreen.tsx
+++ b/src/features/workspaces/containers/WorkspacesScreen.tsx
@@ -1,16 +1,16 @@
1import { Component } from 'react';
2import { inject, observer } from 'mobx-react'; 1import { inject, observer } from 'mobx-react';
3import { StoresProps } from '../../../@types/ferdium-components.types'; 2import { Component } from 'react';
4import WorkspacesDashboard from '../components/WorkspacesDashboard'; 3import type { StoresProps } from '../../../@types/ferdium-components.types';
5import ErrorBoundary from '../../../components/util/ErrorBoundary'; 4import ErrorBoundary from '../../../components/util/ErrorBoundary';
6import { workspaceStore } from '../index';
7import { 5import {
8 createWorkspaceRequest, 6 createWorkspaceRequest,
9 deleteWorkspaceRequest, 7 deleteWorkspaceRequest,
10 getUserWorkspacesRequest, 8 getUserWorkspacesRequest,
11 updateWorkspaceRequest, 9 updateWorkspaceRequest,
12} from '../api'; 10} from '../api';
13import Workspace from '../models/Workspace'; 11import WorkspacesDashboard from '../components/WorkspacesDashboard';
12import { workspaceStore } from '../index';
13import type Workspace from '../models/Workspace';
14 14
15interface IProps extends StoresProps {} 15interface IProps extends StoresProps {}
16 16
diff --git a/src/features/workspaces/store.ts b/src/features/workspaces/store.ts
index f97009186..41bf5d6f4 100644
--- a/src/features/workspaces/store.ts
+++ b/src/features/workspaces/store.ts
@@ -1,8 +1,10 @@
1import { computed, observable, action, makeObservable } from 'mobx'; 1import { action, computed, makeObservable, observable } from 'mobx';
2import localStorage from 'mobx-localstorage'; 2import localStorage from 'mobx-localstorage';
3import matchRoute from '../../helpers/routing-helpers'; 3import matchRoute from '../../helpers/routing-helpers';
4import workspaceActions from './actions'; 4import { createReactions } from '../../stores/lib/Reaction';
5import { createActionBindings } from '../utils/ActionBinding';
5import FeatureStore from '../utils/FeatureStore'; 6import FeatureStore from '../utils/FeatureStore';
7import workspaceActions from './actions';
6import { 8import {
7 createWorkspaceRequest, 9 createWorkspaceRequest,
8 deleteWorkspaceRequest, 10 deleteWorkspaceRequest,
@@ -10,12 +12,10 @@ import {
10 updateWorkspaceRequest, 12 updateWorkspaceRequest,
11} from './api'; 13} from './api';
12import { WORKSPACES_ROUTES } from './constants'; 14import { WORKSPACES_ROUTES } from './constants';
13import { createReactions } from '../../stores/lib/Reaction';
14import { createActionBindings } from '../utils/ActionBinding';
15 15
16import type { Actions } from '../../actions/lib/actions';
16import { KEEP_WS_LOADED_USID } from '../../config'; 17import { KEEP_WS_LOADED_USID } from '../../config';
17import Workspace from './models/Workspace'; 18import type Workspace from './models/Workspace';
18import { Actions } from '../../actions/lib/actions';
19 19
20const debug = require('../../preload-safe-debug')( 20const debug = require('../../preload-safe-debug')(
21 'Ferdium:feature:workspaces:store', 21 'Ferdium:feature:workspaces:store',