diff --git a/Client/src/App.jsx b/Client/src/App.jsx index 193fbcb36..26f75cef8 100644 --- a/Client/src/App.jsx +++ b/Client/src/App.jsx @@ -1,4 +1,4 @@ -import { Routes, Route } from "react-router-dom"; +import { Routes, Route, Navigate } from "react-router-dom"; // import "./App.css"; import NotFound from "./Pages/NotFound"; import Login from "./Pages/Login"; @@ -17,29 +17,9 @@ import ForgotPassword from "./Pages/ForgotPassword"; import CheckEmail from "./Pages/CheckEmail"; import SetNewPassword from "./Pages/SetNewPassword"; import NewPasswordConfirmed from "./Pages/NewPasswordConfirmed"; -import ToastComponent from "./Components/Toast"; import ProtectedRoute from "./Components/ProtectedRoute"; -import { useState, useEffect } from "react"; -import axios from "axios"; function App() { - const BASE_URL = import.meta.env.VITE_APP_API_BASE_URL; - const [adminExists, setAdminExists] = useState(false); // Assuming admin exists by default - - useEffect(() => { - const checkAdminExists = async () => { - try { - // Replace this URL with your actual API endpoint - const response = await axios.get(`${BASE_URL}/auth/users/admin`); - console.log(response); - } catch (error) { - console.error("Failed to check admin existence:", error); - } - }; - - checkAdminExists(); - }, []); - return ( <> diff --git a/Client/src/Pages/Login/index.jsx b/Client/src/Pages/Login/index.jsx index cebcaa39b..4beb4d2c8 100644 --- a/Client/src/Pages/Login/index.jsx +++ b/Client/src/Pages/Login/index.jsx @@ -13,6 +13,8 @@ import PasswordTextField from "../../Components/TextFields/Password/PasswordText import { loginValidation } from "../../Validation/validation"; import { login } from "../../Features/Auth/authSlice"; import { useDispatch } from "react-redux"; +import axios from "axios"; +const BASE_URL = import.meta.env.VITE_APP_API_BASE_URL; const Login = () => { const dispatch = useDispatch(); @@ -30,6 +32,19 @@ const Login = () => { password: "", }); + useEffect(() => { + axios + .get(BASE_URL + "/auth/users/admin") + .then((response) => { + if (response.data.data === false) { + navigate("/register"); + } + }) + .catch((error) => { + console.log(error); + }); + }, [navigate]); + useEffect(() => { const { error } = loginValidation.validate(form, { abortEarly: false, diff --git a/Client/src/Pages/Register/index.jsx b/Client/src/Pages/Register/index.jsx index 5d08e0c0d..709f46ca9 100644 --- a/Client/src/Pages/Register/index.jsx +++ b/Client/src/Pages/Register/index.jsx @@ -14,6 +14,7 @@ import { registerValidation } from "../../Validation/validation"; import { useDispatch } from "react-redux"; import { register } from "../../Features/Auth/authSlice"; +import axios from "axios"; const BASE_URL = import.meta.env.VITE_APP_API_BASE_URL; @@ -38,6 +39,14 @@ const Register = () => { password: "", }); + useEffect(() => { + axios.get(BASE_URL + "/auth/users/admin").then((response) => { + if (response.data.data === true) { + navigate("/login"); + } + }); + }); + useEffect(() => { const { error } = registerValidation.validate(form, { abortEarly: false,