You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.2 KiB
TypeScript

import { Provider } from 'react-redux'
import { store } from './store'
import {
createBrowserRouter,
createRoutesFromElements,
Route,
RouterProvider,
} from 'react-router-dom'
import { Layout } from './layout'
import {
LoginPage,
LogoutPage,
NotFoundPage,
ProductPage,
RegisterPage,
ShopPage,
UserPage,
BasketPage,
} from './pages'
const routers = createRoutesFromElements(
<Route path="/" id="root" element={<Layout />}>
<Route index element={<ShopPage />} />
<Route
id="/product"
path="/product/:id"
element={<ProductPage />}
errorElement={<NotFoundPage />}
/>
<Route path="/user" element={<UserPage />} />
<Route path="/basket" element={<BasketPage />} />
<Route path="/register" element={<RegisterPage />} />
<Route path="/login" element={<LoginPage />} />
<Route path="/logout" element={<LogoutPage />} />
<Route path="*" element={<NotFoundPage />} />
</Route>
)
const router = createBrowserRouter(routers)
export const App = () => {
return (
<Provider store={store}>
<RouterProvider router={router} />
</Provider>
)
}