Feat/better hotkeys scope (#526)
* Working version * fix * Fixed console log * Fix lint * wip * Fix * Fix * consolelog --------- Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
@ -1,11 +1,9 @@
|
||||
import { Navigate, Route, Routes, useLocation } from 'react-router-dom';
|
||||
import { AnimatePresence, LayoutGroup } from 'framer-motion';
|
||||
|
||||
import { useTrackPageView } from '@/analytics/hooks/useTrackPageView';
|
||||
import { RequireOnboarded } from '@/auth/components/RequireOnboarded';
|
||||
import { RequireOnboarding } from '@/auth/components/RequireOnboarding';
|
||||
import { AuthModal } from '@/auth/components/ui/Modal';
|
||||
import { useGoToHotkeys } from '@/hotkeys/hooks/useGoToHotkeys';
|
||||
import { AuthLayout } from '@/ui/layout/AuthLayout';
|
||||
import { DefaultLayout } from '@/ui/layout/DefaultLayout';
|
||||
import { CreateProfile } from '~/pages/auth/CreateProfile';
|
||||
@ -18,6 +16,8 @@ import { Opportunities } from '~/pages/opportunities/Opportunities';
|
||||
import { People } from '~/pages/people/People';
|
||||
import { SettingsProfile } from '~/pages/settings/SettingsProfile';
|
||||
|
||||
import { AppInternalHooks } from './AppInternalHooks';
|
||||
|
||||
/**
|
||||
* AuthRoutes is used to allow transitions between auth pages with framer-motion.
|
||||
*/
|
||||
@ -42,48 +42,44 @@ function AuthRoutes() {
|
||||
}
|
||||
|
||||
export function App() {
|
||||
useGoToHotkeys('p', '/people');
|
||||
useGoToHotkeys('c', '/companies');
|
||||
useGoToHotkeys('o', '/opportunities');
|
||||
useGoToHotkeys('s', '/settings/profile');
|
||||
|
||||
useTrackPageView();
|
||||
|
||||
return (
|
||||
<DefaultLayout>
|
||||
<Routes>
|
||||
<Route
|
||||
path="auth/*"
|
||||
element={
|
||||
<RequireOnboarding>
|
||||
<AuthLayout>
|
||||
<AuthRoutes />
|
||||
</AuthLayout>
|
||||
</RequireOnboarding>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="*"
|
||||
element={
|
||||
<RequireOnboarded>
|
||||
<Routes>
|
||||
<Route path="" element={<Navigate to="/people" replace />} />
|
||||
<Route path="people" element={<People />} />
|
||||
<Route path="companies" element={<Companies />} />
|
||||
<Route path="opportunities" element={<Opportunities />} />
|
||||
<Route
|
||||
path="settings/*"
|
||||
element={
|
||||
<Routes>
|
||||
<Route path="profile" element={<SettingsProfile />} />
|
||||
</Routes>
|
||||
}
|
||||
/>
|
||||
</Routes>
|
||||
</RequireOnboarded>
|
||||
}
|
||||
/>
|
||||
</Routes>
|
||||
</DefaultLayout>
|
||||
<>
|
||||
<AppInternalHooks />
|
||||
<DefaultLayout>
|
||||
<Routes>
|
||||
<Route
|
||||
path="auth/*"
|
||||
element={
|
||||
<RequireOnboarding>
|
||||
<AuthLayout>
|
||||
<AuthRoutes />
|
||||
</AuthLayout>
|
||||
</RequireOnboarding>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="*"
|
||||
element={
|
||||
<RequireOnboarded>
|
||||
<Routes>
|
||||
<Route path="" element={<Navigate to="/people" replace />} />
|
||||
<Route path="people" element={<People />} />
|
||||
<Route path="companies" element={<Companies />} />
|
||||
<Route path="opportunities" element={<Opportunities />} />
|
||||
<Route
|
||||
path="settings/*"
|
||||
element={
|
||||
<Routes>
|
||||
<Route path="profile" element={<SettingsProfile />} />
|
||||
</Routes>
|
||||
}
|
||||
/>
|
||||
</Routes>
|
||||
</RequireOnboarded>
|
||||
}
|
||||
/>
|
||||
</Routes>
|
||||
</DefaultLayout>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user