db_kyc_project/frontend/src/App.tsx

46 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-11-18 16:33:44 +03:00
import React, { useEffect, useState } from "react";
import './main.global.css';
import { hot } from "react-hot-loader/root";
import { Layout } from "./shared/Layout";
import { applyMiddleware, createStore } from "redux";
import { rootReducer } from "./store/reducer";
import { composeWithDevTools } from '@redux-devtools/extension';
import thunk from 'redux-thunk';
import { Provider } from 'react-redux';
import { Route, Routes, BrowserRouter } from "react-router-dom";
import { AuctionMainPopups } from "./shared/Auction/AuctionMainPopups";
import { RoutePage } from "./shared/Pages/RoutePage";
const store = createStore(rootReducer, composeWithDevTools(
applyMiddleware(thunk)
));
function AppComponent() {
const [mounted, setMounted] = useState(false);
useEffect(() => {
setMounted(true);
}, []);
return (
<Provider store={store}>
{mounted && (<BrowserRouter>
<Layout>
<Routes>
<Route path='/' element={<RoutePage page='main' />} />
<Route path='/rating' element={<RoutePage page='rating' />} />
<Route path='/referral' element={<RoutePage page='referral' />} />
<Route path='/auction' element={<RoutePage page='auction' />} />
<Route path='/styles' element={<RoutePage page='styles' />} />
<Route path='*' element={<RoutePage page='main' />} />
2024-11-18 16:33:44 +03:00
</Routes>
<AuctionMainPopups />
</Layout>
</BrowserRouter>)}
</Provider>
)
};
export const App = hot(() => <AppComponent />);