diff --git a/app/components/benefits/Benefits.tsx b/app/components/benefits/Benefits.tsx new file mode 100644 index 0000000..7d503a4 --- /dev/null +++ b/app/components/benefits/Benefits.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { BENEFITS_HOME_DATA, BenefitsHomeType } from './benefits-data'; +import BenefitsCard from './BenefitsCard'; +import { Button } from '@/components/ui/button'; +import Link from 'next/link'; + +const Benefits = () => { + return ( +
+
+

+ Level Up with Flushing Tech +

+

Member Benefits

+
+ +
+ {BENEFITS_HOME_DATA.map(({ title, description, icon }: BenefitsHomeType, index) => ( +
+ +
+ ))} +
+ +
+ + + +
+
+ ); +}; + +export default Benefits; diff --git a/app/components/benefits/BenefitsCard.tsx b/app/components/benefits/BenefitsCard.tsx new file mode 100644 index 0000000..e8745e0 --- /dev/null +++ b/app/components/benefits/BenefitsCard.tsx @@ -0,0 +1,19 @@ + +import React from 'react'; +import { BenefitsHomeType } from './benefits-data'; + +const BenefitsCard = ({ title, description, icon }: BenefitsHomeType) => { + const Icon = icon; + + return ( +
+
+ +
+

{title}

+

{description}

+
+ ); +}; + +export default BenefitsCard; diff --git a/app/components/benefits/benefits-data.ts b/app/components/benefits/benefits-data.ts new file mode 100644 index 0000000..53e7a8d --- /dev/null +++ b/app/components/benefits/benefits-data.ts @@ -0,0 +1,83 @@ +import { RocketIcon, Users, FileText, LucideIcon } from "lucide-react"; + +export type BenefitsType = { + title: string; + description: string; +}; + +export type BenefitsHomeType = { + title: string; + description: string; + icon: LucideIcon; +} + +export const BENEFITS_HOME_DATA: BenefitsHomeType[] = [ + { + title: "Rapid Skill Growth", + description: "Sharpen your coding skills and learn new technologies fast by working on real-world challenges in a supportive, high-energy environment.", + icon: RocketIcon, + }, + { + title: "Collaborative Networking", + description: "Meet other passionate developers, designers, and entrepreneurs. Build lasting connections that can lead to future projects, jobs, or startup ideas.", + icon: Users, + }, + { + title: "Build Your Portfolio", + description: "Create tangible projects you can showcase to employers or clients. Every hackathon is a chance to walk away with a new portfolio piece and more experience.", + icon: FileText, + }, +]; + +export const BENEFITS_DATA: BenefitsType[] = [ + { + title: "Collaborative Hackathons", + description: + "Join hands-on coding events where you can brainstorm, build, and launch creative projects with like-minded individuals.", + }, + { + title: "Real-World Experience", + description: + "Gain practical development experience by working on real projects under time constraints — just like in tech jobs.", + }, + { + title: "Meet Developers & Creators", + description: + "Connect with developers, designers, and tech enthusiasts from Flushing and beyond. Expand your circle and make new friends.", + }, + { + title: "Learn by Doing", + description: + "Whether you're a beginner or experienced, you'll level up by solving problems, debugging, and shipping ideas fast.", + }, + { + title: "Get Inspired", + description: + "Hear from guest speakers, mentors, and fellow hackers about their journeys. Leave every event with new motivation.", + }, + { + title: "Build Your Portfolio", + description: + "Add hackathon projects to your GitHub and resume — show employers what you’ve created, not just what you know.", + }, + { + title: "Team Up with Others", + description: + "Find teammates with complementary skills. Designers, coders, product thinkers — build something awesome together.", + }, + { + title: "Win Prizes & Recognition", + description: + "Compete for cool prizes and earn recognition from local businesses, mentors, and peers.", + }, + { + title: "Stay Ahead of Trends", + description: + "Explore new tools, frameworks, and APIs. Hackathons are a playground for trying out cutting-edge tech.", + }, + { + title: "Supportive Community", + description: + "No gatekeeping, just good vibes. Whether you’re building your first app or tenth, you’re welcome here.", + }, +]; diff --git a/app/page.tsx b/app/page.tsx index 523fd32..50e600a 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -4,6 +4,7 @@ import HeroComponent from "@/components/components-hero" import ProjectsComponent from "@/components/components-projects" import ConnectWithUsComponent from "@/components/components-connect-with-us" import FooterComponent from "@/components/components-footer" +import Benefits from "./components/benefits/Benefits" export default function Homepage() { return ( @@ -11,7 +12,8 @@ export default function Homepage() { + ) -} \ No newline at end of file +} diff --git a/components/ui/button.tsx b/components/ui/button.tsx index 957392b..cda1a28 100644 --- a/components/ui/button.tsx +++ b/components/ui/button.tsx @@ -20,13 +20,13 @@ const buttonVariants = cva( ghost: "hover:bg-accent hover:text-accent-foreground", link: "text-primary underline-offset-4 hover:underline", }, - size: { - default: "h-9 px-6", - sm: "h-8 px-3 text-xs", - lg: "h-12 px-8 text-lg", - xl: "h-16 w-64 px-10 text-2xl", - icon: "h-9 w-9", - }, + size: { + default: "h-9 px-6", + sm: "h-8 px-3 text-xs", + lg: "h-12 px-8 text-lg", + xl: "h-16 px-6 sm:px-10 text-lg sm:text-2xl", + icon: "h-9 w-9", + }, }, defaultVariants: { variant: "default",