-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathroutes.js
68 lines (63 loc) · 2.85 KB
/
routes.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import React from 'react';
import { Route, redirect } from 'react-router-dom';
// TODO: we're currently mimicking a file based router using a component based router
import App from '@pages/app';
import OrganizationList from '@pages/organizations';
import OrganizationEdit from '@pages/organizations/edit';
import Sites from '@pages/sites';
import AddSite from '@pages/sites/new';
import SiteContainer from '@pages/sites/$siteId';
import SiteSettings from '@pages/sites/$siteId/settings';
import SiteBuildList from '@pages/sites/$siteId/builds';
import BuildLogs from '@pages/sites/$siteId/builds/$buildId/logs';
import PublishedBranchesTable from '@pages/sites/$siteId/published';
import PublishedFilesTable from '@pages/sites/$siteId/published/$name';
import DomainList from '@pages/sites/$siteId/custom-domains';
import NewCustomDomain from '@pages/sites/$siteId/custom-domains/new';
import EditCustomDomain from '@pages/sites/$siteId/custom-domains/$domainId/edit';
import Reports from '@pages/sites/$siteId/reports';
import Settings from '@pages/settings';
import NotFound from '@pages/NotFound';
import ErrorMessage from '@pages/ErrorMessage';
import siteActions from './actions/siteActions';
import userActions from './actions/userActions';
import organizationActions from './actions/organizationActions';
const { NODE_ENV } = process.env;
let ErrorElement = null;
if (NODE_ENV !== 'development') {
ErrorElement = <ErrorMessage />;
}
const fetchInitialData = () => {
userActions.fetchUser();
siteActions.fetchSites();
organizationActions.fetchOrganizations();
};
export default (
<Route
path="/"
element={<App onEnter={fetchInitialData} />}
errorElement={ErrorElement}
>
<Route path="organizations" element={<OrganizationList />} />
<Route path="organizations/:id" element={<OrganizationEdit />} />
<Route path="sites" element={<Sites />} />
<Route path="sites/new" element={<AddSite />} />
<Route path="sites/:id" element={<SiteContainer />}>
<Route path="" loader={() => redirect('builds')} />
<Route path="settings" element={<SiteSettings />} />
<Route path="published" element={<PublishedBranchesTable />} />
<Route path="published/:name" element={<PublishedFilesTable />} />
<Route path="builds" element={<SiteBuildList />} />
<Route path="custom-domains" element={<DomainList />} />
<Route path="custom-domains/new" element={<NewCustomDomain />} />
<Route path="custom-domains/:domainId/edit" element={<EditCustomDomain />} />
<Route path="builds/:buildId/logs" element={<BuildLogs />} />
<Route path="scans" loader={() => redirect('../reports')} />
{process.env.FEATURE_BUILD_TASKS === 'active' && (
<Route path="reports" element={<Reports />} />
)}
</Route>
<Route path="settings" element={<Settings />} />
<Route path="*" element={<NotFound />} />
</Route>
);