aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes.tsx
diff options
context:
space:
mode:
authorLibravatar Markus Hatvan <markus_hatvan@aon.at>2021-11-18 17:37:45 +0100
committerLibravatar GitHub <noreply@github.com>2021-11-18 22:07:45 +0530
commitb37a6b07b39c8c7827052dc6fb97f490f1e0f514 (patch)
tree0276e7c51f5ebfa14c566def7aac39f014c2291d /src/routes.tsx
parentUpdate github issues template [skip ci] (diff)
downloadferdium-app-b37a6b07b39c8c7827052dc6fb97f490f1e0f514.tar.gz
ferdium-app-b37a6b07b39c8c7827052dc6fb97f490f1e0f514.tar.zst
ferdium-app-b37a6b07b39c8c7827052dc6fb97f490f1e0f514.zip
chore: convert various files to TS (#2246)
* convert various files to TS * removed outdated docs/example-feature folder * turn off unicorn/no-empty-file * update eslint config
Diffstat (limited to 'src/routes.tsx')
-rw-r--r--src/routes.tsx97
1 files changed, 97 insertions, 0 deletions
diff --git a/src/routes.tsx b/src/routes.tsx
new file mode 100644
index 000000000..569da06a7
--- /dev/null
+++ b/src/routes.tsx
@@ -0,0 +1,97 @@
1import { Component } from 'react';
2import { inject, observer } from 'mobx-react';
3import { Router, Route, IndexRedirect } from 'react-router';
4
5import AppLayoutContainer from './containers/layout/AppLayoutContainer';
6import SettingsWindow from './containers/settings/SettingsWindow';
7import RecipesScreen from './containers/settings/RecipesScreen';
8import ServicesScreen from './containers/settings/ServicesScreen';
9import EditServiceScreen from './containers/settings/EditServiceScreen';
10import AccountScreen from './containers/settings/AccountScreen';
11import TeamScreen from './containers/settings/TeamScreen';
12import EditUserScreen from './containers/settings/EditUserScreen';
13import EditSettingsScreen from './containers/settings/EditSettingsScreen';
14import InviteSettingsScreen from './containers/settings/InviteScreen';
15import SupportFerdiScreen from './containers/settings/SupportScreen';
16import WelcomeScreen from './containers/auth/WelcomeScreen';
17import LoginScreen from './containers/auth/LoginScreen';
18import LockedScreen from './containers/auth/LockedScreen';
19import PasswordScreen from './containers/auth/PasswordScreen';
20import ChangeServerScreen from './containers/auth/ChangeServerScreen';
21import SignupScreen from './containers/auth/SignupScreen';
22import ImportScreen from './containers/auth/ImportScreen';
23import SetupAssistentScreen from './containers/auth/SetupAssistantScreen';
24import InviteScreen from './containers/auth/InviteScreen';
25import AuthLayoutContainer from './containers/auth/AuthLayoutContainer';
26import WorkspacesScreen from './features/workspaces/containers/WorkspacesScreen';
27import EditWorkspaceScreen from './features/workspaces/containers/EditWorkspaceScreen';
28import { WORKSPACES_ROUTES } from './features/workspaces/constants';
29
30import SettingsStore from './stores/SettingsStore';
31
32type Props = {
33 stores: {
34 settings: typeof SettingsStore;
35 };
36 history: any;
37};
38
39@inject('stores', 'actions')
40@observer
41class Routes extends Component<Props> {
42 render() {
43 const { locked } = this.props.stores.settings.app;
44
45 const { history } = this.props;
46
47 if (locked) {
48 return <LockedScreen />;
49 }
50
51 return (
52 <Router history={history}>
53 <Route path="/" component={AppLayoutContainer}>
54 <Route path="/settings" component={SettingsWindow}>
55 <IndexRedirect to="/settings/recipes" />
56 <Route path="/settings/recipes" component={RecipesScreen} />
57 <Route path="/settings/recipes/:filter" component={RecipesScreen} />
58 <Route path="/settings/services" component={ServicesScreen} />
59 <Route
60 path="/settings/services/:action/:id"
61 component={EditServiceScreen}
62 />
63 <Route path={WORKSPACES_ROUTES.ROOT} component={WorkspacesScreen} />
64 <Route
65 path={WORKSPACES_ROUTES.EDIT}
66 component={EditWorkspaceScreen}
67 />
68 <Route path="/settings/user" component={AccountScreen} />
69 <Route path="/settings/user/edit" component={EditUserScreen} />
70 <Route path="/settings/team" component={TeamScreen} />
71 <Route path="/settings/app" component={EditSettingsScreen} />
72 <Route path="/settings/invite" component={InviteSettingsScreen} />
73 <Route path="/settings/support" component={SupportFerdiScreen} />
74 </Route>
75 </Route>
76 <Route path="/auth" component={AuthLayoutContainer}>
77 <IndexRedirect to="/auth/welcome" />
78 <Route path="/auth/welcome" component={WelcomeScreen} />
79 <Route path="/auth/login" component={LoginScreen} />
80 <Route path="/auth/server" component={ChangeServerScreen} />
81 <Route path="/auth/signup">
82 <IndexRedirect to="/auth/signup/form" />
83 <Route path="/auth/signup/form" component={SignupScreen} />
84 <Route path="/auth/signup/import" component={ImportScreen} />
85 <Route path="/auth/signup/setup" component={SetupAssistentScreen} />
86 <Route path="/auth/signup/invite" component={InviteScreen} />
87 </Route>
88 <Route path="/auth/password" component={PasswordScreen} />
89 <Route path="/auth/logout" component={LoginScreen} />
90 </Route>
91 <Route path="*" component={AppLayoutContainer} />
92 </Router>
93 );
94 }
95}
96
97export default Routes;