Skip to content

Commit

Permalink
Merge branch 'main' into minor-changes
Browse files Browse the repository at this point in the history
  • Loading branch information
aahnik authored Jul 23, 2024
2 parents f9b608a + bef763f commit f048ed9
Show file tree
Hide file tree
Showing 10 changed files with 392 additions and 18 deletions.
Binary file added public/icons/favicon.ico
Binary file not shown.
Binary file added public/team/abhishek_sahay.webp
Binary file not shown.
7 changes: 4 additions & 3 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,10 @@ export default function RootLayout({
return (
<html lang="en" className={GeistSans.className}>
<head>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
<link href="https://fonts.googleapis.com/css2?family=Exo:ital,wght@0,100..900;1,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet" />
<link rel="preconnect" href="https://fonts.googleapis.com"/>
<link rel="preconnect" href="https://fonts.gstatic.com"/>
<link href="https://fonts.googleapis.com/css2?family=Exo:ital,wght@0,100..900;1,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet"/>
<link rel="icon" href="/icons/favicon.ico" type="image/x-icon" />
</head>

<body>
Expand Down
2 changes: 2 additions & 0 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import SessionTypes from '@components/SessionTypes';
// import Outcomes from '@components/Outcomes';
import KeyComponents from '@components/KeyComponents';
import Partners from '@components/Partners';
import { Schedule } from '@components/Schedule';

const Outcomes = dynamic(() => import('@components/Outcomes'), { ssr: false });
const Hackathon = dynamic(() => import('@components/Hackathon'), { ssr: false });
Expand All @@ -21,6 +22,7 @@ export default function Page() {
<Partners />
<Speakers />
<SessionTypes />
<Schedule />
<KeyComponents />
<Hackathon />
<Outcomes />
Expand Down
32 changes: 26 additions & 6 deletions src/components/Footer.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export default function Footer() {
<div className="flex pl-4 justify-start mt-2">
<a
className="flex items-center text-gray-300 hover:text-white mr-6 no-underline"
href="#"
href="https://www.linkedin.com/company/web3ssh/"
>
<svg
xmlns="http://www.w3.org/2000/svg"
Expand All @@ -59,19 +59,39 @@ export default function Footer() {
</a>
<a
className="flex items-center text-gray-300 hover:text-white mr-6 no-underline"
href="#"
href="https://x.com/web3ssh"
>
<svg
viewBox="0 0 24 24"
className="fill-current w-8 h-8"
xmlns="http://www.w3.org/2000/svg"
x="0px"
y="0px"
width="40"
height="40"
viewBox="0 0 48 48"
>
<path d="M23.954 4.569a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.691 8.094 4.066 6.13 1.64 3.161a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.061a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.937 4.937 0 004.604 3.417 9.868 9.868 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63a9.936 9.936 0 002.46-2.548l-.047-.02z" />
<path
fill="#D7D7D7"
fill-rule="evenodd"
d="M38,42H10c-2.209,0-4-1.791-4-4V10c0-2.209,1.791-4,4-4h28 c2.209,0,4,1.791,4,4v28C42,40.209,40.209,42,38,42z"
clip-rule="evenodd"
></path>
<path
fill="#000"
d="M34.257,34h-6.437L13.829,14h6.437L34.257,34z M28.587,32.304h2.563L19.499,15.696h-2.563 L28.587,32.304z"
></path>
<polygon
fill="#000"
points="15.866,34 23.069,25.656 22.127,24.407 13.823,34"
></polygon>
<polygon
fill="#000"
points="24.45,21.721 25.355,23.01 33.136,14 31.136,14"
></polygon>
</svg>
</a>
<a
className="flex items-center text-gray-300 hover:text-white no-underline"
href="#"
href="https://github.com/web3ssh-iiits"
>
<svg
viewBox="0 0 24 24"
Expand Down
6 changes: 4 additions & 2 deletions src/components/Hackathon.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ export default function Hackathon() {
>
<WobbleCard
containerClassName="col-span-1 lg:col-span-2 h-full bg-pink-800 min-h-[500px] lg:min-h-[300px]"
className=""
className="cursor-pointer"
>
<a href="https://web3ssh.devfolio.co/">
<div className="max-w-xs">
<h2 className="text-left text-balance text-4xl lg:text-6xl font-sans font-semibold tracking-[-0.015em] text-white">
7th to 9th August
Expand All @@ -30,7 +31,8 @@ export default function Hackathon() {
src="/graphics/code_cup.webp"
alt="linear demo image"
className="w-[240px] absolute -right-5 -bottom-1 object-contain rounded-2xl"
/>
/>
</a>
</WobbleCard>
<WobbleCard containerClassName="col-span-1 min-h-[300px]">
<h2 className="max-w-80 text-left text-balance text-4xl lg:text-6xl font-semibold tracking-[-0.015em] text-white">
Expand Down
4 changes: 2 additions & 2 deletions src/components/Navbar.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,12 @@ export default function Navbar() {
</li>
<li>
<a href="https://x.com/web3ssh" target="_blank">
<img style={socialIconStyle} src={XIcon.src} alt="Linkedin" />
<img style={socialIconStyle} src={XIcon.src} alt="X" />
</a>
</li>
<li>
<a href="https://www.instagram.com/web3ssh/" target="_blank">
<img style={socialIconStyle} src={Instagram.src} alt="Linkedin" />
<img style={socialIconStyle} src={Instagram.src} alt="Instagram" />
</a>
</li>
</ul>
Expand Down
93 changes: 93 additions & 0 deletions src/components/Schedule.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
'use client';
import { BookIcon, ClipboardIcon, Clock, HammerIcon, UsersIcon } from 'lucide-react';
import React, { useState } from 'react';
import scheduleData from '../data/schedule.json';

const sessionTypes = {
keynote: {
icon: <BookIcon className="h-5 w-5" />,
title: 'Keynote Session',
},
theory: {
icon: <ClipboardIcon className="h-5 w-5" />,
title: 'Fundamental Theory',
},
workshop: {
icon: <HammerIcon className="h-5 w-5" />,
title: 'Hands-on Workshop',
},
panel: {
icon: <UsersIcon className="h-5 w-5" />,
title: 'Panel Discussion',
},
};

export const Schedule = () => {

const [activeDate, setActiveDate] = useState('July 29');

return (
<section id="schedule" className="mx-auto px-4 md:px-8 max-w-screen-xl py-2 md:py-16 pt-20">
<div>
<h1 className="text-center md:text-left font-bold text-4xl md:text-6xl tracking-wide leading-tight">
<span className="text-white">Schedule</span>
</h1>
</div>
<div className="flex gap-4 md:gap-8 mt-8 justify-start md:justify-around max-w-[90vw] overflow-auto">
{Object.keys(scheduleData).map((date, index) => (
<div key={date} onClick={() => setActiveDate(date)}>
<div className={`ml-2 text-gray-200 text-base md:text-xl font-bold py-2 px-4 bg-gradient-to-l from-gray-900 to-cyan-900 rounded-tl-xl ${activeDate === date ? 'bg-cyan-700' : ''}`}>
Day {index + 1}
</div>
<a href={`#schedule-${date.replace(/ /g, '-')}`} className={`py-3 px-4 w-[170px] text-base md:text-lg tracking-wide inline-block font-semibold text-white ${activeDate === date ? 'bg-[#222]' : ' backdrop-blur-sm bg-black bg-opacity-20'} rounded-tl-lg rounded-bl-lg border-white transition-all duration-300`}>
<span className="flex items-center justify-center">{date}</span>
</a>
</div>
))}
</div>
<div className="mt-10">
{scheduleData[activeDate].map((event, index) => (
<div key={index} className="flex">
<div className={`flex border-r-2 border-white border-opacity-50 ${event.first ? '' : 'pt-3'} ${event.last ? '' : 'pb-3'}`}>
<div className="w-32 md:w-48 items-center justify-between flex rounded-l-lg bg-gradient-to-r backdrop-blur-sm bg-black bg-opacity-20">
<div className="ml-2 md:ml-4">
<div className="text-white font-bold text-base md:text-xl">{event.time}</div>
<div className="text-gray-100 text-sm md:text-base">{event.date}</div>
</div>
<div className="w-2 md:w-4 border-t-2 border-white border-opacity-40"></div>
</div>
</div>
<div className={`backdrop-blur-sm bg-black bg-opacity-20 flex-1 rounded-r-lg ${event.first ? '' : 'mt-3'} ${event.last ? '' : 'mb-3'}`}>
<div className="flex py-2 md:py-2 px-1 md:px-2 items-center gap-2 md:gap-4 my-4">
<div className="flex flex-col mx-3 md:mx-0 items-center md:items-start text-center md:text-start">
<div className="text-white font-bold text-lg md:text-2xl md:mx-4 my-3">{event.title}</div>
<div className="flex flex-wrap w-full items-center md:items-start justify-center md:justify-start gap-3">
{event.speakers && event.speakers.map((speaker, idx) => (
<div key={idx} className="mt-1 md:mt-2 flex flex-col md:flex-row items-center">
<div className="flex items-center justify-center border-2 rounded-full border-white border-opacity-50 w-20 h-20 mx-4 overflow-hidden">
<img src={speaker.image} alt="img" className="text-5xl" />
</div>
<div className=' flex flex-col items-center md:items-start justify-center'>
<div className="text-white font-semibold text-base md:text-xl">{speaker.name}</div>
<div className="text-gray-100 text-sm md:text-base">{speaker.company}</div>
</div>
</div>
))}
</div>
<div className=' flex'>
{event.sessionType && (<div className='text-white flex items-center gap-1 bg-gray-800 bg-opacity-60 backdrop-blur-sm w-fit p-2 rounded-2xl ml-4 mt-3 border border-white border-opacity-50 '>
{sessionTypes[event.sessionType].icon} <h3>{sessionTypes[event.sessionType].title}</h3>
</div>)}
{event.duration && (<div className='text-white flex items-center gap-1 bg-gray-800 bg-opacity-60 backdrop-blur-sm w-fit p-2 rounded-2xl ml-4 mt-3 border border-white border-opacity-50 '>
<Clock /> <h3>{event.duration}</h3>
</div>)}
</div>
</div>
</div>
</div>
</div>
))}
</div>
</section>
);
};
10 changes: 5 additions & 5 deletions src/data/outcomes.json
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
[
{
"title": "Mastery of Web Development",
"text": "Mastery of Web Development with React/Svelte and Node/Bun",
"text": "Mastering Web Development with hands-on React, Svelte, Node, and Bun",
"graphics": "/graphics/mastery.webp"
},
{
"title": "In-depth Understanding",
"text": "In-depth Understanding of Blockchain and Web3 Technology",
"text": "Comprehensive Understanding of Blockchain and Web3 Technologies",
"graphics": "/graphics/learning_lit.webp"
},
{
"title": "Practical Experience",
"text": "Practical Experience with Decentralized Apps (DApps) and Decentralized Finance (DeFi)",
"text": "Hands-on Experience with DApps and Decentralized Finance (DeFi)",
"graphics": "/graphics/experience.webp"
},
{
"title": "Personalized Code Reviews",
"text": "Personalized Code Reviews and Peer Learning Sessions",
"text": "Individualized Code Reviews and Collaborative Learning Sessions",
"graphics": "/graphics/reviews.webp"
},
{
"title": "Certificate of Completion",
"text": "Certificate of Completion and Web 3.0 Handbook for all participants",
"text": "Certificate of Completion and a Web 3.0 Handbook for all developers",
"graphics": "/graphics/certificate.webp"
}
]
Loading

0 comments on commit f048ed9

Please sign in to comment.