File size: 1,287 Bytes
3b6afc0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
import { createBrowserRouter, Navigate, Outlet } from 'react-router-dom';
import Root from './Root';
import Chat from './Chat';
import Search from './Search';
import { Login, Registration, RequestPasswordReset, ResetPassword } from '../components/Auth';
import { AuthContextProvider } from '../hooks/AuthContext';
import ApiErrorWatcher from '../components/Auth/ApiErrorWatcher';
const AuthLayout = () => (
<AuthContextProvider>
<Outlet />
<ApiErrorWatcher />
</AuthContextProvider>
);
export const router = createBrowserRouter([
{
path: 'register',
element: <Registration />,
},
{
path: 'forgot-password',
element: <RequestPasswordReset />,
},
{
path: 'reset-password',
element: <ResetPassword />,
},
{
element: <AuthLayout />,
children: [
{
path: 'login',
element: <Login />,
},
{
path: '/',
element: <Root />,
children: [
{
index: true,
element: <Navigate to="/chat/new" replace={true} />,
},
{
path: 'chat/:conversationId?',
element: <Chat />,
},
{
path: 'search/:query?',
element: <Search />,
},
],
},
],
},
]);
|