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
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>
|
|
)
|
|
}
|