mirror of
https://github.com/Unleash/unleash.git
synced 2024-10-18 20:09:08 +02:00
cdfb1f2452
* fix: add highlight and hover colors, fix them * misc ui adjustments * test isGrow prop in table cols * fix: revert typography changes, update snaps * Update src/themes/themeTypes.ts Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com> * fix: misc ui adjustments * fix: backButton color * refactor: color not needed, can be inherited * fix: project roles case, new borderRadius values * fix: color green * fix: feature form link * update snaps * fix: formatting * update snap Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
61 lines
2.7 KiB
TypeScript
61 lines
2.7 KiB
TypeScript
import { Navigate, Route, Routes } from 'react-router-dom';
|
|
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
|
import { FeedbackNPS } from 'component/feedback/FeedbackNPS/FeedbackNPS';
|
|
import { LayoutPicker } from 'component/layout/LayoutPicker/LayoutPicker';
|
|
import Loader from 'component/common/Loader/Loader';
|
|
import NotFound from 'component/common/NotFound/NotFound';
|
|
import { ProtectedRoute } from 'component/common/ProtectedRoute/ProtectedRoute';
|
|
import SWRProvider from 'component/providers/SWRProvider/SWRProvider';
|
|
import ToastRenderer from 'component/common/ToastRenderer/ToastRenderer';
|
|
import { routes } from 'component/menu/routes';
|
|
import { useAuthDetails } from 'hooks/api/getters/useAuth/useAuthDetails';
|
|
import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser';
|
|
import { SplashPageRedirect } from 'component/splash/SplashPageRedirect/SplashPageRedirect';
|
|
import { useStyles } from './App.styles';
|
|
import { usePlausibleTracker } from 'hooks/usePlausibleTracker';
|
|
|
|
export const App = () => {
|
|
const { classes: styles } = useStyles();
|
|
const { authDetails } = useAuthDetails();
|
|
const { user } = useAuthUser();
|
|
const isLoggedIn = Boolean(user?.id);
|
|
const hasFetchedAuth = Boolean(authDetails || user);
|
|
usePlausibleTracker();
|
|
|
|
return (
|
|
<SWRProvider isUnauthorized={!isLoggedIn}>
|
|
<ConditionallyRender
|
|
condition={!hasFetchedAuth}
|
|
show={<Loader />}
|
|
elseShow={
|
|
<div className={styles.container}>
|
|
<ToastRenderer />
|
|
<LayoutPicker>
|
|
<Routes>
|
|
{routes.map(route => (
|
|
<Route
|
|
key={route.path}
|
|
path={route.path}
|
|
element={
|
|
<ProtectedRoute route={route} />
|
|
}
|
|
/>
|
|
))}
|
|
<Route
|
|
path="/"
|
|
element={
|
|
<Navigate to="/features" replace />
|
|
}
|
|
/>
|
|
<Route path="*" element={<NotFound />} />
|
|
</Routes>
|
|
<FeedbackNPS openUrl="http://feedback.unleash.run" />
|
|
<SplashPageRedirect />
|
|
</LayoutPicker>
|
|
</div>
|
|
}
|
|
/>
|
|
</SWRProvider>
|
|
);
|
|
};
|