Skip to content

Commit

Permalink
feat: refactor code and add coming soon page (#529)
Browse files Browse the repository at this point in the history
* add coming soon component and comment out the unneccessary code

* enhanced coming soon page

* enhace page

---------

Co-authored-by: acethecreator <[email protected]>
  • Loading branch information
thulieblack and AceTheCreator authored Jan 28, 2025
1 parent 0cb527b commit 7701a51
Show file tree
Hide file tree
Showing 19 changed files with 228 additions and 372 deletions.
4 changes: 2 additions & 2 deletions components/About/about.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import Image from 'next/image';
function About() {
return (
<div className='p-24 container flex items-center justify-center w-full' data-test="about-section">
<div className='w-[1120px] lg:w-full flex lg:flex-col-reverse items-center justify-between'>
{/* <div className='w-[1120px] lg:w-full flex lg:flex-col-reverse items-center justify-between'>
<div style={{'--image-url': `url('/img/about.jpeg')`}} className='lg:mt-16 bg-[image:var(--image-url)] bg-center bg-cover w-[450px] h-[550px] sm:w-[100%] sm:h-[500px] rounded-[30px]' >
</div>
<div className='w-[600px] ml-10 lg:ml-0 lg:w-full lg:text-center'>
Expand Down Expand Up @@ -48,7 +48,7 @@ function About() {
</a>
</div>
</div>
</div>
</div> */}
</div>
);
}
Expand Down
34 changes: 34 additions & 0 deletions components/ComingSoon/comingSoon.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import React from 'react';
import Heading from '../Typography/heading';
import Paragraph from '../Typography/paragraph';
import { Nav } from './tempNav';
import NotificationForm from '../Form/notification';
import Image from 'next/image';

function ComingSoon() {
return (
<div className='container'>
<Nav />
<div className='text-center flex flex-col items-center justify-center h-full mt-24'>
{/* <Heading typeStyle='heading-lg' className='text-gradient'>
AsyncAPI Conf 2025
</Heading> */}
<div className='lg:w-full w-[50%]'>
<Heading typeStyle='heading-lg' className='text-gradient text-8xl'>
Coming Soon!
</Heading>
<Paragraph typeStyle='body-lg' className='mt-10 text-center' textColor='text-gray-200'>
Join us for the AsyncAPI Conference, which brings the latest AsyncAPI technology to locations worldwide!
</Paragraph>
<NotificationForm />
</div>
</div>
<div className='w-full h-[450px] mt-16 relative flex justify-center items-center overflow-hidden'>
<Image src='/img/arrow-bounce.png' alt='test' width={100} height={100} className='mt-[10px] absolute top-10 animate-bounce' />
<Image src='/img/conference-ill.webp' alt='test' width={1200} height={100} className='mt-[200px]' />
</div>
</div>
);
}

export default ComingSoon;
21 changes: 21 additions & 0 deletions components/ComingSoon/tempNav.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import Image from "next/image";
import Button from "../Buttons/button";
import Link from "next/link";
import Arrow from "../illustration/arrow";

export function Nav(){
return <div className="mt-4 flex justify-between items-center">
<div>
<Image src='/img/logo-plain.png' alt='conference logo' width={40} height={40} />
</div>
<div>
<Link href='/editions'>
<button
type="submit"
className="px-3 py-3 bg-white text-black text-sm hover:bg-gray-100 transition-colors rounded-md flex items-center"
>
<span>Past Editions</span> <Arrow className={'w-[15px] h-[15px] ml-2'} fill={'black'} />
</button></Link>
</div>
</div>
}
71 changes: 12 additions & 59 deletions components/Footer/footer.js
Original file line number Diff line number Diff line change
@@ -1,68 +1,21 @@
import React from "react";
import Image from 'next/image';
import Link from "next/link";

function Footer() {
const socials = [
{
name: "Github",
href: "https://github.com/asyncapi",
imgUrl: "/img/Github.png",
},
{
name: "Linkedin",
href: "https://www.linkedin.com/company/asyncapi/",
imgUrl: "/img/Linkedln.png",
},
{
name: "Twitter(X)",
href: "https://x.com/asyncapispec",
imgUrl: "/img/twitter_new.png",
},
];
return (
<div className="container" data-test="footer">
<div className="w-full flex justify-between items-center p-4 sm:flex-col sm:gap-3" data-test="footer-asyncAPI-logo">
<Link href='/'>
<Image className="cursor-pointer" src="/img/logo.png" alt="company logo" width={150} height={42}/>
</Link>
<div className="sm:hidden">
{/* This div helps keep the text centered */}
</div>
<div className="mt-2 text-[14px] text-gray-100 underline">
<a
href="https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md"
target="_blank"
rel="noreferrer"
className="hover:text-sky-500 text-white duration-200 ease-in-out"
data-test="code-of-conduct"
>
Code of Conduct
</a>
</div>
<div>
</div>
<div className="flex items-center justify-between sm:flex-col sm:items-start">
<div className="flex flex-col justify-between items-start gap-2 sm:items-center">
<div className="flex justify-between items-center gap-3">
{socials.map((social, index) => {
return (
<a
key={index}
href={social.href}
target="_blank"
rel="noreferrer"
className="w-12 h-12 rounded-lg border-[1.5px] border-[#556061] flex items-center justify-center hover:border-[#AD20E2] duration-150 ease-in-out"
data-test={`footer-${social.name}`}
>
<Image src={social.imgUrl} alt={social.name} height={32} width={32} />
</a>
);
})}
</div>
</div>
{/* <div className="w-full flex justify-center items-center p-4 sm:flex-col sm:gap-3">
<div className="mt-2 text-[14px] text-gray-100 underline">
<a
href="https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md"
target="_blank"
rel="noreferrer"
className="hover:text-sky-500 text-white duration-200 ease-in-out"
data-test="code-of-conduct"
>
Code of Conduct
</a>
</div>
</div>
</div> */}
</div>
);
}
Expand Down
18 changes: 18 additions & 0 deletions components/Form/notification.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import Link from 'next/link';
import Button from '../Buttons/button';
import Arrow from '../illustration/arrow';

const NotificationForm = () => {
return (
<div className="flex items-center justify-center p-4 mt-10">
<div className='w-full'>
<div className="flex p-2 items-center bg-gray-800 rounded-lg flex justify-between px-4">
<div className='flex items-center text-gray-400'><span>Kindly subscribe to our newsletter to get notified</span> <span><Arrow className={'w-[15px] ml-4'} /></span></div>
<Link href='https://www.asyncapi.com/en/newsletter' target='_blank' rel='noopener noreferrer'><Button className={'px-6 py-3 font-semibold hover:bg-gray-100 transition-colors rounded-md'}>Notify Me</Button></Link>
</div>
</div>
</div>
);
};

export default NotificationForm;
4 changes: 2 additions & 2 deletions components/Header/header.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ function Header() {
const isMobile = useMediaQuery({ maxWidth: '590px' });
return (
<div className='relative'>
<div className='container w-full flex items-center justify-center'>
{/* <div className='container w-full flex items-center justify-center'>
<div className=''>
<div className='flex justify-center w-full mt-32'>
<div className='flex flex-col justify-center items-center w-full'>
Expand Down Expand Up @@ -51,7 +51,7 @@ function Header() {
return <Venue key={city.name} city={city}/>;
})}
</ReactSlider>
</div>
</div> */}
</div>
);
}
Expand Down
4 changes: 2 additions & 2 deletions components/Navbar/navbar.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,13 @@ function Navbar() {
};

return (
<div className={`flex justify-center items-center fixed w-full backdrop-blur ${ drop && 'bg-[#1B1130]/90'} top-0 z-[99] text-white`}>
<div className={`flex justify-center items-center fixed w-full ${ drop && 'bg-[#1B1130]/90'} top-0 z-[99] text-white`}>
<div className='w-[1131px]'>
<div className='p-5 flex justify-between h-[75px] w-full items-center'>
<div className='flex items-center sm:justify-between sm:w-full' data-test="nav-Home">
<Link href='/'>
<div className='flex items-center cursor-pointer'>
<Image src='/img/logo.png' alt='conference logo' width={120} height={33} />
{/* <Image src='/img/logo.png' alt='conference logo' width={120} height={33} /> */}
</div>
</Link>
</div>
Expand Down
29 changes: 29 additions & 0 deletions components/PastEditions/pastEditions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import React from 'react';
import Heading from '../Typography/heading';
import Paragraph from '../Typography/paragraph';

function PastEditions({ editions }) {
return (
<div className='container'>
{/* <div className='flex flex-col items-center'>
<Heading typeStyle='heading-md' className='text-gradient'>
Past Editions
</Heading>
<div className='mt-6 grid grid-cols-3 gap-6'>
{editions.map((edition) => (
<div key={edition.year} className='flex flex-col items-center'>
<Heading typeStyle='heading-sm' className='mt-4'>
{edition.year}
</Heading>
<Paragraph typeStyle='body-sm' className='mt-2' textColor='text-gray-200'>
{edition.description}
</Paragraph>
</div>
))}
</div>
</div> */}
</div>
);
}

export default PastEditions;
31 changes: 31 additions & 0 deletions components/Speakers/speakers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import React from 'react';
import Heading from '../Typography/heading';
import Paragraph from '../Typography/paragraph';
import Image from 'next/image';

function Speakers({ speakers }) {
return (
<div className='container'>
{/* <div className='flex flex-col items-center'>
<Heading typeStyle='heading-md' className='text-gradient'>
Speakers
</Heading>
<div className='mt-6 grid grid-cols-3 gap-6'>
{speakers.map((speaker) => (
<div key={speaker.name} className='flex flex-col items-center'>
<Image src={speaker.image} alt={speaker.name} width={150} height={150} className='rounded-full' />
<Heading typeStyle='heading-sm' className='mt-4'>
{speaker.name}
</Heading>
<Paragraph typeStyle='body-sm' className='mt-2' textColor='text-gray-200'>
{speaker.title}
</Paragraph>
</div>
))}
</div>
</div> */}
</div>
);
}

export default Speakers;
4 changes: 2 additions & 2 deletions components/Sponsors/sponsors.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import Link from 'next/link';
function Sponsors({eventSponsors,financialSponsor}) { //eventSponsors,financialSponsor = [{image: 'url', websiteUrl: 'url' , className: 'string'}] //className for additional styling if needed
return (
<div className='sponsor-bg container text-center' data-test="sponsor-section">
<div className='py-[80px] flex flex-col items-center'>
{/* <div className='py-[80px] flex flex-col items-center'>
<div className='max-w-3xl sm:w-full'>
<Paragraph className='mt-[40px]' textColor='text-white'>
Expand Down Expand Up @@ -45,7 +45,7 @@ function Sponsors({eventSponsors,financialSponsor}) { //eventSponsors,financial
</div>
</div>
</div>
</div> */}
</div>
);
}
Expand Down
22 changes: 22 additions & 0 deletions components/Tickets/tickets.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import React from 'react';
import Heading from '../Typography/heading';
import Paragraph from '../Typography/paragraph';
import Button from '../Buttons/button';

function Tickets() {
return (
<div className='container'>
{/* <div className='flex flex-col items-center'>
<Heading typeStyle='heading-md' className='text-gradient'>
Tickets
</Heading>
<Paragraph typeStyle='body-lg' className='mt-4' textColor='text-gray-200'>
Get your tickets now!
</Paragraph>
<Button className='mt-6'>Buy Tickets</Button>
</div> */}
</div>
);
}

export default Tickets;
72 changes: 43 additions & 29 deletions components/Venue/venue.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,37 +22,51 @@ export function isEventEnded(date){

function Venue({ className, city }) {

const eventEnded = isEventEnded(city.date);
const textColor = eventEnded ? "text-white": "text-white";
const eventStatus = getEventStatus(city.date);
// const eventEnded = isEventEnded(city.date);
// const textColor = eventEnded ? "text-white": "text-white";
// const eventStatus = getEventStatus(city.date);

// return (
// <Link href={`/venue/${city.name}`}>
// <div style={{background: `linear-gradient(to bottom, rgba(0,0,0,.3), rgba(0,0,0, .3)), url(${city.img})`, backgroundSize: "cover"}}
// className='relative w-[300px] h-[400px] sm:w-[250px] sm:h-[350px] card-bg rounded-md bg-[image:var(--image-url)] flex items-center justify-center p-4 cursor-pointer m-2'>
// <div className='flex justify-between flex-col w-full h-full'>
// <div className='flex items-center'>
// {city.cfp? <div className={`border ${textColor} text-md rounded-lg p-1 text-center mt-2`}>cfp is open</div> :null}
// <button onClick={(e) => {
// e.preventDefault()
// window.open(city.map, '_blank', 'noopener')
// }} className='w-8 h-8 bg-white rounded-xl flex items-center justify-center ml-auto'>
// <Image src='/img/mapIcon.svg' alt='Map Icon' width={24} height={24} />
// </button>
// </div>
// <div></div>
// <div className={textColor}>
// <div>
// {city.name=='Online'?<span className='text-lg font-bold'>{city.name} {city.country}</span>:<span className='text-lg font-bold'>{city.country}, {city.name}</span>}
// </div>
// <div className='flex align-end flex-row justify-between pt-2'>
// <div className='inline-block border border-gray-400 rounded-lg py-1 px-2 text-center sm:text-sm text-base'>{city.date}</div>
// <span className=' text-white flex align-middle pt-2 sm:text-[0.8rem] sm:leading-4 text-base'>{eventStatus}</span>
// </div>
// </div>
// </div>
// </div>
// </Link>
// );

return (
<Link href={`/venue/${city.name}`}>
<div style={{background: `linear-gradient(to bottom, rgba(0,0,0,.3), rgba(0,0,0, .3)), url(${city.img})`, backgroundSize: "cover"}}
className='relative w-[300px] h-[400px] sm:w-[250px] sm:h-[350px] card-bg rounded-md bg-[image:var(--image-url)] flex items-center justify-center p-4 cursor-pointer m-2'>
<div className='flex justify-between flex-col w-full h-full'>
<div className='flex items-center'>
{city.cfp? <div className={`border ${textColor} text-md rounded-lg p-1 text-center mt-2`}>cfp is open</div> :null}
<button onClick={(e) => {
e.preventDefault()
window.open(city.map, '_blank', 'noopener')
}} className='w-8 h-8 bg-white rounded-xl flex items-center justify-center ml-auto'>
<Image src='/img/mapIcon.svg' alt='Map Icon' width={24} height={24} />
</button>
</div>
<div></div>
<div className={textColor}>
<div>
{city.name=='Online'?<span className='text-lg font-bold'>{city.name} {city.country}</span>:<span className='text-lg font-bold'>{city.country}, {city.name}</span>}
</div>
<div className='flex align-end flex-row justify-between pt-2'>
<div className='inline-block border border-gray-400 rounded-lg py-1 px-2 text-center sm:text-sm text-base'>{city.date}</div>
<span className=' text-white flex align-middle pt-2 sm:text-[0.8rem] sm:leading-4 text-base'>{eventStatus}</span>
</div>
</div>
</div>
</div>
</Link>
<div className='container'>
{/* <div className='flex flex-col items-center'>
<Heading typeStyle='heading-md' className='text-gradient'>
{city.name}
</Heading>
<Paragraph typeStyle='body-lg' className='mt-4' textColor='text-gray-200'>
{city.description}
</Paragraph>
<Image src={city.image} alt={city.name} width={600} height={400} className='mt-6 rounded-lg' />
</div> */}
</div>
);
}

Expand Down
Loading

0 comments on commit 7701a51

Please sign in to comment.