Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: first iteration of the AACOT'23 website implementation #157

Merged
merged 57 commits into from
Aug 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
31c0669
added the navbar
AceTheCreator Jul 21, 2023
e2771fd
added header component
AceTheCreator Jul 24, 2023
f0efe1e
adding venues section
AceTheCreator Jul 24, 2023
db63e67
added venue component
AceTheCreator Jul 24, 2023
3120364
implementing speakers section
AceTheCreator Jul 24, 2023
cacdf76
added speakers section
AceTheCreator Jul 24, 2023
2848f23
added sponsors section
AceTheCreator Jul 24, 2023
bade150
adding subscription section
AceTheCreator Jul 24, 2023
663e2fe
added subscription component
AceTheCreator Jul 24, 2023
3df51ba
completed landing page
AceTheCreator Jul 24, 2023
7376172
enhancing globe
AceTheCreator Jul 24, 2023
7ad93be
adding city countdown change
AceTheCreator Jul 24, 2023
e332d5b
made screen adapts to large screens
AceTheCreator Jul 26, 2023
a071b8d
making page responsive
AceTheCreator Jul 26, 2023
60eeedf
added navbar responsiveness
AceTheCreator Jul 26, 2023
0d8d53b
added text typ
AceTheCreator Jul 26, 2023
35e3da6
added dropdown
AceTheCreator Jul 26, 2023
18693ed
fixing speakers card
AceTheCreator Jul 26, 2023
db7c8ea
adding madrid info
AceTheCreator Jul 26, 2023
7bde2d4
added active speakers
AceTheCreator Jul 26, 2023
f3b448f
added venue page
AceTheCreator Jul 26, 2023
27acda7
fixed navlink
AceTheCreator Jul 26, 2023
3dc9f2a
added corresponding image url
AceTheCreator Jul 26, 2023
e54bc58
adding scrollspy
AceTheCreator Jul 26, 2023
ae7e925
added scroll support for index page
AceTheCreator Jul 26, 2023
9a97437
added scroll effect to venues page
AceTheCreator Jul 26, 2023
d463afc
Merge branch 'master' of github.com:AceTheCreator/conference-website …
AceTheCreator Jul 26, 2023
c97726b
fixed merge conflict
AceTheCreator Jul 26, 2023
c187d0d
fixed nextjs hybrid import issue
AceTheCreator Jul 27, 2023
19ca01a
removed unused packages
AceTheCreator Jul 27, 2023
085ede3
fixed broken link
AceTheCreator Jul 27, 2023
d936af5
link fix
AceTheCreator Jul 27, 2023
d547a37
missing pd
AceTheCreator Jul 27, 2023
77e8c63
.
AceTheCreator Jul 27, 2023
29e3813
fixed slides count
AceTheCreator Jul 27, 2023
d446e72
Update components/About/about.js
AceTheCreator Jul 28, 2023
5793be7
Update components/About/about.js
AceTheCreator Jul 28, 2023
9f576a1
Update components/About/about.js
AceTheCreator Jul 28, 2023
de53fc3
Update config/city-lists.json
AceTheCreator Jul 28, 2023
39aa10f
Update config/city-lists.json
AceTheCreator Jul 28, 2023
8657a96
added suggested changes
AceTheCreator Jul 28, 2023
2e872aa
made subscription form functional
AceTheCreator Jul 28, 2023
a4690f0
minor fix
AceTheCreator Jul 28, 2023
6f614e1
missing paris description
AceTheCreator Jul 28, 2023
cea5c8b
added suggested changes
AceTheCreator Aug 1, 2023
f93587f
testing netlify form
AceTheCreator Aug 3, 2023
76a8956
added missing tag
AceTheCreator Aug 3, 2023
47b9c46
removed action tag
AceTheCreator Aug 3, 2023
d672a7c
added suggested changes
AceTheCreator Aug 7, 2023
ccfca2f
Merge branch 'master' of github.com:AceTheCreator/conference-website …
AceTheCreator Aug 7, 2023
0ba9d7d
fixed typo
AceTheCreator Aug 7, 2023
1cd76a4
more suggested changes
AceTheCreator Aug 7, 2023
66aa6ad
added missing links
AceTheCreator Aug 7, 2023
b9aa877
.
AceTheCreator Aug 7, 2023
3ddad12
Added suggested changes
AceTheCreator Aug 7, 2023
5f06c2d
more suggested changes
AceTheCreator Aug 8, 2023
1f5235f
title to default color
AceTheCreator Aug 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions components/About/about.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import React from 'react'
import Heading from '../Typography/heading';
import Paragraph from '../Typography/paragraph';

function About() {
return (
<div className='relative overflow-hidden h-[900px] lg:h-full'>
<img src='/img/sun.png' className='bg-03' />
<div className='pt-[160px] lg:py-[100px] container flex items-center justify-center w-full'>
<div className='w-[1120px] lg:w-full flex lg:flex-col-reverse items-center justify-between'>
<div
className='w-[500px] h-[500px] lg:w-[350px] lg:h-[350px] lg:mt-10 border p-10 card-bg'
style={{
borderRadius: '100%',
}}
>
<img src='/img/hand.png' className='w-[660px]' />
</div>
<div className='w-[600px] ml-10 lg:ml-0 lg:w-full lg:text-center'>
<Heading className='text-white'>
About AsyncAPI Conf on Tour 2023?
</Heading>
<Paragraph typeStyle='md' className="lg:mt-10" >
The AsyncAPI Conf on Tour 2023 is planned to take the online
event to the next level by hosting physical events in four
different locations across the globe. Each location will feature
its own keynote speakers, panels, and networking events,
allowing attendees to experience the conference in person while
still connecting with the larger global community.
</Paragraph>
</div>
</div>
</div>
</div>
);
}

export default About
23 changes: 23 additions & 0 deletions components/Agenda/agenda.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import React from 'react'
import Heading from '../Typography/heading'
import Paragraph from '../Typography/paragraph'

function Agenda() {
return (
<div className='container flex flex-col justify-center items-center'>
<Heading className='text-[30px] text-white'>
Agenda
</Heading>
<Paragraph className='mt-[16px]'>
The conference will commence at 8:00am BST (UTC+1)
</Paragraph>
<div className='w-[720px] lg:w-full mt-[140px] text-center'>
<Heading typeStyle='lg' className='text-white text-[30px]'>
Agendas Coming Soon - Stay Tuned!
</Heading>
</div>
</div>
);
}

export default Agenda
12 changes: 12 additions & 0 deletions components/Buttons/button.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import React from 'react'

function Button({className, children, overlay, onClick}) {
return (
<button
onClick={onClick}
className={`${overlay ? '' : 'gradient-bg'} text-white h-[54px] rounded-md p-[8px] ${className}`}
>{children}</button>
);
}

export default Button
103 changes: 103 additions & 0 deletions components/Countdown/countdown.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
import React, { useEffect, useRef, useState } from 'react';
import Countdown from 'react-countdown';

const dates = [
{
name: 'London, UK',
date: 'September 26, 2023',
},
{
name: 'Madrid, Spain',
date: 'October 19, 2023',
},
{
name: 'Bangalore, India',
date: 'November 30, 2023',
},
];

function Countdowns() {
const [selectedIndex, setSelectedIndex] = useState(0);

const locationRef = useRef(null);
const dateRef = useRef(null);
useEffect(() => {
const intervalId = setInterval(() => {
locationRef.current.classList.remove('hidden');
locationRef.current.classList.add('home-title');
dateRef.current.classList.remove('hidden');
dateRef.current.classList.add('home-title');
setSelectedIndex((prevIndex) => (prevIndex + 1) % dates.length);
setTimeout(() => {
locationRef.current.classList.remove('home-title');
locationRef.current.classList.add('hidden');
dateRef.current.classList.remove('home-title');
dateRef.current.classList.add('hidden');
}, 9900); // Element stays visible for 800 milliseconds
}, 10000); // Toggle visibility every 1500 milliseconds

return () => {
clearInterval(intervalId);
};
}, []);

const renderer = ({ days, hours, minutes, seconds, completed }) => {
if (completed) {
// Render a completed state
return '';
} else {
// Render a countdown
return (
<div
className='home-title flex items-center w-[200px] sm:w-[100px] justify-between'
ref={dateRef}
>
<div>
<span className='glitch text-white text-[30px] sm:text-[18px]'>
{days}:
</span>
{/* <p className='text-lg mt-[30px]'>Days</p> */}
</div>
<div>
<span className='glitch text-white text-[30px] sm:text-[18px]'>
{hours}:
</span>
{/* <p className='text-lg mt-[30px]'>Hours</p> */}
</div>
<div>
<span className='glitch text-white text-[30px] sm:text-[18px]'>
{minutes}:
</span>
{/* <p className='text-lg mt-[30px]'>Minutes</p> */}
</div>
<div>
<span className='glitch text-white text-[30px] sm:text-[18px]'>
{seconds}
</span>
{/* <p className='text-lg mt-[30px]'>Seconds</p> */}
</div>
</div>
);
}
};
return (
<div className='mt-[400px] sm:mt-[150px] flex items-center justify-between'>
<div className='h-[40px]'>
<div className='home-title' ref={locationRef}>
<span className='text-[25px] sm:text-[18px] text-white font-bold'>
{dates[selectedIndex].name}
</span>
</div>
</div>
<div className='h-[40px]'>
<Countdown
date={new Date(dates[selectedIndex].date)}
daysInHours={false}
renderer={renderer}
/>
</div>
</div>
);
}

export default Countdowns;
77 changes: 77 additions & 0 deletions components/Dropdown/dropdown.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import React, {useState} from 'react';

function Dropdown({ active, items, setOptions, setOptions2 }) {
const [show, setShow] = useState(false)
return (
<div class='relative inline-block w-full'>
<div className='w-full'>
<button
type='button'
className='flex justify-between text-white p-4 w-full justify-center gap-x-1.5 rounded-md shadow-sm border border-gray card-bg hover:bg-gray-50'
id='menu-button'
aria-expanded='true'
aria-haspopup='true'
onClick={() => setShow(true)}
>
<div>{active}</div>
<svg
className='-mr-1 h-5 w-5 text-gray-400'
viewBox='0 0 20 20'
fill='currentColor'
aria-hidden='true'
>
<path
fill-rule='evenodd'
d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'
clip-rule='evenodd'
/>
</svg>
</button>
</div>
{/*
<!--
Dropdown menu, show/hide based on menu state.

Entering: "transition ease-out duration-100"
From: "transform opacity-0 scale-95"
To: "transform opacity-100 scale-100"
Leaving: "transition ease-in duration-75"
From: "transform opacity-100 scale-100"
To: "transform opacity-0 scale-95"
--> */}
{show && (
<div
className='w-full absolute right-0 z-10 mt-2 origin-top-right rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none'
role='menu'
aria-orientation='vertical'
aria-labelledby='menu-button'
tabindex='-1'
>
<div className='' role='none'>
{items &&
items.map((item) => {
return (
<div
key={item.city}
onClick={() => {
setOptions(item);
setOptions2(item.lists);
setShow(false);
}}
className={`text-gray-700 block p-4 text-md hover:text-white cursor-pointer navbg`}
role='menuitem'
tabindex='-1'
id='menu-item-0'
>
{item.city}
</div>
);
})}
</div>
</div>
)}
</div>
);
}

export default Dropdown;
69 changes: 0 additions & 69 deletions components/Faq/faq.js

This file was deleted.

52 changes: 44 additions & 8 deletions components/Footer/footer.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,50 @@ import React from 'react'

function Footer() {
return (
<div style={{
borderTop: "1px solid #333",
}}>
<div className='mt-2 text-lg text-gray-300 py-4'>
Copyright © AsyncAPI Project a Series of LF Projects, LLC
</div>
</div>
)
<div className='mt-[160px] w-full flex justify-center border border-t-[#333] container py-[96px]'>
<div className='w-[1131px]'>
<img src='/img/logo.png' className='w-[150px]' />
<div className='mt-[82px] flex items-center justify-between sm:flex-col sm:items-start'>
<div className='mt-2 text-[14px] text-gray py-4 underline'>
<a
href='https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md'
target='_blank'
rel='noreferrer'
>
Code of Conduct
</a>
</div>
<div className='flex justify-between items-center w-[284px] sm:mt-6'>
<div className='text-[16px] text-white'>
<span>Follow us</span>
</div>
<a
href='https://github.com/asyncapi'
target='_blank'
rel='noreferrer'
className='w-[52px] h-[52px] rounded-lg border border-[#556061] flex items-center justify-center'
>
<img src='/img/Github.png' />
</a>
<a
target='_blank'
href='https://www.linkedin.com/company/asyncapi/'
className='w-[52px] h-[52px] rounded-lg border border-[#556061] flex items-center justify-center' rel="noreferrer"
>
<img src='/img/Linkedln.png' />
</a>
<a
href='https://twitter.com/asyncapispec'
target='_blank'
className='w-[52px] h-[52px] rounded-lg border border-[#556061] flex items-center justify-center' rel="noreferrer"
>
<img src='/img/Twitter.png' />
</a>
</div>
</div>
</div>
</div>
);
}

export default Footer
Loading