diff --git a/Frontend/package-lock.json b/Frontend/package-lock.json
index 7acdd07..eda86d5 100644
--- a/Frontend/package-lock.json
+++ b/Frontend/package-lock.json
@@ -10,9 +10,11 @@
"dependencies": {
"@reduxjs/toolkit": "^2.2.7",
"apexcharts": "^4.5.0",
+ "chart.js": "^4.4.8",
"flowbite": "^2.5.1",
"react": "^18.3.1",
"react-apexcharts": "^1.7.0",
+ "react-chartjs-2": "^5.3.0",
"react-dom": "^18.3.1",
"react-icons": "^5.3.0",
"react-player": "^2.16.0",
@@ -941,6 +943,12 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@kurkle/color": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz",
+ "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==",
+ "license": "MIT"
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -1901,6 +1909,18 @@
"node": ">=4"
}
},
+ "node_modules/chart.js": {
+ "version": "4.4.8",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz",
+ "integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==",
+ "license": "MIT",
+ "dependencies": {
+ "@kurkle/color": "^0.3.0"
+ },
+ "engines": {
+ "pnpm": ">=8"
+ }
+ },
"node_modules/chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
@@ -4397,6 +4417,16 @@
"react": ">=0.13"
}
},
+ "node_modules/react-chartjs-2": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz",
+ "integrity": "sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "chart.js": "^4.1.1",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/react-dom": {
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
diff --git a/Frontend/package.json b/Frontend/package.json
index 7080850..544f902 100644
--- a/Frontend/package.json
+++ b/Frontend/package.json
@@ -12,9 +12,11 @@
"dependencies": {
"@reduxjs/toolkit": "^2.2.7",
"apexcharts": "^4.5.0",
+ "chart.js": "^4.4.8",
"flowbite": "^2.5.1",
"react": "^18.3.1",
"react-apexcharts": "^1.7.0",
+ "react-chartjs-2": "^5.3.0",
"react-dom": "^18.3.1",
"react-icons": "^5.3.0",
"react-player": "^2.16.0",
diff --git a/Frontend/public/images/add.svg b/Frontend/public/images/add.svg
new file mode 100644
index 0000000..57e31f7
--- /dev/null
+++ b/Frontend/public/images/add.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Frontend/src/App.jsx b/Frontend/src/App.jsx
index 99eba02..b2efb27 100644
--- a/Frontend/src/App.jsx
+++ b/Frontend/src/App.jsx
@@ -37,6 +37,7 @@ function App() {
<>
+
{
+ return (
+
+
+
+
+ |
+ Farm name
+ |
+
+ Location
+ |
+
+ Type
+ |
+
+ Size (acres)
+ |
+
+ Action
+ |
+
+
+
+
+ |
+ Green Valley Farms
+ |
+ California |
+ Organic |
+ 150 |
+
+
+ Edit
+
+ |
+
+
+ |
+ Sunny Acres
+ |
+ Texas |
+ Conventional |
+ 200 |
+
+
+ Edit
+
+ |
+
+
+ |
+ Riverside Estates
+ |
+ Florida |
+ Hydroponic |
+ 120 |
+
+
+ Edit
+
+ |
+
+
+ |
+ Blueberry Hill
+ |
+ Oregon |
+ Berry |
+ 80 |
+
+
+ Edit
+
+ |
+
+
+ |
+ Sunnybrook Meadows
+ |
+ Washington |
+ Dairy |
+ 300 |
+
+
+ Edit
+
+ |
+
+
+
+
+ );
+};
+
+export default FarmList;
diff --git a/Frontend/src/components/Logs.jsx b/Frontend/src/components/Logs.jsx
index 19a1e2f..70fa90a 100644
--- a/Frontend/src/components/Logs.jsx
+++ b/Frontend/src/components/Logs.jsx
@@ -3,8 +3,8 @@ import { Link } from "react-router-dom";
const Logs = () => {
return (
<>
-
-
+
+
|
@@ -55,11 +55,12 @@ const Logs = () => {
| Accessories |
$99 |
-
-
- View all Logs
-
-
+ {" "}
+
{" "}
+
+
+ View all Logs
+
>
);
diff --git a/Frontend/src/components/Navbar.jsx b/Frontend/src/components/Navbar.jsx
index b921f1d..7c9aa7a 100644
--- a/Frontend/src/components/Navbar.jsx
+++ b/Frontend/src/components/Navbar.jsx
@@ -1,205 +1,87 @@
-import React from "react";
-import { Link, useNavigate } from "react-router-dom";
-import { useSelector } from "react-redux";
-import { BACKEND_URL } from "../constants";
-
const Navbar = () => {
- const user = useSelector((store) => store.user);
-
- //console.log("User is : ", user);
-
- const navigate = useNavigate();
-
- const handleLogOut = async () => {
- const responce = await fetch(`${BACKEND_URL}/api/v1/logout`, {
- method: "Get",
- credentials: "include",
- });
-
- const data = await responce.json();
-
- //console.log("User Logged out data is : ", data);
-
- if (data.success == true) {
- navigate("/user/login");
- }
- };
return (
- <>
-