front-hub/src/index.tsx

205 lines
5.9 KiB
TypeScript
Raw Normal View History

2022-11-17 12:25:23 +00:00
import React from "react";
import ReactDOM from "react-dom/client";
2023-03-21 18:52:19 +00:00
import { BrowserRouter, Route, Routes } from "react-router-dom";
import { CssBaseline, Divider, ThemeProvider, useMediaQuery } from "@mui/material";
2022-11-17 12:25:23 +00:00
import Faq from "./pages/Faq/Faq";
import Wallet from "./pages/Wallet";
import Payment from "./pages/Payment/Payment";
import Support from "./pages/Support/Support";
import CustomTariff from "./pages/CustomTariff/CustomTariff";
2023-03-27 12:45:44 +00:00
import AccountSetup from "./pages/AccountSetup";
import Landing from "./pages/Landing/Landing";
import Tariffs from "./pages/Tariffs/Tariffs";
2023-03-19 13:30:55 +00:00
import Signin from "./pages/auth/Signin";
import Signup from "./pages/auth/Signup";
2023-03-20 13:30:48 +00:00
import PaymentHistory from "./pages/PaymentHistory/PaymentHistory";
2023-03-27 12:45:44 +00:00
import Basket from "./pages/Basket/Basket";
import TariffPage from "./pages/Tariffs/TariffsPage";
import Footer from "@components/Footer";
import Navbar from "@components/Navbar/Navbar";
import darkTheme from "@utils/themes/dark";
import lightTheme from "@utils/themes/light";
2023-03-27 12:45:44 +00:00
import PublicRoute from "@utils/routes/publicRoute";
import PrivateRoute from "@utils/routes/privateRoute";
import reportWebVitals from "./reportWebVitals";
2023-03-21 18:52:19 +00:00
import { SnackbarProvider } from "notistack";
2023-03-27 12:45:44 +00:00
import "./index.css";
2023-03-19 12:32:23 +00:00
const App = () => {
2023-03-21 18:52:19 +00:00
const upMd = useMediaQuery(lightTheme.breakpoints.up("md"));
2023-03-21 18:52:19 +00:00
return (
<SnackbarProvider>
<ThemeProvider theme={lightTheme}>
<CssBaseline />
<BrowserRouter>
<Routes>
<Route
path="/"
element={
<ThemeProvider theme={darkTheme}>
2023-04-13 16:46:02 +00:00
<CssBaseline />
2023-03-21 18:52:19 +00:00
<Navbar isLoggedIn={false} isCollapsed={!upMd} />
<Divider sx={{ bgcolor: "#E3E3E3", borderColor: "#00000000" }} />
<Landing />
<Footer />
</ThemeProvider>
}
/>
<Route
path="/signin"
element={
2023-05-12 14:27:35 +00:00
// <PublicRoute>
2023-03-21 18:52:19 +00:00
<Signin />
2023-05-12 14:27:35 +00:00
// </PublicRoute>
2023-03-21 18:52:19 +00:00
}
/>
<Route
path="/signup"
element={
2023-05-12 14:27:35 +00:00
// <PublicRoute>
2023-03-21 18:52:19 +00:00
<Signup />
2023-05-12 14:27:35 +00:00
// </PublicRoute>
2023-03-21 18:52:19 +00:00
}
/>
2023-03-21 18:52:19 +00:00
<Route
2023-05-12 08:58:36 +00:00
path="tariffs"
2023-03-21 18:52:19 +00:00
element={
<>
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<Tariffs />
</>
}
2023-05-12 08:58:36 +00:00
/>
<Route
path="tariffs/time"
element={
<>
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<TariffPage />
</>
}/>
2023-03-21 18:52:19 +00:00
<Route
2023-05-12 08:58:36 +00:00
path="tariffs/volume"
element={
<>
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<TariffPage />
</>
}/>
2023-03-21 18:52:19 +00:00
<Route
path="/faq"
element={
<>
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<Faq />
</>
}
/>
<Route
path="/wallet"
element={
2023-05-12 14:27:35 +00:00
// <PrivateRoute>
<>
2023-03-21 18:52:19 +00:00
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<Wallet />
2023-05-12 14:27:35 +00:00
</>
// </PrivateRoute>
2023-03-21 18:52:19 +00:00
}
/>
<Route
path="/payment"
element={
2023-05-12 14:27:35 +00:00
// <PrivateRoute>
<>
2023-03-21 18:52:19 +00:00
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<Payment />
2023-05-12 14:27:35 +00:00
</>
// </PrivateRoute>
2023-03-21 18:52:19 +00:00
}
/>
<Route
path="/support"
element={
<>
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<Support />
</>
}
/>
<Route
path="/support/:ticketId"
element={
<>
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<Support />
</>
}
/>
<Route
path="/tariffconstructor"
element={
<>
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<CustomTariff />
</>
}
/>
<Route
path="/settings"
element={
2023-05-12 14:27:35 +00:00
// <PrivateRoute>
<>
2023-03-21 18:52:19 +00:00
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<AccountSetup />
2023-05-12 14:27:35 +00:00
</>
// </PrivateRoute>
2023-03-21 18:52:19 +00:00
}
/>
<Route
path="/basket"
element={
<>
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<Basket />
</>
}
/>
<Route
path="/paymenthistory"
element={
2023-05-12 14:27:35 +00:00
// <PrivateRoute>
<>
2023-03-21 18:52:19 +00:00
<Navbar isLoggedIn={true} isCollapsed={!upMd} />
<PaymentHistory />
2023-05-12 14:27:35 +00:00
</>
// </PrivateRoute>
2023-03-21 18:52:19 +00:00
}
/>
</Routes>
</BrowserRouter>
</ThemeProvider>
</SnackbarProvider>
);
};
const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement);
2022-11-17 12:25:23 +00:00
root.render(
2023-03-21 18:52:19 +00:00
<React.StrictMode>
<App />
</React.StrictMode>
2022-11-17 12:25:23 +00:00
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();