From 5f08affd626723fd026c6cb5b76c07f78fd9f31d Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Fri, 13 Jun 2025 01:23:09 +0530
Subject: [PATCH 01/15] add data charts for about section
---
app/page.js | 255 +++++++++-------
components/Charts.jsx | 126 ++++++++
package-lock.json | 694 +++++++++++++++++++++++++++++++++++++++++-
package.json | 2 +
4 files changed, 957 insertions(+), 120 deletions(-)
create mode 100644 components/Charts.jsx
diff --git a/app/page.js b/app/page.js
index 67f5771..9663a3d 100644
--- a/app/page.js
+++ b/app/page.js
@@ -40,6 +40,7 @@ import { delay, motion, Variants } from "framer-motion";
import { redirect } from "next/navigation";
import Testimonials from "@/components/Testimonials";
import PastSponsors from "@/components/PastSponsors";
+import { AreaChartComponent, BarChartComponent, RadarChartComponent } from "@/components/Charts";
const containerVariants = {
hidden: {},
@@ -318,13 +319,14 @@ export default function Home() {
-
+ */}
+
+
+
+
+
+
+
+
+
+ {/*
Maximize Impact. Maximize You.
-
-
@@ -408,7 +437,7 @@ export default function Home() {
Contribute Boldly. Shine Brightly.
-
+ */}
- VIDEO
-
+ VIDEO
@@ -524,10 +552,11 @@ export default function Home() {
- Project Assignment to Mentors
+ Project Assignment to Mentors
- Mentors are assigned to projects and begin preparing to guide contributors throughout the program.
+ Mentors are assigned to projects and begin preparing to guide
+ contributors throughout the program.
@@ -545,14 +574,15 @@ export default function Home() {
/>
- 23th June 2025
+ 23th June 2025
- Community Bonding Period Starts
+ Community Bonding Period Starts
- Contributors and mentors interact, discuss project goals, and get familiar with the community.
+ Contributors and mentors interact, discuss project goals, and get
+ familiar with the community.
@@ -577,7 +607,8 @@ export default function Home() {
Coding Period Starts
- Contributors officially start working on their assigned open source projects under mentor supervision.
+ Contributors officially start working on their assigned open
+ source projects under mentor supervision.
@@ -595,14 +626,15 @@ export default function Home() {
/>
- To Be Announced
+ To Be Announced
- Leaderboard Opens
+ Leaderboard Opens
- The leaderboard is made public, allowing participants to track their progress and contributions.
+ The leaderboard is made public, allowing participants to track
+ their progress and contributions.
@@ -620,13 +652,15 @@ export default function Home() {
/>
- To Be Announced
+ To Be Announced
- Coding Period Ends
+ Coding Period Ends
- The official coding phase concludes; contributors submit their final work for evaluation.
+
+ The official coding phase concludes; contributors submit their
+ final work for evaluation.
@@ -644,14 +678,15 @@ export default function Home() {
/>
- To Be Announced
+ To Be Announced
Result will be declared
- Final results are announced, recognizing top contributors and successful projects.
+ Final results are announced, recognizing top contributors and
+ successful projects.
@@ -881,7 +916,7 @@ export default function Home() {
*/}
-
+
- Maximize Visibility
+
+ Maximize Visibility
+
- Feature
-your brand across app,
-website, social media (500K+
-reach), newsletters, and
-event swag.
-
+ Feature your brand across app, website, social media (500K+
+ reach), newsletters, and event swag.
@@ -991,14 +1024,12 @@ event swag.
/>
- Engage & Activate
+
+ Engage & Activate
+
- e: Host
-workshops, showcase tech,
-and integrate product tasks
-to reach 50,000+ developers
-directly.
-
+ e: Host workshops, showcase tech, and integrate product tasks to
+ reach 50,000+ developers directly.
@@ -1022,19 +1053,17 @@ directly.
-Community Impact
+ Community Impact
+
- Champion gender equity in
-tech through measurable
-support—mentorship hours,
-project outcomes, and
-participant placements.
+ Champion gender equity in tech through measurable
+ support—mentorship hours, project outcomes, and participant
+ placements.
-
-
+
- Bridging passion and purpose through impactful open source contributions!
+ Bridging passion and purpose through impactful open source
+ contributions!
However, we approach things a bit differently around here.
@@ -1084,65 +1114,64 @@ participant placements.
Contact Us
-
- {/* LinkedIn */}
-
-
-
-
-
- {/* Twitter/X */}
-
-
-
-
-
- {/* Instagram */}
-
-
-
-
-
+
+ {/* LinkedIn */}
+
+
+
+
+
+ {/* Twitter/X */}
+
+
+
+
+ {/* Instagram */}
+
+
+
+
+
);
diff --git a/components/Charts.jsx b/components/Charts.jsx
new file mode 100644
index 0000000..d113875
--- /dev/null
+++ b/components/Charts.jsx
@@ -0,0 +1,126 @@
+import {
+ BarChart,
+ Bar,
+ ResponsiveContainer,
+ XAxis,
+ YAxis,
+ Tooltip,
+ Legend,
+ CartesianGrid,
+ Rectangle,
+ LabelList,
+ AreaChart,
+ Area,
+ RadarChart,
+ PolarGrid,
+ PolarAngleAxis,
+ PolarRadiusAxis,
+ Radar
+} from "recharts";
+
+const pullRequestsData = [
+ {
+ name: "GSSoC'24",
+ value: 29000,
+ },
+ {
+ name: "GSSoC'23",
+ value: 27000,
+ },
+ {
+ name: "GSSoC'24 Ext",
+ value: 36000,
+ }
+];
+
+const campusAmbassadorsData = [
+ {
+ name: "GSSoC'24",
+ value: 29000,
+ },
+ {
+ name: "GSSoC'23",
+ value: 27000,
+ },
+ {
+ name: "GSSoC'24 Ext",
+ value: 36000,
+ }
+];
+
+const linkedinFollowersData = [
+ {
+ name: "GSSoC'24",
+ value: 28000,
+ },
+ {
+ name: "GSSoC'23",
+ value: 34000,
+ },
+ {
+ name: "GSSoC'24 Ext",
+ value: 48000,
+ }
+];
+
+export function BarChartComponent() {
+ return (
+
+
+
+
+
+ {/* */}
+ {/* */}
+ }
+ >
+
+
+
+
+ );
+}
+
+export function AreaChartComponent() {
+ return (
+
+
+
+
+
+ {/* */}
+
+
+
+
+
+ );
+}
+
+export function RadarChartComponent() {
+ return (
+
+
+
+
+
+
+ {/* */}
+ {/* */}
+
+
+ );
+}
diff --git a/package-lock.json b/package-lock.json
index 01e028c..c1cf5eb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,7 @@
"name": "gssoc-2025-website",
"version": "0.1.0",
"dependencies": {
+ "@nivo/bar": "^0.99.0",
"@supabase/supabase-js": "^2.49.8",
"@tsparticles/engine": "^3.8.1",
"@tsparticles/react": "^3.0.0",
@@ -19,6 +20,7 @@
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-use-measure": "^2.1.7",
+ "recharts": "^2.15.3",
"tailwind-merge": "^3.3.0"
},
"devDependencies": {
@@ -54,6 +56,15 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@babel/runtime": {
+ "version": "7.27.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz",
+ "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@emnapi/core": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz",
@@ -839,6 +850,204 @@
"node": ">= 10"
}
},
+ "node_modules/@nivo/annotations": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/annotations/-/annotations-0.99.0.tgz",
+ "integrity": "sha512-jCuuXPbvpaqaz4xF7k5dv0OT2ubn5Nt0gWryuTe/8oVsC/9bzSuK8bM9vBty60m9tfO+X8vUYliuaCDwGksC2g==",
+ "license": "MIT",
+ "dependencies": {
+ "@nivo/colors": "0.99.0",
+ "@nivo/core": "0.99.0",
+ "@nivo/theming": "0.99.0",
+ "@react-spring/web": "9.4.5 || ^9.7.2 || ^10.0",
+ "lodash": "^4.17.21"
+ },
+ "peerDependencies": {
+ "react": "^16.14 || ^17.0 || ^18.0 || ^19.0"
+ }
+ },
+ "node_modules/@nivo/axes": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/axes/-/axes-0.99.0.tgz",
+ "integrity": "sha512-3KschnmEL0acRoa7INSSOSEFwJLm54aZwSev7/r8XxXlkgRBriu6ReZy/FG0wfN+ljZ4GMvx+XyIIf6kxzvrZg==",
+ "license": "MIT",
+ "dependencies": {
+ "@nivo/core": "0.99.0",
+ "@nivo/scales": "0.99.0",
+ "@nivo/text": "0.99.0",
+ "@nivo/theming": "0.99.0",
+ "@react-spring/web": "9.4.5 || ^9.7.2 || ^10.0",
+ "@types/d3-format": "^1.4.1",
+ "@types/d3-time-format": "^2.3.1",
+ "d3-format": "^1.4.4",
+ "d3-time-format": "^3.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.14 || ^17.0 || ^18.0 || ^19.0"
+ }
+ },
+ "node_modules/@nivo/bar": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/bar/-/bar-0.99.0.tgz",
+ "integrity": "sha512-9yfMn7H6UF/TqtCwVZ/vihVAXUff9wWvSaeF2Z1DCfgr5S07qs31Qb2p0LZA+YgCWpaU7zqkeb3VZ4WCpZbrDA==",
+ "license": "MIT",
+ "dependencies": {
+ "@nivo/annotations": "0.99.0",
+ "@nivo/axes": "0.99.0",
+ "@nivo/canvas": "0.99.0",
+ "@nivo/colors": "0.99.0",
+ "@nivo/core": "0.99.0",
+ "@nivo/legends": "0.99.0",
+ "@nivo/scales": "0.99.0",
+ "@nivo/text": "0.99.0",
+ "@nivo/theming": "0.99.0",
+ "@nivo/tooltip": "0.99.0",
+ "@react-spring/web": "9.4.5 || ^9.7.2 || ^10.0",
+ "@types/d3-scale": "^4.0.8",
+ "@types/d3-shape": "^3.1.6",
+ "d3-scale": "^4.0.2",
+ "d3-shape": "^3.2.0",
+ "lodash": "^4.17.21"
+ },
+ "peerDependencies": {
+ "react": "^16.14 || ^17.0 || ^18.0 || ^19.0"
+ }
+ },
+ "node_modules/@nivo/canvas": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/canvas/-/canvas-0.99.0.tgz",
+ "integrity": "sha512-UxA8zb+NPwqmNm81hoyUZSMAikgjU1ukLf4KybVNyV8ejcJM+BUFXsb8DxTcLdt4nmCFHqM56GaJQv2hnAHmzg==",
+ "license": "MIT"
+ },
+ "node_modules/@nivo/colors": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/colors/-/colors-0.99.0.tgz",
+ "integrity": "sha512-hyYt4lEFIfXOUmQ6k3HXm3KwhcgoJpocmoGzLUqzk7DzuhQYJo+4d5jIGGU0N/a70+9XbHIdpKNSblHAIASD3w==",
+ "license": "MIT",
+ "dependencies": {
+ "@nivo/core": "0.99.0",
+ "@nivo/theming": "0.99.0",
+ "@types/d3-color": "^3.0.0",
+ "@types/d3-scale": "^4.0.8",
+ "@types/d3-scale-chromatic": "^3.0.0",
+ "d3-color": "^3.1.0",
+ "d3-scale": "^4.0.2",
+ "d3-scale-chromatic": "^3.0.0",
+ "lodash": "^4.17.21"
+ },
+ "peerDependencies": {
+ "react": "^16.14 || ^17.0 || ^18.0 || ^19.0"
+ }
+ },
+ "node_modules/@nivo/core": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/core/-/core-0.99.0.tgz",
+ "integrity": "sha512-olCItqhPG3xHL5ei+vg52aB6o+6S+xR2idpkd9RormTTUniZb8U2rOdcQojOojPY5i9kVeQyLFBpV4YfM7OZ9g==",
+ "license": "MIT",
+ "dependencies": {
+ "@nivo/theming": "0.99.0",
+ "@nivo/tooltip": "0.99.0",
+ "@react-spring/web": "9.4.5 || ^9.7.2 || ^10.0",
+ "@types/d3-shape": "^3.1.6",
+ "d3-color": "^3.1.0",
+ "d3-format": "^1.4.4",
+ "d3-interpolate": "^3.0.1",
+ "d3-scale": "^4.0.2",
+ "d3-scale-chromatic": "^3.0.0",
+ "d3-shape": "^3.2.0",
+ "d3-time-format": "^3.0.0",
+ "lodash": "^4.17.21",
+ "react-virtualized-auto-sizer": "^1.0.26",
+ "use-debounce": "^10.0.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nivo/donate"
+ },
+ "peerDependencies": {
+ "react": "^16.14 || ^17.0 || ^18.0 || ^19.0"
+ }
+ },
+ "node_modules/@nivo/legends": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/legends/-/legends-0.99.0.tgz",
+ "integrity": "sha512-P16FjFqNceuTTZphINAh5p0RF0opu3cCKoWppe2aRD9IuVkvRm/wS5K1YwMCxDzKyKh5v0AuTlu9K6o3/hk8hA==",
+ "license": "MIT",
+ "dependencies": {
+ "@nivo/colors": "0.99.0",
+ "@nivo/core": "0.99.0",
+ "@nivo/text": "0.99.0",
+ "@nivo/theming": "0.99.0",
+ "@types/d3-scale": "^4.0.8",
+ "d3-scale": "^4.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.14 || ^17.0 || ^18.0 || ^19.0"
+ }
+ },
+ "node_modules/@nivo/scales": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/scales/-/scales-0.99.0.tgz",
+ "integrity": "sha512-g/2K4L6L8si6E2BWAHtFVGahtDKbUcO6xHJtlIZMwdzaJc7yB16EpWLK8AfI/A42KadLhJSJqBK3mty+c7YZ+w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-interpolate": "^3.0.4",
+ "@types/d3-scale": "^4.0.8",
+ "@types/d3-time": "^1.1.1",
+ "@types/d3-time-format": "^3.0.0",
+ "d3-interpolate": "^3.0.1",
+ "d3-scale": "^4.0.2",
+ "d3-time": "^1.0.11",
+ "d3-time-format": "^3.0.0",
+ "lodash": "^4.17.21"
+ }
+ },
+ "node_modules/@nivo/scales/node_modules/@types/d3-time-format": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-3.0.4.tgz",
+ "integrity": "sha512-or9DiDnYI1h38J9hxKEsw513+KVuFbEVhl7qdxcaudoiqWWepapUen+2vAriFGexr6W5+P4l9+HJrB39GG+oRg==",
+ "license": "MIT"
+ },
+ "node_modules/@nivo/text": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/text/-/text-0.99.0.tgz",
+ "integrity": "sha512-ho3oZpAZApsJNjsIL5WJSAdg/wjzTBcwo1KiHBlRGUmD+yUWO8qp7V+mnYRhJchwygtRVALlPgZ/rlcW2Xr/MQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@nivo/core": "0.99.0",
+ "@nivo/theming": "0.99.0",
+ "@react-spring/web": "9.4.5 || ^9.7.2 || ^10.0"
+ },
+ "peerDependencies": {
+ "react": "^16.14 || ^17.0 || ^18.0 || ^19.0"
+ }
+ },
+ "node_modules/@nivo/theming": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/theming/-/theming-0.99.0.tgz",
+ "integrity": "sha512-KvXlf0nqBzh/g2hAIV9bzscYvpq1uuO3TnFN3RDXGI72CrbbZFTGzprPju3sy/myVsauv+Bb+V4f5TZ0jkYKRg==",
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.21"
+ },
+ "peerDependencies": {
+ "react": "^16.14 || ^17.0 || ^18.0 || ^19.0"
+ }
+ },
+ "node_modules/@nivo/tooltip": {
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@nivo/tooltip/-/tooltip-0.99.0.tgz",
+ "integrity": "sha512-weoEGR3xAetV4k2P6k96cdamGzKQ5F2Pq+uyDaHr1P3HYArM879Pl+x+TkU0aWjP6wgUZPx/GOBiV1Hb1JxIqg==",
+ "license": "MIT",
+ "dependencies": {
+ "@nivo/core": "0.99.0",
+ "@nivo/theming": "0.99.0",
+ "@react-spring/web": "9.4.5 || ^9.7.2 || ^10.0"
+ },
+ "peerDependencies": {
+ "react": "^16.14 || ^17.0 || ^18.0 || ^19.0"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -883,6 +1092,78 @@
"node": ">=12.4.0"
}
},
+ "node_modules/@react-spring/animated": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-10.0.1.tgz",
+ "integrity": "sha512-BGL3hA66Y8Qm3KmRZUlfG/mFbDPYajgil2/jOP0VXf2+o2WPVmcDps/eEgdDqgf5Pv9eBbyj7LschLMuSjlW3Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@react-spring/shared": "~10.0.1",
+ "@react-spring/types": "~10.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-spring/core": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-10.0.1.tgz",
+ "integrity": "sha512-KaMMsN1qHuVTsFpg/5ajAVye7OEqhYbCq0g4aKM9bnSZlDBBYpO7Uf+9eixyXN8YEbF+YXaYj9eoWDs+npZ+sA==",
+ "license": "MIT",
+ "dependencies": {
+ "@react-spring/animated": "~10.0.1",
+ "@react-spring/shared": "~10.0.1",
+ "@react-spring/types": "~10.0.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/react-spring/donate"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-spring/rafz": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-10.0.1.tgz",
+ "integrity": "sha512-UrzG/d6Is+9i0aCAjsjWRqIlFFiC4lFqFHrH63zK935z2YDU95TOFio4VKGISJ5SG0xq4ULy7c1V3KU+XvL+Yg==",
+ "license": "MIT"
+ },
+ "node_modules/@react-spring/shared": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-10.0.1.tgz",
+ "integrity": "sha512-KR2tmjDShPruI/GGPfAZOOLvDgkhFseabjvxzZFFggJMPkyICLjO0J6mCIoGtdJSuHywZyc4Mmlgi+C88lS00g==",
+ "license": "MIT",
+ "dependencies": {
+ "@react-spring/rafz": "~10.0.1",
+ "@react-spring/types": "~10.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-spring/types": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-10.0.1.tgz",
+ "integrity": "sha512-Fk1wYVAKL+ZTYK+4YFDpHf3Slsy59pfFFvnnTfRjQQFGlyIo4VejPtDs3CbDiuBjM135YztRyZjIH2VbycB+ZQ==",
+ "license": "MIT"
+ },
+ "node_modules/@react-spring/web": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-10.0.1.tgz",
+ "integrity": "sha512-FgQk02OqFrYyJBTTnBTWAU0WPzkHkKXauc6aeexcvATvLapUxwnfGuLlsLYF8BYjEVfkivPT04ziAue6zyRBtQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@react-spring/animated": "~10.0.1",
+ "@react-spring/core": "~10.0.1",
+ "@react-spring/shared": "~10.0.1",
+ "@react-spring/types": "~10.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/@rtsao/scc": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
@@ -1674,6 +1955,87 @@
"tslib": "^2.4.0"
}
},
+ "node_modules/@types/d3-array": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz",
+ "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-color": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz",
+ "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-ease": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz",
+ "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-format": {
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-1.4.5.tgz",
+ "integrity": "sha512-mLxrC1MSWupOSncXN/HOlWUAAIffAEBaI4+PKy2uMPsKe4FNZlk7qrbTjmzJXITQQqBHivaks4Td18azgqnotA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-interpolate": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz",
+ "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-color": "*"
+ }
+ },
+ "node_modules/@types/d3-path": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz",
+ "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-scale": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz",
+ "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-time": "*"
+ }
+ },
+ "node_modules/@types/d3-scale-chromatic": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
+ "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-shape": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz",
+ "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-path": "*"
+ }
+ },
+ "node_modules/@types/d3-time": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-1.1.4.tgz",
+ "integrity": "sha512-JIvy2HjRInE+TXOmIGN5LCmeO0hkFZx5f9FZ7kiN+D+YTcc8pptsiLiuHsvwxwC7VVKmJ2ExHUgNlAiV7vQM9g==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-time-format": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-2.3.4.tgz",
+ "integrity": "sha512-xdDXbpVO74EvadI3UDxjxTdR6QIxm1FKzEA/+F8tL4GWWUg/hgvBqf6chql64U5A9ZUGWo7pEu4eNlyLwbKdhg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-timer": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz",
+ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==",
+ "license": "MIT"
+ },
"node_modules/@types/estree": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
@@ -2648,6 +3010,146 @@
"node": ">= 8"
}
},
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "license": "MIT"
+ },
+ "node_modules/d3-array": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
+ "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
+ "license": "ISC",
+ "dependencies": {
+ "internmap": "1 - 2"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-color": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-ease": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+ "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-format": {
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+ "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/d3-interpolate": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+ "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-color": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
+ "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-scale": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+ "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "2.10.0 - 3",
+ "d3-format": "1 - 3",
+ "d3-interpolate": "1.2.0 - 3",
+ "d3-time": "2.1.1 - 3",
+ "d3-time-format": "2 - 4"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-scale-chromatic": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
+ "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-color": "1 - 3",
+ "d3-interpolate": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-scale/node_modules/d3-time": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+ "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "2 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-shape": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
+ "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-path": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-time": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
+ "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/d3-time-format": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz",
+ "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "d3-time": "1 - 2"
+ }
+ },
+ "node_modules/d3-timer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+ "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/damerau-levenshtein": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
@@ -2722,6 +3224,12 @@
}
}
},
+ "node_modules/decimal.js-light": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz",
+ "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==",
+ "license": "MIT"
+ },
"node_modules/deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -2783,6 +3291,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/dom-helpers": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
+ "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
"node_modules/dunder-proto": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
@@ -3398,12 +3916,27 @@
"node": ">=0.10.0"
}
},
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "license": "MIT"
+ },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
+ "node_modules/fast-equals": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.2.2.tgz",
+ "integrity": "sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/fast-glob": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
@@ -3856,6 +4389,15 @@
"node": ">= 0.4"
}
},
+ "node_modules/internmap": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+ "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/is-array-buffer": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
@@ -4266,8 +4808,7 @@
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"node_modules/js-yaml": {
"version": "4.1.0",
@@ -4609,6 +5150,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "license": "MIT"
+ },
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@@ -4619,7 +5166,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dev": true,
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
@@ -4890,7 +5436,6 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5168,7 +5713,6 @@
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
- "dev": true,
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
@@ -5226,8 +5770,38 @@
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/react-smooth": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.4.tgz",
+ "integrity": "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==",
+ "license": "MIT",
+ "dependencies": {
+ "fast-equals": "^5.0.1",
+ "prop-types": "^15.8.1",
+ "react-transition-group": "^4.4.5"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.6.0",
+ "react-dom": ">=16.6.0"
+ }
},
"node_modules/react-use-measure": {
"version": "2.1.7",
@@ -5244,6 +5818,54 @@
}
}
},
+ "node_modules/react-virtualized-auto-sizer": {
+ "version": "1.0.26",
+ "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.26.tgz",
+ "integrity": "sha512-CblNyiNVw2o+hsa5/49NH2ogGxZ+t+3aweRvNSq7TVjDIlwk7ir4lencEg5HxHeSzwNarSkNkiu0qJSOXtxm5A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/recharts": {
+ "version": "2.15.3",
+ "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.3.tgz",
+ "integrity": "sha512-EdOPzTwcFSuqtvkDoaM5ws/Km1+WTAO2eizL7rqiG0V2UVhTnz0m7J2i0CjVPUCdEkZImaWvXLbZDS2H5t6GFQ==",
+ "license": "MIT",
+ "dependencies": {
+ "clsx": "^2.0.0",
+ "eventemitter3": "^4.0.1",
+ "lodash": "^4.17.21",
+ "react-is": "^18.3.1",
+ "react-smooth": "^4.0.4",
+ "recharts-scale": "^0.4.4",
+ "tiny-invariant": "^1.3.1",
+ "victory-vendor": "^36.6.8"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/recharts-scale": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz",
+ "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==",
+ "license": "MIT",
+ "dependencies": {
+ "decimal.js-light": "^2.4.1"
+ }
+ },
+ "node_modules/recharts/node_modules/react-is": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
+ "license": "MIT"
+ },
"node_modules/reflect.getprototypeof": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
@@ -5851,6 +6473,12 @@
"node": ">=18"
}
},
+ "node_modules/tiny-invariant": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
+ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
+ "license": "MIT"
+ },
"node_modules/tinyglobby": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
@@ -6103,6 +6731,58 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/use-debounce": {
+ "version": "10.0.5",
+ "resolved": "https://registry.npmjs.org/use-debounce/-/use-debounce-10.0.5.tgz",
+ "integrity": "sha512-Q76E3lnIV+4YT9AHcrHEHYmAd9LKwUAbPXDm7FlqVGDHiSOhX3RDjT8dm0AxbJup6WgOb1YEcKyCr11kBJR5KQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "peerDependencies": {
+ "react": "*"
+ }
+ },
+ "node_modules/victory-vendor": {
+ "version": "36.9.2",
+ "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz",
+ "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==",
+ "license": "MIT AND ISC",
+ "dependencies": {
+ "@types/d3-array": "^3.0.3",
+ "@types/d3-ease": "^3.0.0",
+ "@types/d3-interpolate": "^3.0.1",
+ "@types/d3-scale": "^4.0.2",
+ "@types/d3-shape": "^3.1.0",
+ "@types/d3-time": "^3.0.0",
+ "@types/d3-timer": "^3.0.0",
+ "d3-array": "^3.1.6",
+ "d3-ease": "^3.0.1",
+ "d3-interpolate": "^3.0.1",
+ "d3-scale": "^4.0.2",
+ "d3-shape": "^3.1.0",
+ "d3-time": "^3.0.0",
+ "d3-timer": "^3.0.1"
+ }
+ },
+ "node_modules/victory-vendor/node_modules/@types/d3-time": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz",
+ "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==",
+ "license": "MIT"
+ },
+ "node_modules/victory-vendor/node_modules/d3-time": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+ "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "2 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
diff --git a/package.json b/package.json
index 6b43f89..996f966 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
"lint": "next lint"
},
"dependencies": {
+ "@nivo/bar": "^0.99.0",
"@supabase/supabase-js": "^2.49.8",
"@tsparticles/engine": "^3.8.1",
"@tsparticles/react": "^3.0.0",
@@ -20,6 +21,7 @@
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-use-measure": "^2.1.7",
+ "recharts": "^2.15.3",
"tailwind-merge": "^3.3.0"
},
"devDependencies": {
From 675435e79d5f9a4e5762a3adc542b5645f7f0fd3 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Fri, 13 Jun 2025 01:57:22 +0530
Subject: [PATCH 02/15] improve charts ui
---
app/page.js | 5 +--
components/Charts.jsx | 102 +++++++++++++++++++++++-------------------
2 files changed, 58 insertions(+), 49 deletions(-)
diff --git a/app/page.js b/app/page.js
index 9663a3d..5a6e336 100644
--- a/app/page.js
+++ b/app/page.js
@@ -325,7 +325,6 @@ export default function Home() {
whileInView="show"
viewport={{ once: false, amount: 0.3 }}
>
- {/* TODO: Add metric charts here */}
{/*
-
-
-
-
- {/* */}
- {/* */}
- }
+
+
Pull Requests
+
+
-
-
-
-
+
+
+
+ }
+ >
+
+
+
+
+
);
}
export function AreaChartComponent() {
return (
-
-
-
-
-
- {/* */}
-
-
-
-
-
+
+
Campus Ambassadors
+
+
+
+
+
+
+
+
+
+
+
+
);
}
export function RadarChartComponent() {
return (
-
-
-
-
-
-
- {/* */}
- {/* */}
-
-
+
+
LinkedIn Followers
+
+
+
+
+
+
+
+
+
);
}
From 09cd439de5f53b03afed2b880d35b603dc093b08 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Fri, 13 Jun 2025 02:23:41 +0530
Subject: [PATCH 03/15] increase testimonials
---
components/Testimonials.jsx | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/components/Testimonials.jsx b/components/Testimonials.jsx
index 9f14b22..43b89be 100644
--- a/components/Testimonials.jsx
+++ b/components/Testimonials.jsx
@@ -17,6 +17,18 @@ const testimonials = [
role: "Core Team Member",
feedback: `Being part of the GSSoC core team has been an epic adventure...`,
},
+ {
+ name: "Anchal Chaturvedi",
+ imgUrl: "https://drive.google.com/uc?id=1D4rzFbw4oGlLOqZKDLOBpcNGJuvk8xDq",
+ role: "Contributor & Ambassador",
+ feedback: `Throughout this journey, all the mentors were very supportive and helpful at every step. This was the beginning of my open source journey, and I learned a lot from it.`,
+ },
+ {
+ name: "Vuppala Sai Srija",
+ imgUrl: "https://drive.google.com/uc?id=1ZV2bJWGGquPMK_NYBFSqVucHinNjArkp",
+ role: "Contributor",
+ feedback: `My journey through GSSoC'24 has been an exciting blend of learning and achievement. Although I started late due to exams, I was able to...`,
+ },
{
name: "Jeevana Maradana",
imgUrl: "https://drive.google.com/uc?id=1HJYiiz--2ILG_MueuwdflGxlcxyeAfE1",
@@ -47,6 +59,7 @@ const testimonials = [
role: "Contributor & Ambassador",
feedback: `Participating in GSSoC 2024 has been an incredibly rewarding journey...`,
},
+
];
const Testimonials = () => {
From 928c0c49c7820d9de59b097ec6627c2906a25e5f Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Sun, 15 Jun 2025 00:56:58 +0530
Subject: [PATCH 04/15] add know about GSSoC section
---
app/page.js | 84 +++++++++++++++++++++++++++++++++++++++++-
components/CountUp.jsx | 37 +++++++++++++++++++
2 files changed, 119 insertions(+), 2 deletions(-)
create mode 100644 components/CountUp.jsx
diff --git a/app/page.js b/app/page.js
index 5a6e336..d1ab03b 100644
--- a/app/page.js
+++ b/app/page.js
@@ -41,6 +41,7 @@ import { redirect } from "next/navigation";
import Testimonials from "@/components/Testimonials";
import PastSponsors from "@/components/PastSponsors";
import { AreaChartComponent, BarChartComponent, RadarChartComponent } from "@/components/Charts";
+import CountUp from '@/components/CountUp';
const containerVariants = {
hidden: {},
@@ -197,13 +198,13 @@ export default function Home() {
Founded in 2017 by Anubha Maheshwar, Girlscript is a
not-for-profit organization dedicated to making quality education
accessible for all. With a mission to empower individuals through
- learning, we’ve built a vibrant community of over 500,000
+ learning, we've built a vibrant community of over 500,000
learners. Our programs focus on skill development, mentorship, and
career guidance, bridging the gap between education and the
professional world. We collaborate with corporates and
institutions to offer real-world learning experiences, all while
staying rooted in inclusivity, humility, and community. At
- Girlscript, every learner’s growth is a shared success. Join us in
+ Girlscript, every learner's growth is a shared success. Join us in
shaping a future where education is a right—not a privilege—and
where everyone can thrive.
@@ -275,6 +276,85 @@ export default function Home() {
+ {/* TODO: Add Know about GSSoC section */}
+
+
+
+
+ Know About GirlScript Summer Of Code
+
+
+ GirlScript Summer of Code is the 3-month long Open Source program during summers conducted by GirlScript Foundation, started in 2018, to help beginners get started with Open Source Development while encouraging diversity. Throughout the program, participants contribute to different projects under the guidance of experienced mentors. Top participants get exciting goodies and opportunities.
+
+
+
+
+ {/* TODO: Add the increasing number elements section here */}
+
+
+
+ Registrations
+
+
+
+
+ Institutes
+
+
+
+
+ PRs
+
+
+
+
+ Countries
+
+
+
+
+ Participants
+
+
+
+
+ Total Projects
+
+
+
+
+
{
+ const [count, setCount] = useState(0);
+ const ref = useRef(null);
+ const isInView = useInView(ref, { once: true, amount: 0.3 });
+
+ useEffect(() => {
+ if (isInView) {
+ const controls = animate(0, end, {
+ duration: duration,
+ onUpdate: (latest) => {
+ setCount(Math.floor(latest));
+ },
+ });
+
+ return () => controls.stop();
+ }
+ }, [isInView, end, duration]);
+
+ return (
+
+ {count}{suffix}
+
+ );
+};
+
+export default CountUp;
\ No newline at end of file
From 55aaefbf36817f2b8844619c8166d58cee20da32 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Sun, 15 Jun 2025 01:23:43 +0530
Subject: [PATCH 05/15] add three more charts
---
app/page.js | 178 +++++++++++------------------
components/Charts.jsx | 252 ++++++++++++++++++++++++++++++++++++------
2 files changed, 279 insertions(+), 151 deletions(-)
diff --git a/app/page.js b/app/page.js
index d1ab03b..a7957ea 100644
--- a/app/page.js
+++ b/app/page.js
@@ -40,7 +40,7 @@ import { delay, motion, Variants } from "framer-motion";
import { redirect } from "next/navigation";
import Testimonials from "@/components/Testimonials";
import PastSponsors from "@/components/PastSponsors";
-import { AreaChartComponent, BarChartComponent, RadarChartComponent } from "@/components/Charts";
+import { AreaChartComponent, BarChartComponent, RadarChartComponent, LineChartComponent, PieChartComponent, ComposedChartComponent } from "@/components/Charts";
import CountUp from '@/components/CountUp';
const containerVariants = {
@@ -276,7 +276,6 @@ export default function Home() {
- {/* TODO: Add Know about GSSoC section */}
- {/* TODO: Add the increasing number elements section here */}
-
-
-
-
-
-
-
-
-
- Why GSSoC?
-
-
- Why You Should Take Part In GSSoC
-
-
- A new era of open source contributions and learning.
-
-
-
-
- {/*
-
-
-
-
-
- Grow Your Career
-
-
- Build Projects. Build Skills. Build Your Career
-
-
- */}
- {/*
-
-
+
+
-
-
- Maximize Your Potential
-
-
- Maximize Impact. Maximize You.
-
-
+
+
-
-
+
+
+
+
-
-
- Stand Out From The Crowd
-
-
- Contribute Boldly. Shine Brightly.
-
-
- */}
+
+
+
+
+
+
+
+
+
+ Why GSSoC?
+
+
+ Why You Should Take Part In GSSoC
+
+
+ A new era of open source contributions and learning.
+
+
- Pull Requests
+
+ Pull Requests
+
-
-
+
+
}
>
-
+
@@ -97,15 +118,47 @@ export function BarChartComponent() {
export function AreaChartComponent() {
return (
-
Campus Ambassadors
+
+ Campus Ambassadors
+
-
+
-
-
-
-
-
+
+
+
+
+
@@ -116,21 +169,150 @@ export function AreaChartComponent() {
export function RadarChartComponent() {
return (
-
LinkedIn Followers
+
+ LinkedIn Followers
+
-
-
-
-
+
+
+
);
}
+
+export function LineChartComponent() {
+ return (
+
+
+ Project Admin Registrations
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export function PieChartComponent() {
+ return (
+
+
+ Registrations From Contributors
+
+
+
+
+ `${name} ${(percent * 100).toFixed(0)}%`
+ }
+ >
+ {pullRequestsData.map((entry, index) => (
+ |
+ ))}
+
+ {/* */}
+
+
+
+ );
+}
+
+export function ComposedChartComponent() {
+ return (
+
+
+ Contributors Making It Onto Leaderboard
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
From 97df33ad1e5eec76e49a0d6855af217f7dcaa370 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Sun, 15 Jun 2025 12:08:07 +0530
Subject: [PATCH 06/15] fix charts ui & add data from brochure
---
app/page.js | 30 ++++++++++
components/Charts.jsx | 122 +++++++++++++++++++++++++++++++----------
components/CountUp.jsx | 4 +-
3 files changed, 126 insertions(+), 30 deletions(-)
diff --git a/app/page.js b/app/page.js
index a7957ea..f4f4c49 100644
--- a/app/page.js
+++ b/app/page.js
@@ -365,6 +365,11 @@ export default function Home() {
whileInView="show"
viewport={{ once: false, amount: 0.3 }}
>
+
@@ -375,6 +380,11 @@ export default function Home() {
whileInView="show"
viewport={{ once: false, amount: 0.3 }}
>
+
@@ -385,6 +395,11 @@ export default function Home() {
whileInView="show"
viewport={{ once: false, amount: 0.3 }}
>
+
@@ -395,6 +410,11 @@ export default function Home() {
whileInView="show"
viewport={{ once: false, amount: 0.3 }}
>
+
@@ -405,6 +425,11 @@ export default function Home() {
whileInView="show"
viewport={{ once: false, amount: 0.3 }}
>
+
@@ -415,6 +440,11 @@ export default function Home() {
whileInView="show"
viewport={{ once: false, amount: 0.3 }}
>
+
diff --git a/components/Charts.jsx b/components/Charts.jsx
index d0953ea..ceb842a 100644
--- a/components/Charts.jsx
+++ b/components/Charts.jsx
@@ -69,8 +69,61 @@ const linkedinFollowersData = [
},
];
+const projectAdminRegistrationsData = [
+ {
+ name: "GSSoC'23",
+ value: 18000,
+ },
+ {
+ name: "GSSoC'24",
+ value: 24000,
+ },
+ {
+ name: "GSSoC'24 Ext",
+ value: 29000,
+ },
+];
+
+const contributorsMakingItOntoLeaderboardData = [
+ {
+ name: "GSSoC'23",
+ value: 26000,
+ },
+ {
+ name: "GSSoC'24",
+ value: 31000,
+ },
+ {
+ name: "GSSoC'24 Ext",
+ value: 36000,
+ },
+];
+
+const registrationsFromContributorsData = [
+ {
+ name: "GSSoC'23",
+ value: 33000,
+ },
+ {
+ name: "GSSoC'24",
+ value: 40000,
+ },
+ {
+ name: "GSSoC'24 Ext",
+ value: 47000,
+ },
+];
+
const COLORS = ["#4C75FF", "#1A4FFF", "#A7ADFE"];
+// Format number to k format
+const formatNumber = (value) => {
+ if (value >= 1000) {
+ return `${(value / 1000).toFixed(0)}k`;
+ }
+ return value;
+};
+
export function BarChartComponent() {
return (
@@ -96,17 +149,21 @@ export function BarChartComponent() {
height={60}
tick={{ fill: "#A7ADFE", fontSize: 13 }}
/>
-
+
}
+ radius={[4, 4, 0, 0]}
+ activeBar={
}
>
@@ -121,10 +178,10 @@ export function AreaChartComponent() {
Campus Ambassadors
-
+
-
+
@@ -169,29 +231,33 @@ export function AreaChartComponent() {
export function RadarChartComponent() {
return (
-
+
LinkedIn Followers
-
+
+
-
@@ -207,12 +273,15 @@ export function LineChartComponent() {
-
-
+
+
))}
- {/* */}
@@ -283,12 +345,15 @@ export function ComposedChartComponent() {
-
-
+
+
{
return (
{count}{suffix}
From 4aa2252b7edec32c5d703642ea092a83b23961d6 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Sun, 15 Jun 2025 13:33:12 +0530
Subject: [PATCH 07/15] more change to charts and testimonials responsiveness
---
app/page.js | 5 +++--
components/Charts.jsx | 19 ++++++++++---------
components/Testimonials.jsx | 21 ++++++++++++++++-----
3 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/app/page.js b/app/page.js
index f4f4c49..1f784be 100644
--- a/app/page.js
+++ b/app/page.js
@@ -970,8 +970,9 @@ export default function Home() {
*/}
-
-
+
+
+
-
@@ -192,7 +192,7 @@ export function AreaChartComponent() {
height={60}
tick={{ fill: "#A7ADFE", fontSize: 13 }}
/>
-
@@ -248,7 +248,7 @@ export function RadarChartComponent() {
tick={{ fontSize: 13, fill: "#A7ADFE" }}
className="text-center text-sm md:text-base"
/>
-
@@ -278,7 +278,7 @@ export function LineChartComponent() {
>
-
@@ -308,7 +308,7 @@ export function PieChartComponent() {
return (
- Registrations From Contributors
+ Contributor Registrations
@@ -316,14 +316,15 @@ export function PieChartComponent() {
data={registrationsFromContributorsData}
cx="50%"
cy="50%"
+ fontSize={12}
labelLine={false}
- outerRadius={100}
+ outerRadius={60}
fill="#8884d8"
dataKey="value"
label={({ name, percent }) =>
`${name} ${(percent * 100).toFixed(0)}%`
}
- >
+ >
{pullRequestsData.map((entry, index) => (
- Contributors Making It Onto Leaderboard
+ Active Participants
-
diff --git a/components/Testimonials.jsx b/components/Testimonials.jsx
index 43b89be..257c67b 100644
--- a/components/Testimonials.jsx
+++ b/components/Testimonials.jsx
@@ -21,7 +21,7 @@ const testimonials = [
name: "Anchal Chaturvedi",
imgUrl: "https://drive.google.com/uc?id=1D4rzFbw4oGlLOqZKDLOBpcNGJuvk8xDq",
role: "Contributor & Ambassador",
- feedback: `Throughout this journey, all the mentors were very supportive and helpful at every step. This was the beginning of my open source journey, and I learned a lot from it.`,
+ feedback: `Throughout this journey, all the mentors were very supportive and helpful at every step...`,
},
{
name: "Vuppala Sai Srija",
@@ -105,7 +105,18 @@ const Testimonials = () => {
initial="hidden"
whileInView="show"
viewport={{ once: false, amount: 0.3 }}
- className="relative min-w-[500px] aspect-5/3 border border-[#131839] bg-radial from-[#003BFF24] to-[#00020F] rounded-3xl p-6 flex flex-col items-center justify-center shadow-[0_20px_50px_rgba(8,_112,_184,_0.7)] mt-32 mb-44"
+ className="
+ relative
+ min-w-[300px] max-w-[95vw] sm:min-w-[400px] md:min-w-[500px]
+ aspect-5/3
+ border border-[#131839]
+ bg-radial from-[#003BFF24] to-[#00020F]
+ rounded-3xl
+ p-3 md:p-6
+ flex flex-col items-center justify-center
+ shadow-[0_20px_50px_rgba(8,_112,_184,_0.7)]
+ mt-12 md:mt-32 mb-20 md:mb-44
+ "
>
{
|
-
+
{item.feedback}
@@ -135,8 +146,8 @@ const Testimonials = () => {
/>
-
{item.name}
-
{item.role}
+
{item.name}
+
{item.role}
From 4770acbd06ceb599bfc52117a80f857b9aede012 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Thu, 19 Jun 2025 13:53:54 +0530
Subject: [PATCH 08/15] created core team page
---
app/team/page.js | 202 ++++++++++++++++++++++++++++++++++++++++++
app/team/team-data.js | 68 ++++++++++++++
2 files changed, 270 insertions(+)
create mode 100644 app/team/page.js
create mode 100644 app/team/team-data.js
diff --git a/app/team/page.js b/app/team/page.js
new file mode 100644
index 0000000..4d0b16b
--- /dev/null
+++ b/app/team/page.js
@@ -0,0 +1,202 @@
+"use client";
+import Image from "next/image";
+import Link from "next/link";
+import { ShootingStars } from "@/components/shooting-stars";
+import { StarsBackground } from "@/components/stars-background";
+import { motion } from "framer-motion";
+import cardbg1 from "@/assets/box-bg.svg";
+import iconbg from "@/assets/icon-bg.svg";
+import twitter from "@/assets/twitter.svg";
+import linkedin from "@/assets/linkedin.svg";
+import instagram from "@/assets/instagram.svg";
+import coreTeamMembers from "./team-data";
+
+const containerVariants = {
+ hidden: {},
+ show: {
+ transition: {
+ staggerChildren: 0.2,
+ },
+ },
+};
+
+const itemVariants = {
+ hidden: { opacity: 0, scale: 0.8 },
+ show: {
+ opacity: 1,
+ scale: 1,
+ transition: { type: "spring", stiffness: 300, damping: 20 },
+ },
+};
+
+export default function TeamsPage() {
+ return (
+
+
+
+
+
+
+
+ GSSoC '25
+
+ Go Back
+
+
+
+
+
+
+
+ Our Team
+
+
+ Meet Our Core Team
+
+
+ The passionate individuals behind GirlScript Summer of Code 2025,
+ dedicated to fostering open source contributions and empowering developers worldwide.
+
+
+
+
+
+ {coreTeamMembers.map((member, index) => (
+
+
+
+ {/* Profile Image */}
+
+
+
+
+ {/* Name */}
+
+ {member.name}
+
+
+ {/* Role */}
+
+ {member.role}
+
+
+ {/* Social Links */}
+
+ {member.linkedin && (
+
+
+
+
+ )}
+
+ {member.twitter && (
+
+
+
+
+ )}
+
+ {member.instagram && (
+
+
+
+
+ )}
+
+
+ ))}
+
+
+ {/* Call to Action */}
+
+
+ Want to join our team?
+
+
+ Get In Touch
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/app/team/team-data.js b/app/team/team-data.js
new file mode 100644
index 0000000..5f1a45f
--- /dev/null
+++ b/app/team/team-data.js
@@ -0,0 +1,68 @@
+const coreTeamMembers = [
+ {
+ name: "Rakshitha C",
+ role: "App Content Writer",
+ image: "https://drive.google.com/uc?id=1iLJh49oTg1MsUcofaor9ZJXsSlo9NpYO",
+ linkedin: "https://www.linkedin.com/in/",
+ twitter: "https://x.com/",
+ instagram: "https://www.instagram.com/",
+ },
+ {
+ name: "Anjali Kushwaha",
+ role: "Graphic Design",
+ image: "https://drive.google.com/uc?id=1oHpbtpdmk0giCdZWRWwHriWmHhEugj1R",
+ linkedin: "https://www.linkedin.com/in/",
+ twitter: "https://x.com/",
+ instagram: "https://www.instagram.com/",
+ },
+ {
+ name: "Harsha Nandi",
+ role: "Program manager",
+ image: "https://drive.google.com/uc?id=1VUc-Mendd1zDtqOEgtkAAY6DlfgqOG-N",
+ linkedin: "https://www.linkedin.com/in/",
+ twitter: "https://x.com/",
+ instagram: "https://www.instagram.com/",
+ },
+ {
+ name: "Jyoti Singh",
+ role: "Content Writing",
+ image: "https://drive.google.com/uc?id=1RZSUIZSlfzwMlgLxMnQwamfYzvpV39To",
+ linkedin: "https://www.linkedin.com/in/",
+ twitter: "https://x.com/",
+ instagram: "https://www.instagram.com/",
+ },
+ {
+ name: "Kajal Biju",
+ role: "PR & Sponsorship",
+ image: "https://drive.google.com/uc?id=1H5F86uWxPNSL7NIqiCOQwHU8TcHHeg4M",
+ linkedin: "https://www.linkedin.com/in/",
+ twitter: "https://x.com/",
+ instagram: "https://www.instagram.com/",
+ },
+ {
+ name: "Karan Sewmal",
+ role: "Web Developer",
+ image: "https://drive.google.com/uc?id=17xJnI_eCENrXOtiW18LdE9cnXhJha7uG",
+ linkedin: "https://www.linkedin.com/in/",
+ twitter: "https://x.com/",
+ instagram: "https://www.instagram.com/",
+ },
+ {
+ name: "Varshitha Narra",
+ role: "PR & Sponsorship",
+ image: "https://drive.google.com/uc?id=1OtdaqN0mxAz1QQYkvUjRm1Jbeip0Io8R",
+ linkedin: "https://www.linkedin.com/in/",
+ twitter: "https://x.com/",
+ instagram: "https://www.instagram.com/",
+ },
+ {
+ name: "Varun Sai",
+ role: "Community Moderator",
+ image: "https://drive.google.com/uc?id=1IMNSHX9L6YXTewKVEHjiWJgZrkvTg61m",
+ linkedin: "https://www.linkedin.com/in/",
+ twitter: "https://x.com/",
+ instagram: "https://www.instagram.com/",
+ },
+];
+
+export default coreTeamMembers;
From 7fd9bf6a55e2554514b7e70cd015bec3c7ad1e01 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Thu, 19 Jun 2025 15:21:25 +0530
Subject: [PATCH 09/15] improve charts sections
---
app/page.js | 6 +++---
components/Charts.jsx | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/page.js b/app/page.js
index 1f784be..2f9b396 100644
--- a/app/page.js
+++ b/app/page.js
@@ -322,7 +322,7 @@ export default function Home() {
variants={itemVariants}
className="flex flex-col items-center"
>
-
+
PRs
@@ -338,7 +338,7 @@ export default function Home() {
variants={itemVariants}
className="flex flex-col items-center"
>
-
+
Participants
@@ -352,7 +352,7 @@ export default function Home() {
Date: Sat, 21 Jun 2025 11:17:28 +0530
Subject: [PATCH 10/15] create link to team page in nav & data and graph
enchancement
---
app/page.js | 86 +++++++++++++++------
app/team/page.js | 26 +------
app/team/team-data.js | 24 ++++--
components/Charts.jsx | 150 +++++++++++++++++++++++++-----------
components/PastSponsors.jsx | 2 +-
5 files changed, 189 insertions(+), 99 deletions(-)
diff --git a/app/page.js b/app/page.js
index 1f784be..4f50c07 100644
--- a/app/page.js
+++ b/app/page.js
@@ -40,8 +40,16 @@ import { delay, motion, Variants } from "framer-motion";
import { redirect } from "next/navigation";
import Testimonials from "@/components/Testimonials";
import PastSponsors from "@/components/PastSponsors";
-import { AreaChartComponent, BarChartComponent, RadarChartComponent, LineChartComponent, PieChartComponent, ComposedChartComponent } from "@/components/Charts";
-import CountUp from '@/components/CountUp';
+import {
+ AreaChartComponent,
+ BarChartComponent,
+ RadarChartComponent,
+ LineChartComponent,
+ HorizontalBarChartComponent,
+ ComposedChartComponent,
+ RadialBarChartComponent,
+} from "@/components/Charts";
+import CountUp from "@/components/CountUp";
const containerVariants = {
hidden: {},
@@ -97,6 +105,12 @@ export default function Home() {
>
Sponsor
+
+ Team
+
Apply Now
@@ -204,9 +218,9 @@ export default function Home() {
professional world. We collaborate with corporates and
institutions to offer real-world learning experiences, all while
staying rooted in inclusivity, humility, and community. At
- Girlscript, every learner's growth is a shared success. Join us in
- shaping a future where education is a right—not a privilege—and
- where everyone can thrive.
+ Girlscript, every learner's growth is a shared success. Join
+ us in shaping a future where education is a right—not a
+ privilege—and where everyone can thrive.
@@ -296,29 +310,38 @@ export default function Home() {
Know About GirlScript Summer Of Code
- GirlScript Summer of Code is the 3-month long Open Source program during summers conducted by GirlScript Foundation, started in 2018, to help beginners get started with Open Source Development while encouraging diversity. Throughout the program, participants contribute to different projects under the guidance of experienced mentors. Top participants get exciting goodies and opportunities.
+ GirlScript Summer of Code is the 3-month long Open Source program
+ during summers conducted by GirlScript Foundation, started in
+ 2018, to help beginners get started with Open Source Development
+ while encouraging diversity. Throughout the program, participants
+ contribute to different projects under the guidance of experienced
+ mentors. Top participants get exciting goodies and opportunities.
-
-
- Registrations
+
+
+ Registrations
+
-
- Institutes
+
+ Institutes
+
-
@@ -327,7 +350,7 @@ export default function Home() {
@@ -338,8 +361,10 @@ export default function Home() {
variants={itemVariants}
className="flex flex-col items-center"
>
-
- Participants
+
+
+ Linkedin Followers
+
- Total Projects
+
+ Total Projects
+
-
-
+ */}
-
+
+
+
+
+
-
-
-
+
@@ -62,7 +62,7 @@ export default function TeamsPage() {
Meet Our Core Team
-
+
The passionate individuals behind GirlScript Summer of Code 2025,
dedicated to fostering open source contributions and empowering developers worldwide.
@@ -70,7 +70,7 @@ export default function TeamsPage() {
- {/* Call to Action */}
-
-
- Want to join our team?
-
-
- Get In Touch
-
-
);
diff --git a/app/team/team-data.js b/app/team/team-data.js
index 5f1a45f..f8344cb 100644
--- a/app/team/team-data.js
+++ b/app/team/team-data.js
@@ -32,25 +32,33 @@ const coreTeamMembers = [
instagram: "https://www.instagram.com/",
},
{
- name: "Kajal Biju",
- role: "PR & Sponsorship",
- image: "https://drive.google.com/uc?id=1H5F86uWxPNSL7NIqiCOQwHU8TcHHeg4M",
+ name: "Shubhanshu Kumar",
+ role: "Web Developer",
+ image: "",
linkedin: "https://www.linkedin.com/in/",
twitter: "https://x.com/",
instagram: "https://www.instagram.com/",
},
{
- name: "Karan Sewmal",
- role: "Web Developer",
- image: "https://drive.google.com/uc?id=17xJnI_eCENrXOtiW18LdE9cnXhJha7uG",
+ name: "Varshitha Narra",
+ role: "PR & Sponsorship",
+ image: "https://drive.google.com/uc?id=1OtdaqN0mxAz1QQYkvUjRm1Jbeip0Io8R",
linkedin: "https://www.linkedin.com/in/",
twitter: "https://x.com/",
instagram: "https://www.instagram.com/",
},
{
- name: "Varshitha Narra",
+ name: "Kajal Biju",
role: "PR & Sponsorship",
- image: "https://drive.google.com/uc?id=1OtdaqN0mxAz1QQYkvUjRm1Jbeip0Io8R",
+ image: "https://drive.google.com/uc?id=1H5F86uWxPNSL7NIqiCOQwHU8TcHHeg4M",
+ linkedin: "https://www.linkedin.com/in/",
+ twitter: "https://x.com/",
+ instagram: "https://www.instagram.com/",
+ },
+ {
+ name: "Karan Sewmal",
+ role: "Web Developer",
+ image: "https://drive.google.com/uc?id=17xJnI_eCENrXOtiW18LdE9cnXhJha7uG",
linkedin: "https://www.linkedin.com/in/",
twitter: "https://x.com/",
instagram: "https://www.instagram.com/",
diff --git a/components/Charts.jsx b/components/Charts.jsx
index cf2e410..3fed3cd 100644
--- a/components/Charts.jsx
+++ b/components/Charts.jsx
@@ -22,35 +22,52 @@ import {
Pie,
Cell,
ComposedChart,
+ RadialBarChart,
+ RadialBar,
} from "recharts";
const pullRequestsData = [
{
name: "GSSoC'23",
- value: 27000,
+ value: 7000,
},
{
name: "GSSoC'24",
- value: 29000,
+ value: 18000,
},
{
name: "GSSoC'24 Ext",
- value: 36000,
+ value: 21000,
+ },
+];
+
+const mentorRegistrationsData = [
+ {
+ name: "GSSoC'23",
+ value: 180,
+ },
+ {
+ name: "GSSoC'24",
+ value: 400,
+ },
+ {
+ name: "GSSoC'24 Ext",
+ value: 700,
},
];
const campusAmbassadorsData = [
{
name: "GSSoC'23",
- value: 27000,
+ value: 100,
},
{
name: "GSSoC'24",
- value: 29000,
+ value: 700,
},
{
name: "GSSoC'24 Ext",
- value: 36000,
+ value: 1083,
},
];
@@ -158,14 +175,7 @@ export function BarChartComponent() {
fill="#4C75FF"
radius={[4, 4, 0, 0]}
activeBar={ }
- >
-
-
+ />
@@ -213,15 +223,8 @@ export function AreaChartComponent() {
fill="#A7ADFE"
fillOpacity={0.25}
strokeWidth={3}
- dot={{ r: 5, fill: "#4C75FF" }}
- >
-
-
+ dot={{ r: 3, fill: "#4C75FF" }}
+ />
@@ -296,7 +299,7 @@ export function LineChartComponent() {
dataKey="value"
stroke="#4C75FF"
strokeWidth={3}
- dot={{ r: 6, fill: "#4C75FF" }}
+ dot={{ r: 4, fill: "#4C75FF" }}
/>
@@ -304,35 +307,92 @@ export function LineChartComponent() {
);
}
-export function PieChartComponent() {
+export function HorizontalBarChartComponent() {
return (
Contributor Registrations
-
-
+
+
+
+
+
- `${name} ${(percent * 100).toFixed(0)}%`
- }
- >
- {pullRequestsData.map((entry, index) => (
- |
+ fill="#4C75FF"
+ radius={[0, 4, 4, 0]}
+ activeBar={ }
+ barSize={45}
+ />
+
+
+
+ );
+}
+
+export function RadialBarChartComponent() {
+ return (
+
+
+ Mentor Registrations
+
+
+
+
+ {mentorRegistrationsData.map((entry, index) => (
+ |
))}
-
-
+
+ {value} }
+ />
+
+
);
diff --git a/components/PastSponsors.jsx b/components/PastSponsors.jsx
index b68116b..2074e4c 100644
--- a/components/PastSponsors.jsx
+++ b/components/PastSponsors.jsx
@@ -25,7 +25,7 @@ const PastSponsors = () => {
-
+
From 1b7ab50939928e3bb26106962a552d0049137cc6 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Sat, 21 Jun 2025 16:52:10 +0530
Subject: [PATCH 11/15] update team data
---
app/team/team-data.js | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/team/team-data.js b/app/team/team-data.js
index f8344cb..b224fa0 100644
--- a/app/team/team-data.js
+++ b/app/team/team-data.js
@@ -34,9 +34,9 @@ const coreTeamMembers = [
{
name: "Shubhanshu Kumar",
role: "Web Developer",
- image: "",
- linkedin: "https://www.linkedin.com/in/",
- twitter: "https://x.com/",
+ image: "https://drive.google.com/uc?id=16_DyNu3FerMoUjeAZnVxAb4HWFndY0DR",
+ linkedin: "https://www.linkedin.com/in/shubhanshu-kumar-6a961525a/",
+ twitter: "https://x.com/Xmart_shubh?t=dzArdoZP8fDo-8JMmjJuYQ&s=09",
instagram: "https://www.instagram.com/",
},
{
From f8a15e173f410652d8cb3063a450b27fe3d08ee3 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Mon, 23 Jun 2025 11:42:59 +0530
Subject: [PATCH 12/15] more improvements and update team data
---
app/page.js | 30 +++++++-------
app/team/team-data.js | 93 +++++++++++++++++++++----------------------
components/Charts.jsx | 21 +++++-----
3 files changed, 73 insertions(+), 71 deletions(-)
diff --git a/app/page.js b/app/page.js
index 89aee85..0cd209a 100644
--- a/app/page.js
+++ b/app/page.js
@@ -320,8 +320,8 @@ export default function Home() {
-
-
+
@@ -329,9 +329,9 @@ export default function Home() {
Registrations
-
+
-
@@ -339,25 +339,25 @@ export default function Home() {
Institutes
-
+
-
PRs
-
+
-
Countries
-
+
-
@@ -365,9 +365,9 @@ export default function Home() {
Linkedin Followers
-
+
-
@@ -375,8 +375,8 @@ export default function Home() {
Total Projects
-
-
+
+
{
if (value >= 1000) {
+ if (value < 10000) {
+ return `${(value / 1000).toFixed(1)}k`;
+ }
return `${(value / 1000).toFixed(0)}k`;
}
return value;
From 44bfe44b1eef8b8f89f96e88e660dc0c3ba1797c Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Tue, 24 Jun 2025 12:21:00 +0530
Subject: [PATCH 13/15] replace chart and some minor fixes
---
app/page.js | 8 ++--
app/team/team-data.js | 2 +-
components/Charts.jsx | 80 +++++++++++++++++++++----------------
components/Testimonials.jsx | 2 +-
4 files changed, 52 insertions(+), 40 deletions(-)
diff --git a/app/page.js b/app/page.js
index 0cd209a..357d1a6 100644
--- a/app/page.js
+++ b/app/page.js
@@ -47,7 +47,7 @@ import {
LineChartComponent,
HorizontalBarChartComponent,
ComposedChartComponent,
- RadialBarChartComponent,
+ PieChartComponent,
} from "@/components/Charts";
import CountUp from "@/components/CountUp";
@@ -71,7 +71,7 @@ const itemVariants = {
export default function Home() {
return (
-
+
@@ -345,7 +345,7 @@ export default function Home() {
variants={itemVariants}
className="flex flex-col items-center"
>
-
+
PRs
@@ -487,7 +487,7 @@ export default function Home() {
alt="Background"
className="absolute right-0 top-0 w-full h-full object-cover z-10 rounded-3xl"
/>
-
+
diff --git a/app/team/team-data.js b/app/team/team-data.js
index 984ff6f..d3fb32e 100644
--- a/app/team/team-data.js
+++ b/app/team/team-data.js
@@ -11,6 +11,7 @@ const coreTeamMembers = [
name: "Varshitha Narra",
role: "PR & Sponsorship",
image: "https://drive.google.com/uc?id=1OtdaqN0mxAz1QQYkvUjRm1Jbeip0Io8R",
+ linkedin: "https://www.linkedin.com/in/varshitha-narra-a935402a0/"
},
{
name: "Kajal Biju",
@@ -31,7 +32,6 @@ const coreTeamMembers = [
role: "Web Developer",
image: "https://drive.google.com/uc?id=17xJnI_eCENrXOtiW18LdE9cnXhJha7uG",
linkedin: "https://www.linkedin.com/in/karansemwal/",
- twitter: "https://x.com/phoenicstwt",
},
{
name: "Rakshitha C",
diff --git a/components/Charts.jsx b/components/Charts.jsx
index 29c0871..aac1e93 100644
--- a/components/Charts.jsx
+++ b/components/Charts.jsx
@@ -101,18 +101,18 @@ const projectAdminRegistrationsData = [
},
];
-const contributorsMakingItOntoLeaderboardData = [
+const activeParticipants = [
{
name: "GSSoC'23",
- value: 1200,
+ value: 2000,
},
{
name: "GSSoC'24",
- value: 2700,
+ value: 7000,
},
{
name: "GSSoC'24 Ext",
- value: 4000,
+ value: 10000,
},
];
@@ -356,46 +356,58 @@ export function HorizontalBarChartComponent() {
);
}
-export function RadialBarChartComponent() {
+// Custom label for semicircle pie chart
+const renderSemiPieLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, name }) => {
+ // Calculate label position closer to the arc center
+ const RADIAN = Math.PI / 180;
+ const radius = innerRadius + (outerRadius - innerRadius) * 1.6;
+ const x = cx + radius * Math.cos(-midAngle * RADIAN);
+ const y = cy + radius * Math.sin(-midAngle * RADIAN);
+
+ return (
+
+ {name}
+
+ );
+};
+
+export function PieChartComponent() {
return (
Mentor Registrations
-
-
+
{mentorRegistrationsData.map((entry, index) => (
|
))}
-
- {value} }
- />
-
-
+
+
+
);
@@ -409,7 +421,7 @@ export function ComposedChartComponent() {
diff --git a/components/Testimonials.jsx b/components/Testimonials.jsx
index 257c67b..a59317f 100644
--- a/components/Testimonials.jsx
+++ b/components/Testimonials.jsx
@@ -129,7 +129,7 @@ const Testimonials = () => {
-
+
{item.feedback}
From 879fc0e5616b999ef6fb586c013766ebb248cc60 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Wed, 25 Jun 2025 12:19:25 +0530
Subject: [PATCH 14/15] changes to pie chart & format code
---
app/team/page.js | 14 ++---
app/team/team-data.js | 4 +-
components/Charts.jsx | 103 ++++++++++++++++++++++++++----------
components/Testimonials.jsx | 38 +++++++------
4 files changed, 107 insertions(+), 52 deletions(-)
diff --git a/app/team/page.js b/app/team/page.js
index eb70945..1725f42 100644
--- a/app/team/page.js
+++ b/app/team/page.js
@@ -63,8 +63,9 @@ export default function TeamsPage() {
Meet Our Core Team
- The passionate individuals behind GirlScript Summer of Code 2025,
- dedicated to fostering open source contributions and empowering developers worldwide.
+ The passionate individuals behind GirlScript Summer of Code 2025,
+ dedicated to fostering open source contributions and empowering
+ developers worldwide.
@@ -90,7 +91,7 @@ export default function TeamsPage() {
alt="Background"
className="absolute right-0 top-0 w-full h-full object-cover z-0 rounded-3xl"
/>
-
+
{/* Profile Image */}
)}
-
+
{member.twitter && (
)}
-
+
{member.instagram && (
))}
-
);
-}
\ No newline at end of file
+}
diff --git a/app/team/team-data.js b/app/team/team-data.js
index d3fb32e..e8ff0f5 100644
--- a/app/team/team-data.js
+++ b/app/team/team-data.js
@@ -11,7 +11,7 @@ const coreTeamMembers = [
name: "Varshitha Narra",
role: "PR & Sponsorship",
image: "https://drive.google.com/uc?id=1OtdaqN0mxAz1QQYkvUjRm1Jbeip0Io8R",
- linkedin: "https://www.linkedin.com/in/varshitha-narra-a935402a0/"
+ linkedin: "https://www.linkedin.com/in/varshitha-narra-a935402a0/",
},
{
name: "Kajal Biju",
@@ -68,7 +68,7 @@ const coreTeamMembers = [
name: "Sanya Srivastava",
role: "Community Moderator",
image: "https://drive.google.com/uc?id=1kB9z0SMJ-PLs7QBWBuujGoWj_Mvw25oC",
- linkedin: "https://www.linkedin.com/in/sanya-srivastava-s"
+ linkedin: "https://www.linkedin.com/in/sanya-srivastava-s",
},
];
diff --git a/components/Charts.jsx b/components/Charts.jsx
index aac1e93..b891897 100644
--- a/components/Charts.jsx
+++ b/components/Charts.jsx
@@ -25,6 +25,7 @@ import {
RadialBarChart,
RadialBar,
} from "recharts";
+import { useState, useEffect } from "react";
const pullRequestsData = [
{
@@ -131,7 +132,14 @@ const registrationsFromContributorsData = [
},
];
-const COLORS = ["#4C75FF", "#1A4FFF", "#A7ADFE"];
+const COLORS = [
+ "#1a365d",
+ "#2d3748",
+ "#4a5568",
+ "#2c5282",
+ "#2b6cb0",
+ "#3182ce",
+];
// Format number to k format
const formatNumber = (value) => {
@@ -356,31 +364,56 @@ export function HorizontalBarChartComponent() {
);
}
-// Custom label for semicircle pie chart
-const renderSemiPieLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, name }) => {
- // Calculate label position closer to the arc center
- const RADIAN = Math.PI / 180;
- const radius = innerRadius + (outerRadius - innerRadius) * 1.6;
- const x = cx + radius * Math.cos(-midAngle * RADIAN);
- const y = cy + radius * Math.sin(-midAngle * RADIAN);
+export function PieChartComponent() {
+ const [windowWidth, setWindowWidth] = useState(0);
- return (
-
- {name}
-
- );
-};
+ useEffect(() => {
+ const handleResize = () => {
+ setWindowWidth(window.innerWidth);
+ };
+ setWindowWidth(window.innerWidth);
+ window.addEventListener("resize", handleResize);
+ return () => window.removeEventListener("resize", handleResize);
+ }, []);
+
+ const isSmallScreen = windowWidth < 500;
+ const innerRadius = isSmallScreen ? 40 : 60;
+ const outerRadius = isSmallScreen ? 70 : 120;
+
+ const renderSemiPieLabel = ({
+ cx,
+ cy,
+ midAngle,
+ innerRadius,
+ outerRadius,
+ percent,
+ name,
+ }) => {
+ const RADIAN = Math.PI / 180;
+ const radius =
+ innerRadius + (outerRadius - innerRadius) * (isSmallScreen ? 1.7 : 0.7);
+ const x = cx + radius * Math.cos(-midAngle * RADIAN);
+ const y = cy + radius * Math.sin(-midAngle * RADIAN);
+
+ const fontSize = outerRadius <= 80 ? 8 : 2;
+
+ return (
+
+ {name} {Math.round(percent * 100)}%
+
+ );
+ };
-export function PieChartComponent() {
return (
@@ -394,8 +427,8 @@ export function PieChartComponent() {
cy="75%"
startAngle={180}
endAngle={0}
- innerRadius={60}
- outerRadius={120}
+ innerRadius={innerRadius}
+ outerRadius={outerRadius}
paddingAngle={2}
dataKey="value"
label={renderSemiPieLabel}
@@ -403,10 +436,24 @@ export function PieChartComponent() {
stroke="none"
>
{mentorRegistrationsData.map((entry, index) => (
- |
+ |
))}
-
+ [
+ `${value} mentors`,
+ props.payload.name,
+ ]}
+ />
diff --git a/components/Testimonials.jsx b/components/Testimonials.jsx
index a59317f..b1220ed 100644
--- a/components/Testimonials.jsx
+++ b/components/Testimonials.jsx
@@ -1,14 +1,13 @@
-'use client';
+"use client";
-import { useEffect, useState } from 'react';
-import { motion, useMotionValue, animate } from 'framer-motion';
-import useMeasure from 'react-use-measure';
-import Image from 'next/image';
-
-import cardbg9 from '../assets/card-bg-9.svg';
-import commas from '../assets/commas.svg';
-import stars from '../assets/stars.svg';
+import { useEffect, useState } from "react";
+import { motion, useMotionValue, animate } from "framer-motion";
+import useMeasure from "react-use-measure";
+import Image from "next/image";
+import cardbg9 from "../assets/card-bg-9.svg";
+import commas from "../assets/commas.svg";
+import stars from "../assets/stars.svg";
const testimonials = [
{
@@ -59,7 +58,6 @@ const testimonials = [
role: "Contributor & Ambassador",
feedback: `Participating in GSSoC 2024 has been an incredibly rewarding journey...`,
},
-
];
const Testimonials = () => {
@@ -82,10 +80,10 @@ const Testimonials = () => {
xTranslation,
mustFinish ? [start, finalPosition] : [0, finalPosition],
{
- ease: 'linear',
+ ease: "linear",
duration: mustFinish ? remainingDuration : duration,
repeat: mustFinish ? 0 : Infinity,
- repeatType: 'loop',
+ repeatType: "loop",
onComplete: () => {
setMustFinish(false);
setRerender(!rerender);
@@ -133,7 +131,13 @@ const Testimonials = () => {
{item.feedback}
-
+
@@ -146,8 +150,12 @@ const Testimonials = () => {
/>
-
{item.name}
-
{item.role}
+
+ {item.name}
+
+
+ {item.role}
+
From 277ce7061afaa6ba16cf65d057c5ba801e6be8f0 Mon Sep 17 00:00:00 2001
From: The-Phoenics
Date: Thu, 26 Jun 2025 12:44:01 +0530
Subject: [PATCH 15/15] add footer in teams page
---
app/team/page.js | 83 ++++++++++++++++++++++++++++++++++++++++++-
app/team/team-data.js | 2 +-
2 files changed, 83 insertions(+), 2 deletions(-)
diff --git a/app/team/page.js b/app/team/page.js
index 1725f42..5eb7242 100644
--- a/app/team/page.js
+++ b/app/team/page.js
@@ -47,7 +47,7 @@ export default function TeamsPage() {
-
+
+
+
+
+ GirlScript Summer Of Code 2025
+
+
+ Get In Touch With Us Via Email Or Social Media
+
+
+ Contact Us
+
+
+
+ {/* LinkedIn */}
+
+
+
+
+
+ {/* Twitter/X */}
+
+
+
+
+
+ {/* Instagram */}
+
+
+
+
+
+
);
}
diff --git a/app/team/team-data.js b/app/team/team-data.js
index e8ff0f5..ba152ea 100644
--- a/app/team/team-data.js
+++ b/app/team/team-data.js
@@ -41,7 +41,7 @@ const coreTeamMembers = [
},
{
name: "Jyoti Singh",
- role: "Content Writing",
+ role: "Content Writer",
image: "https://drive.google.com/uc?id=1RZSUIZSlfzwMlgLxMnQwamfYzvpV39To",
linkedin:
"https://www.linkedin.com/in/jyoti-singh-869583183?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app",