From 51a26778b3727b876704809b80dacbe80191e5ba Mon Sep 17 00:00:00 2001 From: Prathamesh Sankhe <144032313+PMS61@users.noreply.github.com> Date: Thu, 23 Jan 2025 23:59:55 +0530 Subject: [PATCH] Solved issue #10 : Achievement Page with sections --- package-lock.json | 52 ++++++-- package.json | 3 +- src/App.jsx | 14 ++- src/Components/AchievementContext.jsx | 89 ++++++++++++++ src/Components/AchievementForm.jsx | 165 ++++++++++++++++++++++++++ src/Components/Achievements.jsx | 132 +++++++++++++++++---- src/Components/AdminApproval.jsx | 66 +++++++++++ 7 files changed, 485 insertions(+), 36 deletions(-) create mode 100644 src/Components/AchievementContext.jsx create mode 100644 src/Components/AchievementForm.jsx create mode 100644 src/Components/AdminApproval.jsx diff --git a/package-lock.json b/package-lock.json index 1bc508ef8..dba23c8af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,9 +18,10 @@ "react-dom": "^18.2.0", "react-icon-cloud": "^1.1.3", "react-icons": "^5.2.1", - "react-router-dom": "^6.23.0", + "react-router-dom": "^6.28.2", "react-spring": "^9.7.3", "react-three-fiber": "^6.0.13", + "react-toastify": "^11.0.3", "simple-icons": "^5.24.0", "stats.js": "^0.17.0", "three": "^0.165.0", @@ -3665,9 +3666,10 @@ } }, "node_modules/@remix-run/router": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz", - "integrity": "sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.1.tgz", + "integrity": "sha512-KeBYSwohb8g4/wCcnksvKTYlg69O62sQeLynn2YE+5z7JWEj95if27kclW9QqbrlsQ2DINI8fjbV3zyuKfwjKg==", + "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -5261,6 +5263,15 @@ "node": ">=6" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -10110,11 +10121,12 @@ } }, "node_modules/react-router": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz", - "integrity": "sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==", + "version": "6.28.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.2.tgz", + "integrity": "sha512-BgFY7+wEGVjHCiqaj2XiUBQ1kkzfg6UoKYwEe0wv+FF+HNPCxtS/MVPvLAPH++EsuCMReZl9RYVGqcHLk5ms3A==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.16.0" + "@remix-run/router": "1.21.1" }, "engines": { "node": ">=14.0.0" @@ -10124,12 +10136,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz", - "integrity": "sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==", + "version": "6.28.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.2.tgz", + "integrity": "sha512-O81EWqNJWqvlN/a7eTudAdQm0TbI7hw+WIi7OwwMcTn5JMyZ0ibTFNGz+t+Lju0df4LcqowCegcrK22lB1q9Kw==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.16.0", - "react-router": "6.23.0" + "@remix-run/router": "1.21.1", + "react-router": "6.28.2" }, "engines": { "node": ">=14.0.0" @@ -10301,6 +10314,19 @@ } } }, + "node_modules/react-toastify": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.3.tgz", + "integrity": "sha512-cbPtHJPfc0sGqVwozBwaTrTu1ogB9+BLLjd4dDXd863qYLj7DGrQ2sg5RAChjFUB4yc3w8iXOtWcJqPK/6xqRQ==", + "license": "MIT", + "dependencies": { + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": "^18 || ^19", + "react-dom": "^18 || ^19" + } + }, "node_modules/react-use-measure": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz", diff --git a/package.json b/package.json index d555ef09d..83d796842 100644 --- a/package.json +++ b/package.json @@ -20,9 +20,10 @@ "react-dom": "^18.2.0", "react-icon-cloud": "^1.1.3", "react-icons": "^5.2.1", - "react-router-dom": "^6.23.0", + "react-router-dom": "^6.28.2", "react-spring": "^9.7.3", "react-three-fiber": "^6.0.13", + "react-toastify": "^11.0.3", "simple-icons": "^5.24.0", "stats.js": "^0.17.0", "three": "^0.165.0", diff --git a/src/App.jsx b/src/App.jsx index 99d8d90b1..db9a9dc61 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -14,7 +14,11 @@ import UpcomingProjects from './Components/UpcomingProjects'; import VerticalTimeline from './Components/Timeline'; import Carousel from './Components/Carousel'; import Hero from './Components/Hero'; -import Footer from "./Components/Footer" +import Footer from "./Components/Footer"; +import AdminApproval from './Components/AdminApproval'; +import { AchievementProvider } from './Components/AchievementContext'; +import { ToastContainer } from 'react-toastify'; // Import ToastContainer +import 'react-toastify/dist/ReactToastify.css'; const Homepage = () => { @@ -22,7 +26,7 @@ const Homepage = () => {
We are an exclusive club at Veermata Jijabai Technological Institute, Mumbai. We provide a collaborative environment for students to learn, grow, and build projects together under mentorship. Explore our achievements, past projects, and upcoming events! @@ -42,6 +46,7 @@ const Homepage = () => { function App() { return (
No achievers found for this category.
+ )} +No achievements to approve.
+ ) : ( ++ Category: {achievement.category} +
++ Details: {achievement.achievementDetails} +
+