// import React, { useState, useEffect } from "react"; // import { useNavigate, Link } from "react-router-dom"; // import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; // import { // faHouse, // faGear, // faUsers, // faBars, // faUserCircle, // faSignOutAlt // } from "@fortawesome/free-solid-svg-icons"; // import "./Dashboard.css"; // import { Bar } from "react-chartjs-2"; // import Chart from "chart.js/auto"; // import SetupView from "./SetupView"; // import DashboardView from "./DashboardView"; // import UserDetailsView from "./UserDetailsView"; // import UserMaintenanceView from "./UserMaintenanceView"; // import AccessType from "./AccessType"; // import SystemParameter from "./SystemParameter"; // import MenuAccessControl from "./MenuAccessControl"; // import MenuMaintenance from "./MenuMaintenance"; // import UserGroupMaintenance from "./UserGroupMaintenance"; // import APIRegistry from "./APIRegistry"; // import TOKENRegistry from "./TOKENRegistry"; // import DataType1 from "./DataType1"; // import DataType2 from "./DataType2"; // import DataType3 from "./DataType3"; // import DataType4 from "./DataType4"; // import DataType5 from "./DataType5"; // import DataType6 from "./DataType6"; // import DynamicTable from "./DynamicTable"; // import CodeExtension from "./Codeextension"; // // import DashboardCharts from "./DashboardCharts"; // import Dropdown from "react-bootstrap/Dropdown"; // import { removeToken } from "../../utils/tokenService"; // import AccordionPage from "./UIComponents/Accordion"; // import BadgesPage from "./UIComponents/BadgesPage"; // import DashViewone from "./UIComponents/DashViewone"; // const HomeView = ({ barChartData, barChartOptions }) => ( //
//
//
//
//
1
//
Index
//
//
//
//
//
2
//
Index
//
//
//
//
//
3
//
Index
//
//
//
//
// //
//
// ); // function Dashboard() { // const [currentView, setCurrentView] = useState("home"); // const [isSidebarOpen, setIsSidebarOpen] = useState(false); // const [menuItems, setMenuItems] = useState([]); // const [error, setError] = useState(""); // const navigate = useNavigate(); // useEffect(() => { // const handleResize = () => { // setIsSidebarOpen(window.innerWidth >= 972); // }; // handleResize(); // window.addEventListener("resize", handleResize); // return () => window.removeEventListener("resize", handleResize); // }, []); // useEffect(() => { // const fetchMenuItems = async () => { // const apiUrl = `${process.env.REACT_APP_API_URL}/fndMenu/menuloadbyuser`; // const token = localStorage.getItem("authToken"); // if (!token) { // console.error("Authorization token is missing."); // setError("Authorization token is missing."); // return; // } // try { // const response = await fetch(apiUrl, { // method: "GET", // headers: { // "Content-Type": "application/json", // Authorization: `Bearer ${token}`, // }, // }); // if (!response.ok) { // throw new Error(`Error: ${response.status}`); // } // const data = await response.json(); // setMenuItems(data); // } catch (error) { // console.error("Fetching error:", error); // setError(error.toString()); // } // }; // fetchMenuItems(); // }, []); // const barChartData = { // labels: ["Label1", "Label2", "Label3"], // datasets: [ // { // label: "Dataset 1", // data: [65, 59, 80], // backgroundColor: [ // "rgba(255, 99, 132, 0.2)", // "rgba(54, 162, 235, 0.2)", // "rgba(255, 206, 86, 0.2)", // ], // borderColor: [ // "rgba(255, 99, 132, 1)", // "rgba(54, 162, 235, 1)", // "rgba(255, 206, 86, 1)", // ], // borderWidth: 1, // }, // ], // }; // const barChartOptions = { // scales: { // y: { // beginAtZero: true, // }, // }, // maintainAspectRatio: false, // }; // if (error) { // return

Error fetching data: {error}

; // } // const handleLogout = () => { // removeToken(); // navigate("/#", { replace: true }); // Redirect to login page // }; // const toggleSidebar = () => { // setIsSidebarOpen(!isSidebarOpen); // }; // const renderView = () => { // // console.log("renderning") // console.log("Current View:", currentView); // switch (currentView) { // // case "home": // // return ( // // // // ); // case "home": { // console.log("render it") // return ( // <> // // // // // ); // } // case "setup": // console.log("reder on"); // return ( // setCurrentView("userMaintenance")} // onMenuAccessControl={() => setCurrentView("menuAccessControl")} // onUserGroupMaintenance={() => // setCurrentView("userGroupMaintenance") // } // onSystemParameter={() => setCurrentView("systemParameter")} // onMenuMaintenance={() => setCurrentView("menuMaintenance")} // onAccessType={() => setCurrentView("accessType")} // onAPIregistry={() => setCurrentView("apiRegistry")} // onTokenregistry={() => setCurrentView("tokenRegistry")} // onDataType1={() => setCurrentView("dataType1")} // onDataType2={() => setCurrentView("dataType2")} // onDataType3={() => setCurrentView("dataType3")} // onDataType4={() => setCurrentView("dataType4")} // onDataType5={() => setCurrentView("dataType5")} // onDataType6={() => setCurrentView("dataType6")} // onDynamicTable={() => setCurrentView("dynamicTable")} // oncodeExtension={() => setCurrentView("codeExtension")} // /> // ); // // case "dashboard": // // return setCurrentView("dashboardcharts")} // // />; // case "userdetails": // console.log("render come") // return ; // case "userMaintenance": // return ; // case "accessType": // return ; // case "systemParameter": // return ; // case "menuAccessControl": // return ; // case "menuMaintenance": // return ; // case "userGroupMaintenance": // return ; // case "apiRegistry": // return ; // case "tokenRegistry": // return ; // case "dataType1": // return ; // case "dataType2": // return ; // case "dataType3": // return ; // case "dataType4": // return ; // case "dataType5": // return ; // case "dataType6": // return ; // case "dashboardcharts": // return ; // case "dynamictable": // return ; // case "codeextension": // return ; // default: // return
Select an option from the menu
; // } // }; // return ( //
// {/* navbar */} //
//
// setCurrentView("home")} // className="fa-solid fa-house" // > // setCurrentView("dashboard")} // Ensure you have a case for "dashboard" in renderView // className="fas fa-chart-bar" // > // setCurrentView("setup")} // className="fa-solid fa-gear" // > // setCurrentView("userdetails")} // className="fa-solid fa-users" // > //
// {/* user-profile-avatar */} //
// // // {/* User Avatar */} // // // // setCurrentView("profile")}> // Profile // // // Logout // // // //
//
// {/* Sidebar Icon (below the topbar) */} //
// //
// {/* main view */} //
// {/* side bar */} //
// { //
    // {menuItems.map((item, index) => ( //
  • setCurrentView(item.menuItemId.menuItemDesc)} // > // {item.menuItemId.menuItemDesc} //
  • // ))} //
// } // { //
// {menuItems.map((menu, index) => ( //
//
{menu.menuItemDesc}
//
    // {menu.subMenus.map((subMenu, subIndex) => ( // //
  • {subMenu.menuItemDesc}
  • // // ))} //
//
// ))} //
// } //
//
{renderView()}
//
//
// ); // } // export default Dashboard; import React, { useState, useEffect } from "react"; import { useNavigate, Link } from "react-router-dom"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faHouse, faGear, faUsers, faBars, faUserCircle, faSignOutAlt, } from "@fortawesome/free-solid-svg-icons"; import "./Dashboard.css"; import { Bar } from "react-chartjs-2"; import Chart from "chart.js/auto"; import SetupView from "./SetupView"; import DashboardView from "./DashboardView"; import UserDetailsView from "./UserDetailsView"; import UserMaintenanceView from "./UserMaintenanceView"; import AccessType from "./AccessType"; import SystemParameter from "./SystemParameter"; import MenuAccessControl from "./MenuAccessControl"; import MenuMaintenance from "./MenuMaintenance"; import UserGroupMaintenance from "./UserGroupMaintenance"; import APIRegistry from "./APIRegistry"; import TOKENRegistry from "./TOKENRegistry"; import DataType1 from "./DataType1"; import DataType2 from "./DataType2"; import DataType3 from "./DataType3"; import DataType4 from "./DataType4"; import DataType5 from "./DataType5"; import DataType6 from "./DataType6"; import DynamicTable from "./DynamicForm/DynamicForm2"; import CodeExtension from "./Codeextension"; import Dropdown from "react-bootstrap/Dropdown"; import { removeToken } from "../../utils/tokenService"; import AccordionPage from "./UIComponents/Accordion"; import BadgesPage from "./UIComponents/BadgesPage"; import DashViewone from "./UIComponents/DashViewone"; import Sidebar from "../Dashboard/UIComponents/Sidebar"; import Slider from "./UIComponents/Slider"; function Dashboard() { const [currentView, setCurrentView] = useState("home"); // Initial view const [isSidebarOpen, setIsSidebarOpen] = useState(true); const [menuItems, setMenuItems] = useState([]); const [error, setError] = useState(""); const navigate = useNavigate(); useEffect(() => { const handleResize = () => { setIsSidebarOpen(window.innerWidth >= 972); }; handleResize(); window.addEventListener("resize", handleResize); return () => window.removeEventListener("resize", handleResize); }, []); useEffect(() => { const fetchMenuItems = async () => { const apiUrl = `${process.env.REACT_APP_API_URL}/fndMenu/menuloadbyuser`; const token = localStorage.getItem("authToken"); if (!token) { console.error("Authorization token is missing."); setError("Authorization token is missing."); return; } try { const response = await fetch(apiUrl, { method: "GET", headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}`, }, }); if (!response.ok) { throw new Error(`Error: ${response.status}`); } const data = await response.json(); setMenuItems(data); } catch (error) { console.error("Fetching error:", error); setError(error.toString()); } }; fetchMenuItems(); }, []); const handleLogout = () => { removeToken(); navigate("/#", { replace: true }); // Redirect to login page }; const toggleSlider = () => { setIsSidebarOpen((prev) => !prev); }; const toggleSidebar = () => { setIsSidebarOpen(!isSidebarOpen); }; // Add main menu items here const mainMenuItems = [ { menuItemId: { menuItemDesc: "Home" }, subMenus: [] }, { menuItemId: { menuItemDesc: "Transaction" }, subMenus: [] }, { menuItemId: { menuItemDesc: "Data Management" }, subMenus: [] }, ]; const renderView = () => { switch (currentView) { case "home": return ( <> ); case "dashboard": return ; case "setup": return ( setCurrentView("userMaintenance")} onMenuAccessControl={() => setCurrentView("menuAccessControl")} onUserGroupMaintenance={() => setCurrentView("userGroupMaintenance") } onSystemParameter={() => setCurrentView("systemParameter")} onMenuMaintenance={() => setCurrentView("menuMaintenance")} onAccessType={() => setCurrentView("accessType")} onAPIregistry={() => setCurrentView("apiRegistry")} onTokenregistry={() => setCurrentView("tokenRegistry")} onDataType1={() => setCurrentView("dataType1")} onDataType2={() => setCurrentView("dataType2")} onDataType3={() => setCurrentView("dataType3")} onDataType4={() => setCurrentView("dataType4")} onDataType5={() => setCurrentView("dataType5")} onDataType6={() => setCurrentView("dataType6")} onDynamicTable={() => setCurrentView("dynamicTable")} onCodeExtension={() => setCurrentView("codeExtension")} /> ); case "userdetails": return ; case "userMaintenance": return ; case "accessType": return ; case "systemParameter": return ; case "menuAccessControl": return ; case "menuMaintenance": return ; case "userGroupMaintenance": return ; case "apiRegistry": return ; case "tokenRegistry": return ; case "dataType1": return ; case "dataType2": return ; case "dataType3": return ; case "dataType4": return ; case "dataType5": return ; case "dataType6": return ; case "dynamictable": return ; case "codeExtension": return ; default: return
Select an option from the menu
; } }; return (
{/* Navbar */}
setCurrentView("home")} className="fa-solid fa-house" > setCurrentView("dashboard")} className="fas fa-chart-bar" > setCurrentView("setup")} className="fa-solid fa-gear" > setCurrentView("userdetails")} className="fa-solid fa-users" >
{/* User Profile Avatar */}
setCurrentView("profile")}> Profile Logout
{/* Sidebar Icon (below the topbar) */} {/* Sidebar Icon (below the topbar and above the sidebar) */}
{/* Slider to control the sidebar */}
{/* Sidebar */}
{/* main view */}
{/* Main content rendering based on current view */}
{renderView()}
); } export default Dashboard;