import React from 'react'; import ReactDOM from 'react-dom'; import { Route, Switch, Redirect } from 'react-router-dom'; import { I18n } from '@lingui/react'; import { t } from '@lingui/macro'; import '@patternfly/react-core/dist/styles/base.css'; import './app.scss'; import Background from './components/Background'; import RootProvider from './RootProvider'; import App from './App'; import { BrandName } from './variables'; import { isAuthenticated } from './util/auth'; import Applications from './pages/Applications'; import Credentials from './pages/Credentials'; import CredentialTypes from './pages/CredentialTypes'; import Dashboard from './pages/Dashboard'; import InstanceGroups from './pages/InstanceGroups'; import Inventories from './pages/Inventories'; import InventoryScripts from './pages/InventoryScripts'; import Jobs from './pages/Jobs'; import Login from './pages/Login'; import ManagementJobs from './pages/ManagementJobs'; import NotificationTemplates from './pages/NotificationTemplates'; import Organizations from './pages/Organizations/Organizations'; import Portal from './pages/Portal'; import Projects from './pages/Projects'; import Schedules from './pages/Schedules'; import AuthSettings from './pages/AuthSettings'; import JobsSettings from './pages/JobsSettings'; import SystemSettings from './pages/SystemSettings'; import UISettings from './pages/UISettings'; import License from './pages/License'; import Teams from './pages/Teams'; import Templates from './pages/Templates/Templates'; import Users from './pages/Users'; // eslint-disable-next-line import/prefer-default-export export function main (render) { const el = document.getElementById('app'); document.title = `Ansible ${BrandName}`; const defaultRedirect = () => (); const removeTrailingSlash = ( ( )} /> ); const loginRoutes = ( {removeTrailingSlash} ( )} /> ); return render( {({ i18n }) => ( {!isAuthenticated(document.cookie) ? loginRoutes : ( {removeTrailingSlash} ( ( routeGroups .reduce((allRoutes, { routes }) => allRoutes.concat(routes), []) .map(({ component: PageComponent, path }) => ( ( )} /> )) )} /> )} /> )} )} , el || document.createElement('div') ); } main(ReactDOM.render);