From 31a647603cf2d02e26aa54f537763605ed0070c2 Mon Sep 17 00:00:00 2001 From: Parth Dhavan Date: Sun, 14 Jul 2024 15:06:28 +0530 Subject: [PATCH] Fixes #56 --- .../src/_dashboard/DashboardLayout.jsx | 15 +++++++++++++ server/dashboard_service/src/app.js | 1 + .../src/routes/dashboard.routes.js | 21 +++++++++++++++++++ server/package-lock.json | 6 ++++++ 4 files changed, 43 insertions(+) create mode 100644 server/dashboard_service/src/routes/dashboard.routes.js create mode 100644 server/package-lock.json diff --git a/bizsync-application/src/_dashboard/DashboardLayout.jsx b/bizsync-application/src/_dashboard/DashboardLayout.jsx index 1597b2d..764fadc 100644 --- a/bizsync-application/src/_dashboard/DashboardLayout.jsx +++ b/bizsync-application/src/_dashboard/DashboardLayout.jsx @@ -15,10 +15,25 @@ const dashboardItems = [ { name: "Reports", path: "reports" }, ]; + const DashboardLayout = () => { const [activeItem, setActiveItem] = useState("Home"); const [isSidebarOpen, setIsSidebarOpen] = useState(false); + useEffect(() => { + const fetchDashboardItems = async () => { + try { + const response = await fetch('http://localhost:8000/api/dashboard-items'); + const data = await response.json(); + setDashboardItems(data); + } catch (error) { + console.error("Error fetching dashboard items:", error); + } + }; + + fetchDashboardItems(); + }, []); + const toggleSidebar = () => setIsSidebarOpen(!isSidebarOpen); return ( diff --git a/server/dashboard_service/src/app.js b/server/dashboard_service/src/app.js index dabd859..56b8bee 100644 --- a/server/dashboard_service/src/app.js +++ b/server/dashboard_service/src/app.js @@ -28,5 +28,6 @@ app.use("/api/v1", staffRoute); app.use("/api/v1", reportRoute); app.use("/api/v1", orderRoute); app.use("/api/v1", inventoryRoute); +app.use("/api/v1", dashboardItems); export { app }; diff --git a/server/dashboard_service/src/routes/dashboard.routes.js b/server/dashboard_service/src/routes/dashboard.routes.js new file mode 100644 index 0000000..a344518 --- /dev/null +++ b/server/dashboard_service/src/routes/dashboard.routes.js @@ -0,0 +1,21 @@ +app.use(express.json()); +app.use(cors()); + +// Dashboard items +const dashboardItems = [ + { name: "Home", path: "home" }, + { name: "Receivables", path: "receivables" }, + { name: "Spends", path: "spends" }, + { name: "Inventory", path: "inventory" }, + { name: "Notification", path: "notification" }, + { name: "Supplier", path: "supplier" }, + { name: "Staff", path: "staff" }, + { name: "Financial", path: "financial" }, + { name: "Sales", path: "sales" }, + { name: "Reports", path: "reports" }, +]; + +// Get all dashboard items +app.get('/api/dashboard-items', (req, res) => { + res.json(dashboardItems); +}); \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 0000000..b280e8b --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "server", + "lockfileVersion": 3, + "requires": true, + "packages": {} +}