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