diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 3631b9a..238817f 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "@tailwindcss/vite": "^4.1.18", + "framer-motion": "^12.34.0", "lucide-react": "^0.564.0", "react": "^19.2.0", "react-dom": "^19.2.0", @@ -2053,6 +2054,33 @@ "dev": true, "license": "ISC" }, + "node_modules/framer-motion": { + "version": "12.34.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.34.0.tgz", + "integrity": "sha512-+/H49owhzkzQyxtn7nZeF4kdH++I2FWrESQ184Zbcw5cEqNHYkE5yxWxcTLSj5lNx3NWdbIRy5FHqUvetD8FWg==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.34.0", + "motion-utils": "^12.29.2", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2616,6 +2644,21 @@ "node": "*" } }, + "node_modules/motion-dom": { + "version": "12.34.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.34.0.tgz", + "integrity": "sha512-Lql3NuEcScRDxTAO6GgUsRHBZOWI/3fnMlkMcH5NftzcN37zJta+bpbMAV9px4Nj057TuvRooMK7QrzMCgtz6Q==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.29.2" + } + }, + "node_modules/motion-utils": { + "version": "12.29.2", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.29.2.tgz", + "integrity": "sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A==", + "license": "MIT" + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -2996,8 +3039,7 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD", - "optional": true + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", diff --git a/frontend/package.json b/frontend/package.json index 4ecbec8..d93b84e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,6 +11,7 @@ }, "dependencies": { "@tailwindcss/vite": "^4.1.18", + "framer-motion": "^12.34.0", "lucide-react": "^0.564.0", "react": "^19.2.0", "react-dom": "^19.2.0", diff --git a/frontend/public/BACKGROUND.png b/frontend/public/BACKGROUND.png new file mode 100644 index 0000000..98492e4 Binary files /dev/null and b/frontend/public/BACKGROUND.png differ diff --git a/frontend/public/WWDBGM.png b/frontend/public/WWDBGM.png new file mode 100644 index 0000000..1ec1ed5 Binary files /dev/null and b/frontend/public/WWDBGM.png differ diff --git a/frontend/public/WhatWeDoBG.png b/frontend/public/WhatWeDoBG.png new file mode 100644 index 0000000..228bb6a Binary files /dev/null and b/frontend/public/WhatWeDoBG.png differ diff --git a/frontend/public/WweDoBg.png b/frontend/public/WweDoBg.png new file mode 100644 index 0000000..4c060a6 Binary files /dev/null and b/frontend/public/WweDoBg.png differ diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index ae8e702..af37f5c 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,5 +1,6 @@ import { useState, useEffect } from 'react'; import AboutUs from './components/AboutUs'; +import WhatWeDo from './components/WhatWeDo'; function App() { const words = ['Inside', 'Within', 'Deeper', 'Godward']; @@ -107,6 +108,7 @@ function App() { {/* About Us Section with Boat Animation */} + ); diff --git a/frontend/src/components/WhatWeDo.jsx b/frontend/src/components/WhatWeDo.jsx new file mode 100644 index 0000000..9c4cad5 --- /dev/null +++ b/frontend/src/components/WhatWeDo.jsx @@ -0,0 +1,153 @@ +import { useState } from "react"; +import { motion, AnimatePresence } from "framer-motion"; +import { BookOpen, Sparkles, Brain, Music2, HeartPulse, Landmark } from "lucide-react"; + +const activities = [ + { title: "Discussions on Vedic Literatures", icon: BookOpen, description: "Explore timeless wisdom and philosophy for modern life." }, + { title: "Spiritual Sessions", icon: Sparkles, description: "Guided practices for awareness, clarity and inner peace." }, + { title: "Meditation Sessions", icon: Brain, description: "Improve focus and calmness through meditation training." }, + { title: "Singing Mantras", icon: Music2, description: "Group chanting creating a powerful positive vibration." }, + { title: "Yoga & Breathwork", icon: HeartPulse, description: "Balance body and mind through yogic practices." }, + { title: "Heritage Exploration", icon: Landmark, description: "Discover sacred culture and spiritual traditions." }, +]; + +const container = { + hidden: {}, + show: { transition: { staggerChildren: 0.12 } } +}; + +const item = { + hidden: { opacity: 0, y: 40 }, + show: { opacity: 1, y: 0, transition: { duration: 0.7, ease: "easeOut" } } +}; + +export default function WhatWeDo() { + const [active, setActive] = useState(null); + + return ( + + + {/* DARK OVERLAY */} + + + {/* HERO TITLE */} + + + + + What We{" "} + + Do + + + + + Activities designed to nurture knowledge, peace and spiritual growth through meaningful experiences. + + + + + + {/* ACTIVITIES GRID */} + + {activities.map((act, i) => { + const Icon = act.icon; + + return ( + setActive(i)} + whileHover={{ y: -12 }} + className="group cursor-pointer relative rounded-3xl p-[1px] bg-gradient-to-br from-white/30 via-white/10 to-transparent" + > + + + + + + + + + + {act.title} + + + + {act.description} + + + + + + ); + })} + + + {/* MODAL */} + + {active !== null && ( + setActive(null)} + > + e.stopPropagation()} + className="max-w-xl w-full rounded-[36px] bg-gradient-to-b from-black/90 to-black/70 border border-white/20 p-10 text-center shadow-[0_20px_80px_rgba(0,0,0,0.8)]" + > + {(() => { + const Icon = activities[active].icon; + return ( + + + + + + + {activities[active].title} + + + + {activities[active].description} + + + setActive(null)} + className="mt-4 px-8 py-3 rounded-xl bg-yellow-300 text-black font-semibold hover:bg-yellow-200 transition" + > + Close + + + ); + })()} + + + )} + + + ); +}
+ Activities designed to nurture knowledge, peace and spiritual growth through meaningful experiences. +
+ {act.description} +
+ {activities[active].description} +