2022-11-17 12:25:23 +00:00
|
|
|
import React from "react";
|
|
|
|
import ReactDOM from "react-dom/client";
|
2023-03-20 13:30:48 +00:00
|
|
|
import {BrowserRouter, Route, Routes} from "react-router-dom";
|
2022-11-17 12:25:23 +00:00
|
|
|
import "./index.css";
|
|
|
|
import reportWebVitals from "./reportWebVitals";
|
2023-03-20 13:30:48 +00:00
|
|
|
import {CssBaseline, Divider, ThemeProvider, useMediaQuery} from "@mui/material";
|
2022-11-17 12:25:23 +00:00
|
|
|
|
2023-03-19 12:30:40 +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-20 13:30:48 +00:00
|
|
|
import {TariffsVolume} from "./pages/Tariffs/TariffsVolume";
|
|
|
|
import {AccountSetup} from "./pages/AccountSetup";
|
2023-03-19 12:30:40 +00:00
|
|
|
import Landing from "./pages/Landing/Landing";
|
|
|
|
import Tariffs from "./pages/Tariffs/Tariffs";
|
2023-03-20 13:30:48 +00:00
|
|
|
import {TariffsTime} from "./pages/Tariffs/TariffsTime";
|
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-20 13:50:01 +00:00
|
|
|
import Basket from "./pages/Basket/Basket";
|
2023-03-19 12:30:40 +00:00
|
|
|
|
|
|
|
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-20 13:30:48 +00:00
|
|
|
import PublicRoute from "@root/utils/routes/publicRoute";
|
|
|
|
import PrivateRoute from "@root/utils/routes/privateRoute";
|
2023-03-19 12:30:40 +00:00
|
|
|
|
2023-03-20 13:30:48 +00:00
|
|
|
import {SnackbarProvider} from "notistack";
|
2023-03-19 12:30:40 +00:00
|
|
|
|
2023-03-19 12:32:23 +00:00
|
|
|
const App = () => {
|
2023-03-20 13:30:48 +00:00
|
|
|
const upMd = useMediaQuery(lightTheme.breakpoints.up("md"));
|
2023-03-19 12:30:40 +00:00
|
|
|
|
2023-03-20 13:30:48 +00:00
|
|
|
return (
|
|
|
|
<SnackbarProvider>
|
|
|
|
<ThemeProvider theme={lightTheme}>
|
|
|
|
<CssBaseline/>
|
|
|
|
<BrowserRouter>
|
|
|
|
<Routes>
|
|
|
|
<Route
|
|
|
|
path="/"
|
|
|
|
element={
|
|
|
|
<ThemeProvider theme={darkTheme}>
|
|
|
|
<Navbar isLoggedIn={false} isCollapsed={!upMd}/>
|
|
|
|
<Divider sx={{bgcolor: "#E3E3E3", borderColor: "#00000000"}}/>
|
|
|
|
<Landing/>
|
|
|
|
<Footer/>
|
|
|
|
</ThemeProvider>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
<Route
|
|
|
|
path="/signin"
|
|
|
|
element={
|
|
|
|
<PublicRoute>
|
|
|
|
<Signin/>
|
|
|
|
</PublicRoute>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
<Route
|
|
|
|
path="/signup"
|
|
|
|
element={
|
|
|
|
<PublicRoute>
|
|
|
|
<Signup/>
|
|
|
|
</PublicRoute>
|
|
|
|
}
|
|
|
|
/>
|
2023-03-19 12:30:40 +00:00
|
|
|
|
2023-03-20 13:30:48 +00:00
|
|
|
<Route
|
|
|
|
path="tariffs/*"
|
|
|
|
element={
|
|
|
|
<>
|
|
|
|
<Navbar isLoggedIn={true} isCollapsed={!upMd}/>
|
|
|
|
<Tariffs/>
|
|
|
|
</>
|
|
|
|
}
|
|
|
|
>
|
|
|
|
<Route path="time" element={<TariffsTime/>}/>
|
|
|
|
<Route
|
|
|
|
path="volume"
|
|
|
|
element={
|
|
|
|
<PublicRoute>
|
|
|
|
<TariffsVolume/>
|
|
|
|
</PublicRoute>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
</Route>
|
2023-03-19 12:30:40 +00:00
|
|
|
|
2023-03-20 13:30:48 +00:00
|
|
|
<Route
|
|
|
|
path="/faq"
|
|
|
|
element={
|
|
|
|
<>
|
|
|
|
<Navbar isLoggedIn={true} isCollapsed={!upMd}/>
|
|
|
|
<Faq/>
|
|
|
|
</>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
<Route
|
|
|
|
path="/wallet"
|
|
|
|
element={
|
|
|
|
<PrivateRoute>
|
|
|
|
<Navbar isLoggedIn={true} isCollapsed={!upMd}/>
|
|
|
|
<Wallet/>
|
|
|
|
</PrivateRoute>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
<Route
|
|
|
|
path="/payment"
|
|
|
|
element={
|
|
|
|
<PrivateRoute>
|
|
|
|
<Navbar isLoggedIn={true} isCollapsed={!upMd}/>
|
|
|
|
<Payment/>
|
|
|
|
</PrivateRoute>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
<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={
|
|
|
|
<PrivateRoute>
|
|
|
|
<Navbar isLoggedIn={true} isCollapsed={!upMd}/>
|
|
|
|
<AccountSetup/>
|
|
|
|
</PrivateRoute>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
<Route
|
|
|
|
path="/basket"
|
|
|
|
element={
|
|
|
|
<>
|
|
|
|
<Navbar isLoggedIn={true} isCollapsed={!upMd}/>
|
|
|
|
<Basket/>
|
|
|
|
</>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
<Route path="/paymenthistory" element={
|
|
|
|
<PrivateRoute>
|
|
|
|
<Navbar isLoggedIn={true} isCollapsed={!upMd}/>
|
|
|
|
<PaymentHistory/>
|
|
|
|
</PrivateRoute>
|
|
|
|
}/>
|
|
|
|
</Routes>
|
|
|
|
</BrowserRouter>
|
|
|
|
</ThemeProvider>
|
|
|
|
</SnackbarProvider>
|
|
|
|
);
|
2023-03-19 12:30:40 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement);
|
2022-11-17 12:25:23 +00:00
|
|
|
root.render(
|
|
|
|
<React.StrictMode>
|
2023-03-20 13:30:48 +00:00
|
|
|
<App/>
|
2022-11-17 12:25:23 +00:00
|
|
|
</React.StrictMode>
|
|
|
|
);
|
|
|
|
|
|
|
|
// 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();
|