// import React, { useEffect } from "react"; // import { BrowserRouter, Route, Routes, Navigate } from "react-router-dom"; // import { useDispatch, useSelector } from "react-redux"; // import { AppDispatch, RootState } from "./store"; // import { loadUserFromStorage } from "./store/userSlice"; // import Login from "./pages/Login"; // import Dashboard from "./pages/Dashboard"; // import Projects from "./pages/Projects/Projects"; // import DashboardLayout from "./layout/DashboardLayout"; // import ProtectedRoute from "./routes/ProtectedRoute"; // import PublicRoute from "./routes/PublicRoute"; // import { ThemeToggle } from "./helper/ThemeToggle"; // import LeaveAndAdjustments from "./pages/LeaveAndAdjustments/LeaveAndAdjustments"; // import Timesheets from "./pages/Timesheets/Timesheets"; // import Settings from "./pages/Settings/Settings"; // import HelpSupport from "./pages/HelpSupport/HelpSupport"; // const App: React.FC = () => { // const theme = ThemeToggle(); // const dispatch = useDispatch(); // // ✅ Get user directly from Redux // const user = useSelector((state: RootState) => state.user.user); // useEffect(() => { // document.documentElement.setAttribute("data-theme", theme); // }, [theme]); // // ✅ Load user from localStorage into Redux when app starts // useEffect(() => { // dispatch(loadUserFromStorage()); // }, [dispatch]); // console.log("App.tsx → user:", user); // return ( // // // {/* Public Route */} // // // // } // /> // {/* Protected Routes */} // // // // } // > // } /> // } /> // } /> // } /> // } /> // } /> // // {/* Default Redirect */} // } // /> // // // ); // }; // export default App; import React, { useEffect } from "react"; import { HashRouter as Router, Route, Routes, Navigate } from "react-router-dom"; import { useDispatch, useSelector } from "react-redux"; import { AppDispatch, RootState } from "./store"; import { loadUserFromStorage } from "./store/userSlice"; import Login from "./pages/Login"; import Dashboard from "./pages/Dashboard"; import Projects from "./pages/Projects/Projects"; import DashboardLayout from "./layout/DashboardLayout"; import ProtectedRoute from "./routes/ProtectedRoute"; import PublicRoute from "./routes/PublicRoute"; import LeaveAndAdjustments from "./pages/LeaveAndAdjustments/LeaveAndAdjustments"; import Timesheets from "./pages/Timesheets/Timesheets"; import Settings from "./pages/Settings/Settings"; import HelpSupport from "./pages/HelpSupport/HelpSupport"; import Vpn from "./pages/Vpn/Vpn"; import Schedule from "./pages/Schedule/Schedule"; import PaysSlips from "./pages/PaySlips/PaysSlips"; import ApplyLeaveAndAdjustmentsTime from "./pages/LeaveAndAdjustments/ApplyLeaveAndAdjustmentsTime"; const App: React.FC = () => { const dispatch = useDispatch(); // ✅ Get user directly from Redux const user = useSelector((state: RootState) => state.user.user); useEffect(() => { dispatch(loadUserFromStorage()); }, [dispatch]); console.log("App.tsx → user:", user); return ( {/* Public Route */} } /> {/* Protected Routes */} } > } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* Default Redirect */} } /> ); }; export default App;