diff --git a/app/(default)/page.tsx b/app/(default)/page.tsx index bf8595d..0e9af01 100644 --- a/app/(default)/page.tsx +++ b/app/(default)/page.tsx @@ -4,6 +4,7 @@ export const metadata = { }; import Hero from "@/components/hero"; +import WhatWeDo from "@/components/whatwedo"; import Domains from "@/components/domains"; import "../css/additional-styles/landing.css"; import Activities from "@/components/activities"; @@ -14,13 +15,15 @@ import EventComponent from "@/components/eventcards"; import Leads from "@/components/leads"; import Achievements from '@/components/achievements'; import Founder from "@/components/founder"; -// import Announce from "@/components/announcement"; +import Share from "@/components/share"; export default function Home() { return ( <> + +
{/* - + {/* */} + ); } diff --git a/components/ActivityCard.tsx b/components/ActivityCard.tsx index d1fc31d..87e5a1b 100644 --- a/components/ActivityCard.tsx +++ b/components/ActivityCard.tsx @@ -12,45 +12,49 @@ interface ActivityCardProps { export default function ActivityCard({...props}: ActivityCardProps) { return ( -
-
-
-
- +
+
+
+
+ +
+

+ {props.Subtitle} +

+

+ {props.Description} +

-

{props.Subtitle}

-

- {props.Description} -

-
-
-
- +
+
+ +
-
); } \ No newline at end of file diff --git a/components/achievements.tsx b/components/achievements.tsx index 3dff8ac..53fb503 100644 --- a/components/achievements.tsx +++ b/components/achievements.tsx @@ -11,7 +11,9 @@ function Achievements() { return ( <>
-

Achievements

+

+ Achievements +

@@ -20,4 +22,4 @@ function Achievements() { ); } -export default Achievements; +export default Achievements; \ No newline at end of file diff --git a/components/activities.tsx b/components/activities.tsx index 0a62115..f0ffca3 100644 --- a/components/activities.tsx +++ b/components/activities.tsx @@ -11,7 +11,7 @@ interface ActivityData { } const activityData: ActivityData[] = [ - { Title: "Competitive Programming", Subtitle: "PB Hustle", Image: "/images/cp.jpeg", Description: "Point Blank has organized over 40+ editions of its PB Hustle coding contest, where participants solve 5-7 increasingly difficult problems in their preferred programming language. The contest aims to enhance the programming culture in colleges and help teams qualify for the ACM ICPC. Impressively, DSCE's leading programmers have risen through this platform, with participation in the CodeChef Long Challenge expanding from just 3 to over 70+ participants." }, + { Title: "CP Contests", Subtitle: "PB Hustle", Image: "/images/cp.jpeg", Description: "Point Blank has organized over 40+ editions of its PB Hustle coding contest, where participants solve 5-7 increasingly difficult problems in their preferred programming language. The contest aims to enhance the programming culture in colleges and help teams qualify for the ACM ICPC. Impressively, DSCE's leading programmers have risen through this platform, with participation in the CodeChef Long Challenge expanding from just 3 to over 70+ participants." }, { Title: "Development", Subtitle: "PB Chronicles", Image: "/images/dev.jpg", Description: "Point Blank has hosted over 100+ workshops, covering a wide range of topics including open source, DevOps, machine learning, placement preparation, data structures and algorithms, and mobile and web development, among others. These workshops are typically conducted in an informal and unscripted manner, though we do document some of our most significant sessions. One notable example is our primer on F/OSS development." }, { Title: "Hackathons", Subtitle: "Smart India Hackathon", Image: "/images/hack.jpg", Description: "Each year, we organize the internal round of the Smart India Hackathon. In the 2020 edition, over 300+ individuals from DSCE participated. Two of our teams advanced to the finals, with one emerging as the winner of the software edition. Along with this, teams from Point Blank have won hackathons all across the city and country." }, { Title: "Cybersecurity", Subtitle: "PB CTF", Image: "/images/ctf.jpg", Description: "We organize workshops and sessions on various topics in cybersecurity, including hands-on practice on different platforms. In 2023, we launched the first in-house Capture The Flag event, PBCTF, which attracted over 70+ participants." }, @@ -20,25 +20,22 @@ const activityData: ActivityData[] = [ export default function Activities() { return ( - <> -
-

Activities

-
- -
- { - activityData.map((value, index) => { - return ( - - ) - }) - } -
- +<> +
+

Activities

+
+
+ {activityData.map((value, index) => ( + + ))} +
+ ); } diff --git a/components/domains.tsx b/components/domains.tsx index 2b66a5d..679a772 100644 --- a/components/domains.tsx +++ b/components/domains.tsx @@ -64,21 +64,19 @@ const Card = ({ img, name }: { img: string; name: string }) => { export default function Domains() { return ( -
-

- Domains We Explore +
+

+ Domains we ❤️

-

- Our club covers a wide range of interests and fields, bringing unique - perspectives and expertise to every project! +

+ Our club covers a wide range of interests and fields, bringing unique perspectives and expertise to every project!

+ {domains.map((domain) => ( ))} -
-
); -} +} \ No newline at end of file diff --git a/components/eventcards.tsx b/components/eventcards.tsx index 41fd8f7..208925b 100644 --- a/components/eventcards.tsx +++ b/components/eventcards.tsx @@ -29,9 +29,9 @@ const EventComponent = () => { return ( <>
-

Events

-
- We organise lots of student centric activities +

Events

+
+ We organise lots of student-centric activities
@@ -59,4 +59,4 @@ const EventComponent = () => { ); }; -export default EventComponent; +export default EventComponent; \ No newline at end of file diff --git a/components/founder.tsx b/components/founder.tsx index a1aa7ab..ab4e811 100644 --- a/components/founder.tsx +++ b/components/founder.tsx @@ -1,7 +1,7 @@ import Image from 'next/image'; import React from 'react'; -export default function Teams() { +export default function Teams() { const teamData = [ { url: '/images/founder1.png', @@ -22,29 +22,33 @@ export default function Teams() { return (
-
+
-
-
-

Our Founding Members

+
+
+

+ Our Founding Members +

-

- Point Blank started as a project by three friends who wanted to induce a change by providing a platform for like minded smart students to come together and learn from each other. +

+ Point Blank started as a project by three friends who wanted to induce a change by providing a platform for like-minded, smart students to come together and learn from each other.

-
+
{teamData.map((member, index) => ( -
+
{member.name} -
-

{member.name}

-

+

+

+ {member.name} +

+

{member.description}

diff --git a/components/hero.tsx b/components/hero.tsx index 6c49251..710573b 100644 --- a/components/hero.tsx +++ b/components/hero.tsx @@ -3,38 +3,36 @@ import Link from "next/link"; import Image from "next/image"; import FlickeringGrid from "@/components/magicui/flickering-grid"; import { cn } from "@/lib/server/utils"; +import TypingAnimation from "@/components/ui/typing-animation"; import "../app/css/additional-styles/landing.css"; + export default function Hero() { return (
-
-
-
-
-
+
+
+
+
- Logo

- We are a student run tech community at Dayananda Sagar - College of Engineering, Bangalore. We aim to provide a - platform for students to learn, grow and innovate. + We are a student-run tech-community
+ from Dayananda Sagar College of Engineering.

-
= ({ squareSize = 4, gridGap = 6, - flickerChance = 0.3, + flickerChance = 0.5, color = "rgb(0, 0, 0)", width, height, @@ -170,7 +170,7 @@ const FlickeringGrid: React.FC = ({ return ( {displayText.map((letter, i) => ( {letter.toUpperCase()} diff --git a/components/magicui/sparkles-text.tsx b/components/magicui/sparkles-text.tsx index 693c16b..e116e47 100644 --- a/components/magicui/sparkles-text.tsx +++ b/components/magicui/sparkles-text.tsx @@ -49,7 +49,7 @@ interface SparklesTextProps { sparklesCount?: number; /** - * @default "{first: '#9E7AFF', second: '#FE8BBB'}" + * @default "{first: '#FFFFFF', second: '#00c853'}" * @type string * @description * The colors of the sparkles @@ -62,7 +62,7 @@ interface SparklesTextProps { const SparklesText: React.FC = ({ text, - colors = { first: "#9E7AFF", second: "#FE8BBB" }, + colors = { first: "#FFFFFF", second: "#00c853" }, className, sparklesCount = 10, ...props diff --git a/components/share.tsx b/components/share.tsx new file mode 100644 index 0000000..41660bf --- /dev/null +++ b/components/share.tsx @@ -0,0 +1,70 @@ +import Image from 'next/image'; // Assuming you are using next/image for optimization + +export default function Share() { + return ( +
+
+

+ Stay Connected +

+
+
+
+ {/* Card 1 */} +
+
+ {/* Replace the src with the actual Slack logo you use */} + Slack Logo +
+

Follow us on Linkedin

+

+ We post about upcoming events, activities, and other cool stuff on Instagram. +

+ + Follow Us + +
+ + {/* Card 2 */} +
+
+ {/* Replace with GitHub logo */} + Insta Logo +
+

Follow Us On Instagram

+

+ We post about upcoming events, activities, and other cool stuff on Instagram. +

+ + Follow Us + +
+ + {/* Card 3 */} +
+
+

📄 Brochure

+
+

Download our Brochure

+

+ We have listed all of recent events, activities, and other stats in our brochure. +

+ + Download Now + +
+
+
+
+ ); +} \ No newline at end of file diff --git a/components/ui/typing-animation.tsx b/components/ui/typing-animation.tsx new file mode 100644 index 0000000..b9cbd72 --- /dev/null +++ b/components/ui/typing-animation.tsx @@ -0,0 +1,46 @@ +"use client"; + +import { useEffect, useState } from "react"; + +import { cn } from "@/lib/server/utils"; + +interface TypingAnimationProps { + text: string; + duration?: number; + className?: string; +} + +export default function TypingAnimation({ + text, + duration = 200, + className, +}: TypingAnimationProps) { + const [displayedText, setDisplayedText] = useState(""); + const [i, setI] = useState(0); + + useEffect(() => { + const typingEffect = setInterval(() => { + if (i < text.length) { + setDisplayedText(text.substring(0, i + 1)); + setI(i + 1); + } else { + clearInterval(typingEffect); + } + }, duration); + + return () => { + clearInterval(typingEffect); + }; + }, [duration, i]); + + return ( +

+ {displayedText ? displayedText : text} +

+ ); +} diff --git a/components/whatwedo.tsx b/components/whatwedo.tsx new file mode 100644 index 0000000..8d16965 --- /dev/null +++ b/components/whatwedo.tsx @@ -0,0 +1,57 @@ +import Image from "next/image"; +import logo from "@/public/images/alien.webp"; + +export default function WhatWeDo() { + return ( +
+
+
+ {/* Left Column */} +
+

+ Our Mission, together. +

+

+ In Point Blank, we believe in the concept of no spoon-feeding. We are here to help you learn and grow together. We are a community of coders, hackers, developers, and tech enthusiasts passionate about technology and learning. +

+ {/* List of Values */} +
+
+
1
+
+

Connect with other coders

+

+ Have a coding question? Looking for project feedback? Just hit the Pseudorandom group chat. +

+
+
+
+
2
+
+

Want to learn something new?

+

+ We have a variety of people willing to help you learn new things. Dont just ask how to get started, ask what to do next. +

+
+
+
+
3
+
+

Feeling bored?

+

+ We are not just about coding. We are also a group of friends who love to play games, going out on trips, and having fun. +

+
+
+
+
+ + {/* Right Column with Image */} +
+ Logo +
+
+
+
+ ); +} \ No newline at end of file diff --git a/public/brochure.pdf b/public/brochure.pdf new file mode 100644 index 0000000..6d73f4d Binary files /dev/null and b/public/brochure.pdf differ diff --git a/public/images/alien.webp b/public/images/alien.webp new file mode 100644 index 0000000..c992f8c Binary files /dev/null and b/public/images/alien.webp differ diff --git a/public/images/ig.png b/public/images/ig.png new file mode 100644 index 0000000..cdd0785 Binary files /dev/null and b/public/images/ig.png differ diff --git a/public/images/ln.png b/public/images/ln.png new file mode 100644 index 0000000..8029eac Binary files /dev/null and b/public/images/ln.png differ diff --git a/public/images/v.gif b/public/images/v.gif new file mode 100644 index 0000000..808d4ca Binary files /dev/null and b/public/images/v.gif differ