// import React, { Component, Suspense } from "react";
// import axios from "axios";
// import { Router, Route, Routes, HashRouter } from "react-router-dom";
// import { useState, useEffect } from "react";
// import { Toaster } from "react-hot-toast";
// import "./scss/style.scss";
// import ForgotPassword from "./views/pages/register/ForgotPassword";
// import NewRegister from "./views/pages/register/NewRegister";
// import ProtectedRoute from './components/ProtectedRoute';
// import { isAutheticated } from "./auth";
// import InternetConnectionPopUp from "./views/InternetConnectionPopUp";
// const loading = (
//
// );
// // import EditProducts from './views/Commerce/Editproducts'
// // Containers
// const DefaultLayout = React.lazy(() => import("./layout/DefaultLayout"));
// // Pages
// const Login = React.lazy(() => import("./views/pages/login/Login"));
// const Register = React.lazy(() =>
// import("./views/pages/register/Change_password")
// );
// const Page404 = React.lazy(() =>
// import("./views/pages/register/page404/Page404")
// );
// const Page500 = React.lazy(() => import("./views/pages/page500/Page500"));
// const App = () => {
// const [userdata, setUserData] = useState(null);
// const token = isAutheticated();
// useEffect(() => {
// const getUser = async () => {
// let existanceData = localStorage.getItem("authToken");
// if (!existanceData) {
// // console.log(existanceData.userData)
// setUserData(false);
// } else {
// try {
// // console.log('requesting user data from server')
// let response = await axios.get(`/api/v1/user/details`, {
// headers: {
// Authorization: `Bearer ${token}`,
// },
// });
// // console.log("jjjjjjjj", response.data);
// const data = response?.data;
// if (
// data?.success &&
// (data?.user?.role === "admin" || data?.user?.role === "Employee")
// ) {
// setUserData(data?.user);
// } else {
// setUserData(false);
// }
// } catch (err) {
// setUserData(false);
// console.log(err);
// }
// }
// };
// getUser();
// }, []);
// return (
//
//
//
// } />
// }
// />
// }
// />
// } />
// } />
//
// ) : userdata === false ? (
//
// ) : (
//
// )
// }/>}
// />
// } />}/>
//
//
//
//
//
// );
// };
// export default App;
// import React, { Suspense, useEffect, useState } from "react";
// import axios from "axios";
// import { HashRouter, Routes, Route, Navigate } from "react-router-dom";
// import { Toaster } from "react-hot-toast";
// import "./scss/style.scss";
// import ForgotPassword from "./views/pages/register/ForgotPassword";
// import NewRegister from "./views/pages/register/NewRegister";
// import ProtectedRoute from './components/ProtectedRoute';
// import { isAutheticated } from "./auth";
// import InternetConnectionPopUp from "./views/InternetConnectionPopUp";
// const loading = (
//
// );
// const DefaultLayout = React.lazy(() => import("./layout/DefaultLayout"));
// const Login = React.lazy(() => import("./views/pages/login/Login"));
// const Page404 = React.lazy(() => import("./views/pages/register/page404/Page404"));
// const Page500 = React.lazy(() => import("./views/pages/page500/Page500"));
// const App = () => {
// const [userdata, setUserData] = useState(null);
// const token = isAutheticated();
// useEffect(() => {
// const getUser = async () => {
// let existanceData = localStorage.getItem("authToken");
// if (!existanceData) {
// setUserData(false);
// } else {
// try {
// let response = await axios.get(`/api/v1/user/details`, {
// headers: {
// Authorization: `Bearer ${token}`,
// },
// });
// const data = response?.data;
// if (data?.success && (data?.user?.role === "admin" || data?.user?.role === "Employee")) {
// setUserData(data?.user);
// } else {
// setUserData(false);
// }
// } catch (err) {
// setUserData(false);
// console.log(err);
// }
// }
// };
// getUser();
// }, [token]);
// return (
//
//
//
// } />
// } />
// } />
// } />
// } />
// }
// />
// {/* Redirect all other routes to 404 */}
// } />
//
//
//
//
//
// );
// };
// export default App;
import React, { Suspense, useEffect, useState } from "react";
import { HashRouter, Route, Routes } from "react-router-dom";
import { useSelector } from "react-redux";
import { Toaster } from "react-hot-toast";
import { isAutheticated } from "./auth";
import "./scss/style.scss";
import ProtectedRoute from "./components/ProtectedRoute";
import axios from "axios";
// Containers
const DefaultLayout = React.lazy(() => import("./layout/DefaultLayout"));
// Pages
const Login = React.lazy(() => import("./views/pages/login/Login"));
const Page404 = React.lazy(() =>
import("./views/pages/register/page404/Page404")
);
const Page500 = React.lazy(() => import("./views/pages/page500/Page500"));
const App = () => {
const [userdata, setUserData] = useState(null);
const token = isAutheticated();
useEffect(() => {
const getUser = async () => {
let existanceData = localStorage.getItem("authToken");
if (!existanceData) {
setUserData(false);
} else {
try {
let response = await axios.get(`/api/v1/user/details`, {
headers: {
Authorization: `Bearer ${token}`,
},
});
const data = response?.data;
if (
data?.success &&
(data?.user?.role === "admin" || data?.user?.role === "Employee")
) {
setUserData(data?.user);
} else {
setUserData(false);
}
} catch (err) {
setUserData(false);
console.log(err);
}
}
};
getUser();
}, [token]);
return (
}
>
{/* } /> */}
} />
} />
} />
}
/>
} />
);
};
export default App;