diff --git a/.gitignore b/.gitignore index 5ef6a52..e2764f9 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,6 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts + +# clerk configuration (can include secrets) +/.clerk/ diff --git a/app/Gallery/page.tsx b/app/Gallery/page.tsx new file mode 100644 index 0000000..cf8114b --- /dev/null +++ b/app/Gallery/page.tsx @@ -0,0 +1,64 @@ +"use client"; + +import React from "react"; +import Image from "next/image"; +import { motion } from "framer-motion"; +import NavBar from "../NavBar/page"; +import Footer from "../Footer/page"; + +const Gallery = () => { + return ( +
+ + +
+ +

+ Our Gallery +

+

+ Explore our collection of memorable moments and achievements +

+
+ +
+ +
+ Gallery Image + +
+

Capturing our journey of innovation and collaboration

+
+
+
+
+ +
+ ); +}; + +export default Gallery; diff --git a/app/NavBar/page.tsx b/app/NavBar/page.tsx index af68d7e..ca93f9e 100644 --- a/app/NavBar/page.tsx +++ b/app/NavBar/page.tsx @@ -1,7 +1,7 @@ "use client" import * as React from "react" -import { Home, User, AppWindowIcon, LogInIcon } from "lucide-react" +import { Home, User, AppWindowIcon, LogInIcon, ImageIcon } from "lucide-react" import { AnimeNavBar } from "@/components/ui/anime-navbar" const items = [ @@ -22,7 +22,14 @@ const items = [ url: "/App", href: "#", icon: AppWindowIcon, - },{ + }, + { + name: "Gallery", + url: "/Gallery", + href: "#", + icon: ImageIcon, + }, + { name: "Login", url: "/sign-in", href: "#", diff --git a/app/Team/page.tsx b/app/Team/page.tsx index 2a7f86a..69f2d3f 100644 --- a/app/Team/page.tsx +++ b/app/Team/page.tsx @@ -6,7 +6,8 @@ import { DialogTrigger, DialogTitle } from "@/components/ui/dialog"; -import { Menu } from "lucide-react"; +import { Menu, ChevronLeft, ChevronRight } from "lucide-react"; +import { motion, AnimatePresence } from "framer-motion"; import Link from "next/link"; import json from "./team.json"; import { Button } from "@/components/ui/button"; @@ -14,9 +15,11 @@ import { Mail } from "lucide-react"; import { TwitterLogoIcon, LinkedInLogoIcon, GitHubLogoIcon,InstagramLogoIcon } from "@radix-ui/react-icons"; import Footer from "../Footer/page"; import NavBar from "../NavBar/page"; +import { useIsMobile } from "@/hooks/use-mobile"; const Team = () => { const teamArray = json.teamArray; + const isMobile = useIsMobile(); const Gen = [ { label: "President", key: "p" }, @@ -27,84 +30,95 @@ const Team = () => { ]; const [selectedGen, setSelectedGen] = useState("p"); + + // Navigate to prev/next generation + const navigateGeneration = (direction: 'prev' | 'next') => { + const currentIndex = Gen.findIndex(g => g.key === selectedGen); + if (direction === 'prev') { + const newIndex = currentIndex <= 0 ? Gen.length - 1 : currentIndex - 1; + setSelectedGen(Gen[newIndex].key); + } else { + const newIndex = currentIndex >= Gen.length - 1 ? 0 : currentIndex + 1; + setSelectedGen(Gen[newIndex].key); + } + }; return (
- - {/* Mobile Header with Generations Dropdown */} -
-
- {/* */} - - - - - - Select Team Generation -
- {Gen.map((gen) => ( - - ))} -
-
-
-
-
- - {/* Main Content Area */} -
+ + + {Gen.find(g => g.key === selectedGen)?.label} + + + + + + )} + {/* Main Content Area */} +
{/* Desktop Sidebar */} -
- {/* */} -
+
+
{Gen.map((gen) => ( ))}
-
- - {/* Team Members Grid */} -
-
- {teamArray.filter(member => member.gen === selectedGen).map(member => ( -
{/* Team Members Grid */} +
+
+ {teamArray.filter(member => member.gen === selectedGen).map(member => (
{member.name} -
-

+ className="h-36 w-36 rounded-full object-cover border-4 border-gray-200 dark:border-neutral-700" + />
+

{member.name}

{member.role && ( -

+

{member.role}

)} -
+
{member.tw && (
))}
-
-

+
{/* Footer */}