diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 3631b9a..6f96885 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -57,6 +57,7 @@ "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/generator": "^7.28.6", @@ -1439,6 +1440,7 @@ "integrity": "sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -1480,6 +1482,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1585,6 +1588,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -1786,6 +1790,7 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -2749,6 +2754,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -2809,6 +2815,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -3059,6 +3066,7 @@ "resolved": "https://registry.npmjs.org/rolldown-vite/-/rolldown-vite-7.2.5.tgz", "integrity": "sha512-u09tdk/huMiN8xwoiBbig197jKdCamQTtOruSalOzbqGje3jdHiV0njQlAW0YvzoahkirFePNQ4RYlfnRQpXZA==", "license": "MIT", + "peer": true, "dependencies": { "@oxc-project/runtime": "0.97.0", "fdir": "^6.5.0", @@ -3181,6 +3189,7 @@ "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index ae8e702..651bf8f 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,5 +1,7 @@ import { useState, useEffect } from 'react'; import AboutUs from './components/AboutUs'; +import WhyKshitij from './components/WhyKshitij'; + function App() { const words = ['Inside', 'Within', 'Deeper', 'Godward']; @@ -106,7 +108,18 @@ function App() { {/* About Us Section with Boat Animation */} - + {/* Shared Forest Background */} +
+
+ + +
+
+ + ); diff --git a/frontend/src/components/AboutUs.jsx b/frontend/src/components/AboutUs.jsx index b018c97..54c26de 100644 --- a/frontend/src/components/AboutUs.jsx +++ b/frontend/src/components/AboutUs.jsx @@ -5,33 +5,37 @@ const AboutUs = () => { const [hoveredBubble, setHoveredBubble] = useState(null); return ( -
- {/* Background Image */} -
- - {/* Bubbles Container */} -
+
+ + {/* Section Overlay for Readability */} +
+ +
{/* Instruction Text */}

- About Us + About{" "} + + Us +

+
+

Three seekers. Three sparks of purpose. - Hover over the bubbles to uncover our Mission, our Vision, and the Values that light our way. + Hover over the{" "} + + bubbles + {" "} + to uncover our Mission, our Vision, and the Values that light our way.

- {/* Bubble 1 - Left Person (Mission) */} + {/* Bubble 1 - Mission */}
setHoveredBubble('mission')} @@ -40,10 +44,9 @@ const AboutUs = () => { Mission Bubble - {/* Mission Content */} {hoveredBubble === 'mission' && (
@@ -57,7 +60,7 @@ const AboutUs = () => { )}
- {/* Bubble 2 - Center Person (Vision) */} + {/* Bubble 2 - Vision */}
setHoveredBubble('vision')} @@ -66,11 +69,10 @@ const AboutUs = () => { Vision Bubble - {/* Vision Content */} {hoveredBubble === 'vision' && (
@@ -84,7 +86,7 @@ const AboutUs = () => { )}
- {/* Bubble 3 - Right Person (Values) */} + {/* Bubble 3 - Values */}
setHoveredBubble('values')} @@ -93,11 +95,10 @@ const AboutUs = () => { Values Bubble - {/* Values Content */} {hoveredBubble === 'values' && (
@@ -148,3 +149,4 @@ const AboutUs = () => { }; export default AboutUs; + diff --git a/frontend/src/components/whykshitij.jsx b/frontend/src/components/whykshitij.jsx new file mode 100644 index 0000000..2e41ca5 --- /dev/null +++ b/frontend/src/components/whykshitij.jsx @@ -0,0 +1,103 @@ +import { useState } from "react"; +import { Leaf, Brain, BookOpen, Users, Landmark, Sparkles } from "lucide-react"; + +const items = [ + { icon: Leaf, title: "Live Your Potential", desc: "Discover purpose and inner strength." }, + { icon: Brain, title: "Inner Peace", desc: "Calm your mind amid college chaos." }, + { icon: BookOpen, title: "Spiritual Knowledge", desc: "Wisdom from the Gita & Upanishads." }, + { icon: Users, title: "Community", desc: "Walk the spiritual journey together." }, + { icon: Landmark, title: "Heritage Exploration", desc: "Explore sacred Odisha sites." }, + { icon: Sparkles, title: "Divine Connection", desc: "Experience devotion and transformation." } +]; + +export default function WhyKshitij() { + const [open, setOpen] = useState(false); + + const radius = 260; // distance of cards from center + + return ( +
+ + {/* soft overlay for readability on forest */} +
+ +
+ + {/* Title */} +

+ Why KSHITIJ +

+ + {/* Main container */} +
+ + {/* Cards */} + {items.map((item, index) => { + + const angle = (index / items.length) * 2 * Math.PI; + + const x = open ? radius * Math.cos(angle) : 0; + const y = open ? radius * Math.sin(angle) : 0; + + const Icon = item.icon; + + return ( +
+
+ + + +

{item.title}

+ +

{item.desc}

+ +
+
+ ); + })} + + {/* Vintage Treasure Chest */} +
setOpen(!open)} + className="relative cursor-pointer flex flex-col items-center group" + > + + {/* Chest Lid */} +
+ + {/* Chest Body */} +
+ + Kshitij Logo + +
+ +
+ +
+ +
+
+ ); +} + + + + + +