Skip to content

Commit

Permalink
updated navbar and footer social links
Browse files Browse the repository at this point in the history
  • Loading branch information
Kami840 committed Aug 13, 2024
1 parent 275f0cc commit e8805c8
Show file tree
Hide file tree
Showing 7 changed files with 231 additions and 106 deletions.
4 changes: 2 additions & 2 deletions src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import Countdwn from './components/theme_cntdwn/Countdwn';
import SidePanel from './components/left_sidebar/SidePanel';
import SponsorSection from './components/sponsor/SponsorSection';
import EventList from './components/highlights/EventList';
// import Projects from './components/project_sub/Projects';
import Projects from './components/project_sub/Projects';
import Footer from './components/footer/Footer';

const App = () => {
Expand Down Expand Up @@ -36,7 +36,7 @@ const App = () => {

{/* 8.13.2024 | emain hidden until content is updated with cohort 10 projevct submissions and replace DevPost link + discord section with winner project. */}

{/* <Projects /> */}
<Projects />

<Footer />
</div>
Expand Down
10 changes: 5 additions & 5 deletions src/components/footer/Footer.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { SOCIAL_MEDIA_LINKS } from '../../constants';

const Footer = () => {
return (
<div className="mb-8 mt-20">
<section className="mb-8 mt-20" id="community">
<div className="flex items-center justify-center">
<img src={logo} width={200} className="my-10" alt="Logo" />
<img src={logo} width={200} className="my-6" alt="Logo" />
</div>
<div className="flex items-center justify-center gap-8">
{SOCIAL_MEDIA_LINKS.map((item, index) => (
Expand All @@ -14,10 +14,10 @@ const Footer = () => {
</a>
))}
</div>
<p className="mt-8 text-center text-sm tracking-wide text-gray-400">
&copy; compileTab. All rights reserved.
<p className="mt-5 text-center text-sm tracking-wide text-gray-400">
&copy; All rights reserved.
</p>
</div>
</section>
);
};

Expand Down
93 changes: 56 additions & 37 deletions src/components/hero_sec/Hero.jsx
Original file line number Diff line number Diff line change
@@ -1,50 +1,69 @@
// The hero section for landing page
import { HERO } from '../../constants/index';
import temp from '../../assets/temp.png';
import banner from '../../assets/banner.png';
import './Hero.css';
import { motion } from 'framer-motion';

const Hero = () => {
return (
// Hero banner contain description on leftside and img rightside using flex-box with flex-strap property. If viewed on mobile device than orientation of description top and img bottom.
<section className="flex flex-col min-h-screen items-center">
{/* Banner */}
<img src={banner}
alt="Hackathon theme banner" className="w-full mt-14" />

// Hero banner containing description on the left side and image on the right side using flex-box with flex-wrap property.
// If viewed on a mobile device, the orientation changes to description on top and image on the bottom.

{/* Greet Section */}
<div className="w-full text-center mt-5 ">
<h1 className="p-2 text-3xl font-extrabold md:text-4xl lg:text-5xl">
{HERO.greet}
</h1>
</div>
//id="welcome" is used to scroll to the welcome section when the user clicks on the welcome link in the navbar.
<section className="flex flex-col min-h-screen items-center" id="welcome">
{/* Banner */}
<img src={banner} alt="Hackathon theme banner" className="w-full mt-14" />

{/* Hero Content */}
<div className="flex flex-col md:flex-row w-full items-center">
{/* Description Section */}
<div className="w-full md:w-1/2 flex flex-col items-center md:items-start p-4">
<h2 className="mb-4 text-2xl font-medium tracking-tighter lg:text-4xl">
{HERO.intro}
</h2>
<div className="left-scrollbar-container">
<p className="text-base left-scrollbar text-left">
{HERO.description}
</p>
{/* Greet Section */}
<motion.div
initial={{ opacity: 0, x: -50 }}
animate={{ opacity: 1, x: 0 }}
transition={{ duration: 1 }}
className="w-full text-center mt-5"
>
<h1 className="p-2 text-3xl font-extrabold md:text-4xl lg:text-5xl">
{HERO.greet}
</h1>
</motion.div>

{/* Hero Content */}
<motion.div
initial={{ opacity: 0, x: -50 }}
animate={{ opacity: 1, x: 0 }}
transition={{ duration: 1 }}
className="flex flex-col md:flex-row w-full items-center mt-10"
>
{/* Description Section */}
<div className="w-full md:w-1/2 flex flex-col items-center md:items-start p-4">
<h2 className="mb-4 text-2xl font-medium tracking-tighter lg:text-4xl">
{HERO.intro}
</h2>
<div className="left-scrollbar-container">
<p className="text-base left-scrollbar text-left">
{HERO.description}
</p>
</div>
</div>
</div>

{/* Image Section */}
<div className="w-full md:w-1/2 flex justify-center p-4">
<img
src={temp}
alt="CTP 2024 Cohort 10 group photo"
className="rounded-3xl object-cover w-full max-w-full h-auto md:h-96"
/>
</div>
</div>
</section>
);
{/* Image Section */}
<motion.div
initial={{ opacity: 0, scale: 0.8 }}
animate={{ opacity: 1, scale: 1 }}
transition={{ duration: 1 }}
className="w-full md:w-1/2 flex justify-center p-4 mt-6 md:mt-0"
>
<motion.img
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 1 }}
src={temp}
alt="CTP 2024 Cohort 10 group photo"
className="rounded-3xl object-cover w-full max-w-full h-auto md:h-96"
/>
</motion.div>
</motion.div>
</section>
);
};

export default Hero;
export default Hero;
20 changes: 9 additions & 11 deletions src/components/highlights/EventList.jsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
import React from 'react';

const EventList = () => {
const events = [
{ date: 'AUG 19', title: 'Hackathon Orientation', time: 'Mon 10:00am - 10:45am', duration: '45mins' },
{ date: 'AUG 19', title: 'Hackathon 101', time: 'Mon 11:00am - 11:45am', duration: '45mins' },
{ date: 'AUG 19', title: 'How to use GitHub', time: 'Mon 1:00pm - 2:00pm', duration: '1hr' },
{ date: 'AUG 19', title: 'Basics of Software Development Lifecycle', time: 'Mon 3:00pm - 4:00pm', duration: '1hr' },
{ date: 'AUG 19', title: 'Panels Discussion: Navigating Careers in Data Science, AI, & Entrepreneurship', time: 'Mon 5:00pm - 6:00pm', duration: '1hr' },
{ date: 'AUG 20', title: 'Introduction to React and API Integration', time: 'Tues 10:00am - 11:00am', duration: '1hr' },
{ date: 'AUG 20', title: 'How to Network and Build Connections on LinkedIn', time: 'Tues 11:00am - 12:00pm', duration: '1hr' },
{ date: 'AUG 20', title: 'Introduction to React and API Integration', time: 'Tue 10:00am - 11:00am', duration: '1hr' },
{ date: 'AUG 20', title: 'How to Network and Build Connections on LinkedIn', time: 'Tue 11:00am - 12:00pm', duration: '1hr' },
{ date: 'AUG 20', title: 'Build, host, and deploy webapps in 10min with Python', time: 'Tue 12:30pm - 1:30pm', duration: '1hr' },
{ date: 'AUG 20', title: 'CTP Alumni Talk: Crafting Effective Teams ', time: 'Tues 3:00pm - 4:00pm', duration: '1hr' },
{ date: 'AUG 20', title: 'Recruiting Q/A Office Hour: Lyft', time: 'Tues 5:00pm - 6:00pm', duration: '1hr' },
{ date: 'AUG 20', title: 'CTP Alumni Talk: Crafting Effective Teams', time: 'Tue 3:00pm - 4:00pm', duration: '1hr' },
{ date: 'AUG 20', title: 'Recruiting Q/A Office Hour: Lyft', time: 'Tue 5:00pm - 6:00pm', duration: '1hr' },
];

return (
Expand All @@ -34,11 +32,11 @@ const EventList = () => {
</div>

{/* Right Side: Event List */}
<div className="flex-1 bg-white bg-opacity-20 backdrop-blur-sm p-4 rounded-lg shadow-lg md:ml-4 mt-4 md:mt-0 h-80 overflow-y-auto">
<section className="flex-1 bg-white bg-opacity-20 backdrop-blur-sm p-4 rounded-lg shadow-lg md:ml-4 mt-4 md:mt-0 h-80 overflow-y-auto" id="highlights">
<h3 className="text-2xl font-bold mb-4 text-white">Workshops Schedule</h3>
<ul className="space-y-4">
{events.map((event, index) => (
<li key={index} className="border-b border-gray-600 pb-4">
{events.map((event) => (
<li key={`${event.date}-${event.title}`} className="border-b border-gray-600 pb-4">
<div className="grid grid-cols-12 gap-2 items-center text-white">
<div className="col-span-2 text-pink-500 font-bold text-lg">
{event.date}
Expand All @@ -54,9 +52,9 @@ const EventList = () => {
</li>
))}
</ul>
</div>
</section>
</div>
);
};

export default EventList;
export default EventList;
46 changes: 35 additions & 11 deletions src/components/project_sub/Projects.jsx
Original file line number Diff line number Diff line change
@@ -1,40 +1,64 @@
import { PROJECTS } from "../../constants/index";
import { MdArrowOutward } from "react-icons/md";
import { motion } from "framer-motion";

const Projects = () => {
return (
//id="projects" is used to scroll to the projects section when the user clicks on the projects link in the navbar.
<section className="pt-20" id="projects">
<h2 className="mb-12 text-center text-4xl lg:text-5xl font-extrabold tracking-tight text-gray-200">
<motion.h2
initial={{ opacity: 0, y: -20 }}
whileInView={{ opacity: 1, y: 0 }}
transition={{ duration: 0.8 }}
className="mb-12 text-center text-3xl sm:text-4xl lg:text-5xl font-extrabold tracking-tight text-gray-200">
Projects
</h2>
</motion.h2>

<div className="grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3 px-4 md:px-8">
{/* project contents found in constants folder in index.jsx */}
{PROJECTS.map((project) => (
<div key={project.id} className="group relative overflow-hidden rounded-3xl shadow-lg transition-shadow hover:shadow-2xl">
<img
<motion.div
initial={{ opacity: 0, scale: 0.9 }}
whileInView={{ opacity: 1, scale: 1 }}
transition={{ duration: 0.5 }}
whileHover={{ scale: 1.05 }}
key={project.id}
className="group relative overflow-hidden rounded-3xl shadow-lg transition-shadow hover:shadow-2xl"
>
<motion.img
whileHover={{ scale: 1.1 }}
src={project.image}
alt={project.name}
className="h-full w-full object-cover transition-transform duration-500 group-hover:scale-105 rounded-3xl"
/>

<div className="absolute inset-0 flex flex-col items-center justify-center text-white opacity-0 backdrop-blur-md transition-opacity duration-500 group-hover:opacity-100 bg-black/50 rounded-3xl">
<h3 className="mb-4 text-2xl font-semibold uppercase tracking-wide">{project.name}</h3>
<p className="mb-8 px-6 text-sm md:text-base leading-relaxed">{project.description}</p>
<motion.div
initial={{ opacity: 0 }}
whileHover={{ opacity: 1 }}
transition={{ duration: 0.5 }}
className="absolute inset-0 flex flex-col items-center justify-center text-white opacity-0 backdrop-blur-md transition-opacity duration-500 group-hover:opacity-100 bg-black/50 rounded-3xl"
>
<h3 className="mb-4 text-lg sm:text-xl md:text-2xl font-semibold uppercase tracking-wide">
{project.name}
</h3>
<p className="mb-8 px-6 text-xs sm:text-sm md:text-base leading-relaxed">
{project.description}
</p>
<a
href={project.githubLink}
target="_blank"
rel="noopener noreferrer"
className="flex items-center rounded-full bg-white text-black px-6 py-3 font-semibold hover:bg-gray-300 transition-all duration-300"
className="flex items-center rounded-full bg-white text-black px-4 py-2 font-semibold hover:bg-gray-300 transition-all duration-300 text-sm md:text-base"
>
<span>View on Github</span>
<MdArrowOutward className="ml-2" />
</a>
</div>
</div>
</motion.div>
</motion.div>
))}
</div>
</section>
);
}

export default Projects;

Loading

0 comments on commit e8805c8

Please sign in to comment.