diff --git a/src/pages/About/About.tsx b/src/pages/About/About.tsx index 04af2048..13a2bc78 100644 --- a/src/pages/About/About.tsx +++ b/src/pages/About/About.tsx @@ -1,25 +1,70 @@ -import { motion } from "framer-motion"; -import { Lightbulb, Users, Settings, Search } from "lucide-react"; +import { useState, useRef } from "react"; +import { motion, AnimatePresence } from "framer-motion"; +import { Lightbulb, Users, Settings, Search, Check, X } from "lucide-react"; const features = [ { icon: , title: "Simple Issue Tracking", description: "Track your GitHub issues seamlessly with intuitive filters and search options.", + details: { + description: "Optimize your productivity with a streamlined and powerful issue tracker. Filter, search, and manage your workload efficiently.", + bullets: [ + { title: "Smart filtering", text: "Filter by author, label, assignee, state, and milestone." }, + { title: "Fast issue search", text: "Find any issue instantly with our optimized full-text indexing." }, + { title: "Organized workflows", text: "Keep track of your open, closed, and in-progress tasks easily." }, + ] + } }, { icon: , title: "Team Collaboration", description: "Collaborate with your team in real-time, manage issues and pull requests effectively.", + details: { + description: "Empower your development team to work better together with deep GitHub integration and real-time coordination tools.", + bullets: [ + { title: "Real-time updates", text: "Never miss a state change or comment with live updates synced to GitHub." }, + { title: "Shared discussions", text: "Collaborate on issues directly through structured discussions and threads." }, + { title: "Pull request coordination", text: "Link issues to pull requests and see status updates at a glance." }, + ] + } }, { icon: , title: "Customizable Settings", description: "Customize your issue tracking workflow to match your team's needs.", + details: { + description: "Tailor the platform to fit your individual preferences or your team's development workflows.", + bullets: [ + { title: "Theme preferences", text: "Switch between dark mode, light mode, and system defaults." }, + { title: "Workflow customization", text: "Define custom columns, workflow states, and automated labels." }, + { title: "Notification controls", text: "Configure email, desktop, or in-app alerts for relevant issue updates." }, + ] + } }, ]; const About = () => { + const [activeIdx, setActiveIdx] = useState(null); + const detailRef = useRef(null); + + const handleCardClick = (idx: number) => { + setActiveIdx((prev) => { + const next = prev === idx ? null : idx; + if (next !== null) { + setTimeout(() => { + if (detailRef.current) { + detailRef.current.scrollIntoView({ + behavior: "smooth", + block: "nearest", + }); + } + }, 150); + } + return next; + }); + }; + return (
@@ -49,6 +94,7 @@ const About = () => { initial={{ opacity: 0, y: 10 }} whileInView={{ opacity: 1, y: 0 }} transition={{ duration: 0.5 }} + viewport={{ once: true }} >

Our Mission

@@ -64,20 +110,112 @@ const About = () => {

What We Do

- {features.map((feature, idx) => ( - -
{feature.icon}
-

{feature.title}

-

{feature.description}

-
- ))} + {features.map((feature, idx) => { + const isActive = activeIdx === idx; + return ( + handleCardClick(idx)} + onKeyDown={(e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleCardClick(idx); + } + }} + > +
{feature.icon}
+

{feature.title}

+

{feature.description}

+
+ ); + })} +
+ + {/* Detailed Expandable Section */} +
+ + {activeIdx !== null && ( + +
+ {/* Premium visual gradient top bar */} +
+ + {/* Close Button */} + + + {/* Content Layout */} +
+
+ {features[activeIdx].icon} +
+
+

{features[activeIdx].title}

+

+ {features[activeIdx].details.description} +

+ + {/* Bullet Points Grid */} +
+ {features[activeIdx].details.bullets.map((bullet, bIdx) => ( +
+
+ +
+
+

+ {bullet.title} +

+

+ {bullet.text} +

+
+
+ ))} +
+
+
+
+ + )} +