Files
chat-with-gpt/src/index.tsx

68 lines
1.8 KiB
TypeScript
Raw Normal View History

2023-03-06 05:30:58 -08:00
import React from 'react';
import ReactDOM from 'react-dom/client';
import {
createBrowserRouter,
RouterProvider,
} from "react-router-dom";
import { MantineProvider } from '@mantine/core';
import { ModalsProvider } from '@mantine/modals';
2023-03-10 14:00:37 -08:00
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/integration/react';
2023-03-06 05:30:58 -08:00
import { AppContextProvider } from './context';
2023-03-10 14:00:37 -08:00
import store, { persistor } from './store';
2023-03-08 13:30:11 -08:00
import LandingPage from './components/pages/landing';
import ChatPage from './components/pages/chat';
import AboutPage from './components/pages/about';
2023-03-06 05:30:58 -08:00
import './index.scss';
const router = createBrowserRouter([
{
path: "/",
2023-03-08 13:30:11 -08:00
element: <AppContextProvider>
<LandingPage landing={true} />
</AppContextProvider>,
2023-03-06 05:30:58 -08:00
},
{
path: "/chat/:id",
2023-03-08 13:30:11 -08:00
element: <AppContextProvider>
<ChatPage />
</AppContextProvider>,
2023-03-06 05:30:58 -08:00
},
{
path: "/s/:id",
2023-03-08 13:30:11 -08:00
element: <AppContextProvider>
<ChatPage share={true} />
</AppContextProvider>,
2023-03-06 05:30:58 -08:00
},
{
path: "/s/:id/*",
2023-03-08 13:30:11 -08:00
element: <AppContextProvider>
<ChatPage share={true} />
</AppContextProvider>,
},
{
path: "/about",
element: <AppContextProvider>
<AboutPage />
</AppContextProvider>,
2023-03-06 05:30:58 -08:00
},
]);
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement
);
root.render(
<React.StrictMode>
<MantineProvider theme={{ colorScheme: "dark" }}>
2023-03-10 14:00:37 -08:00
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<ModalsProvider>
<RouterProvider router={router} />
</ModalsProvider>
</PersistGate>
</Provider>
2023-03-06 05:30:58 -08:00
</MantineProvider>
</React.StrictMode>
);