feat: Show /login directly on / without valid authentication (#1528)

This commit is contained in:
kattoczko
2024-02-16 14:15:25 +00:00
committed by GitHub
parent e02c42ee18
commit ead4b13ba5

View File

@@ -1,4 +1,4 @@
import { Route, Routes, Navigate } from 'react-router-dom'; import { Route, Routes as ReactRouterRoutes, Navigate } from 'react-router-dom';
import Layout from 'components/Layout'; import Layout from 'components/Layout';
import PublicLayout from 'components/PublicLayout'; import PublicLayout from 'components/PublicLayout';
import Applications from 'pages/Applications'; import Applications from 'pages/Applications';
@@ -17,127 +17,136 @@ import * as URLS from 'config/urls';
import settingsRoutes from './settingsRoutes'; import settingsRoutes from './settingsRoutes';
import adminSettingsRoutes from './adminSettingsRoutes'; import adminSettingsRoutes from './adminSettingsRoutes';
import Notifications from 'pages/Notifications'; import Notifications from 'pages/Notifications';
import useAuthentication from 'hooks/useAuthentication';
export default ( function Routes() {
<Routes> const { isAuthenticated } = useAuthentication();
<Route
path={URLS.EXECUTIONS}
element={
<Layout>
<Executions />
</Layout>
}
/>
<Route return (
path={URLS.EXECUTION_PATTERN} <ReactRouterRoutes>
element={ <Route
<Layout> path={URLS.EXECUTIONS}
<Execution /> element={
</Layout> <Layout>
} <Executions />
/> </Layout>
}
/>
<Route <Route
path={URLS.FLOWS} path={URLS.EXECUTION_PATTERN}
element={ element={
<Layout> <Layout>
<Flows /> <Execution />
</Layout> </Layout>
} }
/> />
<Route <Route
path={URLS.FLOW_PATTERN} path={URLS.FLOWS}
element={ element={
<Layout> <Layout>
<Flow /> <Flows />
</Layout> </Layout>
} }
/> />
<Route <Route
path={`${URLS.APPS}/*`} path={URLS.FLOW_PATTERN}
element={ element={
<Layout> <Layout>
<Applications /> <Flow />
</Layout> </Layout>
} }
/> />
<Route <Route
path={`${URLS.APP_PATTERN}/*`} path={`${URLS.APPS}/*`}
element={ element={
<Layout> <Layout>
<Application /> <Applications />
</Layout> </Layout>
} }
/> />
<Route path={`${URLS.EDITOR}/*`} element={<EditorRoutes />} /> <Route
path={`${URLS.APP_PATTERN}/*`}
element={
<Layout>
<Application />
</Layout>
}
/>
<Route <Route path={`${URLS.EDITOR}/*`} element={<EditorRoutes />} />
path={URLS.LOGIN}
element={
<PublicLayout>
<Login />
</PublicLayout>
}
/>
<Route <Route
path={URLS.LOGIN_CALLBACK} path={URLS.LOGIN}
element={<LoginCallback />} element={
/> <PublicLayout>
<Login />
</PublicLayout>
}
/>
<Route <Route path={URLS.LOGIN_CALLBACK} element={<LoginCallback />} />
path={URLS.SIGNUP}
element={
<PublicLayout>
<SignUp />
</PublicLayout>
}
/>
<Route <Route
path={URLS.FORGOT_PASSWORD} path={URLS.SIGNUP}
element={ element={
<PublicLayout> <PublicLayout>
<ForgotPassword /> <SignUp />
</PublicLayout> </PublicLayout>
} }
/> />
<Route <Route
path={URLS.RESET_PASSWORD} path={URLS.FORGOT_PASSWORD}
element={ element={
<PublicLayout> <PublicLayout>
<ResetPassword /> <ForgotPassword />
</PublicLayout> </PublicLayout>
} }
/> />
<Route <Route
path={URLS.UPDATES} path={URLS.RESET_PASSWORD}
element={ element={
<Layout> <PublicLayout>
<Notifications /> <ResetPassword />
</Layout> </PublicLayout>
} }
/> />
<Route path="/" element={<Navigate to={URLS.FLOWS} replace />} /> <Route
path={URLS.UPDATES}
element={
<Layout>
<Notifications />
</Layout>
}
/>
<Route path={URLS.SETTINGS}>{settingsRoutes}</Route> <Route
path="/"
element={
<Navigate to={isAuthenticated ? URLS.FLOWS : URLS.LOGIN} replace />
}
/>
<Route path={URLS.ADMIN_SETTINGS}>{adminSettingsRoutes}</Route> <Route path={URLS.SETTINGS}>{settingsRoutes}</Route>
<Route <Route path={URLS.ADMIN_SETTINGS}>{adminSettingsRoutes}</Route>
element={
<Layout> <Route
<div>404</div> element={
</Layout> <Layout>
} <div>404</div>
/> </Layout>
</Routes> }
); />
</ReactRouterRoutes>
);
}
export default <Routes />;