Skip to content

Commit 1902f51

Browse files
feat: add 2025 website details (asyncapi#552)
* add necessary details for 2025 * correct file path * remove the financial sponsor balcnk image * add-logo * add-logo-path * added new tickets component * update footer content * update navbar container width * . * update failing tests * update test cases * remove swags * update coc * update coc cy link --------- Co-authored-by: acethecreator <devaze007@gmail.com>
1 parent b0be45d commit 1902f51

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1107
-930
lines changed

components/About/about.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,27 @@ function About() {
1515
<div className='text-lg sm:text-sm text-white font-semi-bold border-b-2 border-blue-400 mb-1'>About The Event</div>
1616
</div>
1717
<Heading typeStyle='heading-md' className='text-gradient lg:mt-10'>
18-
AACoT'24
18+
AsyncAPI Conference
1919
</Heading>
2020
<Paragraph typeStyle='body-lg' className="mt-6" textColor='text-gray-200' >
21-
The AsyncAPI Conf on Tour is an official event created by the AsyncAPI
22-
Initiative. This conference is aimed primarily at the community to share and
23-
exchange experiences between existing users and new members. We plan to
24-
integrate new members into the community and expand their knowledge about
25-
the project.
21+
The AsyncAPI Conference is an official event created by the AsyncAPI Initiative. This
22+
conference is aimed primarily at the community to share and exchange experiences between
23+
existing users and new members. We plan to integrate new members into the community and
24+
expand their knowledge about the project.
2625
</Paragraph>
2726
<Paragraph typeStyle='body-lg' className="mt-6" textColor='text-gray-200'>
2827
We are currently looking for sponsors, for more details please read our Sponsorship Prospectus.
2928
</Paragraph>
3029
<div className='mt-10 flex gap-4 sm:flex-col lg:justify-center' data-test="prospectus-download">
3130
<a
3231
className='flex justify-center'
33-
href='https://opencollective.com/asyncapi/events/asyncapi-conference-on-tour-6b3c0aa1'
32+
href='https://opencollective.com/asyncapi/events/asyncapi-conference-e9fd5b06'
3433
target='_blank'
3534
rel='noreferrer'
3635
>
3736
<Button className='w-[200px]'>Become a sponsor now</Button>
3837
</a>
39-
<a className='flex justify-center ' href='/pdf/conf-2024.pdf' download={`conf ${new Date().getFullYear()}.pdf`} >
38+
<a className='flex justify-center ' href='/pdf/conf-2025.pdf' download={`conf ${new Date().getFullYear()}.pdf`} >
4039
<Button overlay={true} className='w-[240px] border'>
4140
<div className='flex gap-2 justify-center items-center'>
4241
<Image src="/img/Download_icon.png" height={20} width={20} alt='Download-icon' objectFit='contain' />

components/Agenda/agenda.js

Lines changed: 114 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,119 @@
1-
import React from 'react'
2-
import Heading from '../Typography/heading'
3-
import Paragraph from '../Typography/paragraph'
4-
import Image from 'next/image'
1+
import React from "react";
2+
import Heading from "../Typography/heading";
3+
import Paragraph from "../Typography/paragraph";
4+
import Image from "next/image";
55

66
function Agenda({ city }) {
77
return (
8-
<div className='' data-test="agenda-com">
9-
<div className='flex flex-col justify-center items-center'>
10-
11-
<Heading className='text-[30px] text-white'>
12-
Agenda
13-
</Heading>
14-
{!city.agenda && <div className='w-[720px] lg:w-full mt-[140px] text-center'>
15-
<Heading typeStyle='lg' className='text-white text-[30px]'>
16-
Agenda Coming Soon - Stay Tuned!
17-
</Heading>
18-
</div>}
19-
</div>
20-
21-
{city.agenda && <div className='mt-[40px]'>
22-
<Heading
23-
typeStyle='heading-md'
24-
className='text-gradient text-2xl'
25-
level='h3'>
26-
{city.date}
27-
</Heading>
28-
29-
<div className='mt-[40px]'>
30-
{city.agenda.map((talk) => {
31-
return <div key={talk.time} className={`flex sm:flex-col justify-between mt-[50px] ${!talk.speaker && 'countdown-text-gradient'}`}>
32-
<Paragraph typeStyle='body-md'>
33-
{talk.time}
34-
</Paragraph>
35-
<div className='flex justify-between lg:flex-col w-[75%] lg:w-full'>
36-
<div className='w-[50%] lg:w-full'>
37-
<Paragraph typeStyle='body-sm' className=''>
38-
{talk.type}
39-
</Paragraph>
40-
<Heading level='h3' typeStyle='heading-md-semibold' className='mt-[23px] text-white text-[20px] sm:text-[18px]'>
41-
{talk.session}
42-
</Heading>
43-
</div>
44-
{talk.speaker && typeof talk.speaker === 'number' ? <div className='flex items-center lg:mt-4'>
45-
<div className='w-[94px] h-[94px]'>
46-
<Image src={city.speakers[talk.speaker - 1].img} alt={city.speakers[talk.speaker -1].name} width={0} height={0} className='object-cover rounded-full w-[100%] h-[100%]' />
47-
</div>
48-
<div className='ml-4 w-[300px] sm:w-[250px]'>
49-
<Heading typeStyle='heading-sm-semibold' className='text-white'>
50-
{city.speakers[talk.speaker-1].name}
51-
</Heading>
52-
<Paragraph typeStyle='body-sm' className="mt-2">
53-
{city.speakers[talk.speaker-1].title}
54-
</Paragraph>
55-
</div>
56-
</div> : <div></div>}
57-
{talk.speaker && typeof talk.speaker === 'object' && <div className='flex flex-col'>
58-
{talk.speaker.map((speak, i) => <div key={i} className='mt-6'>
59-
<div className='flex items-center lg:mt-4'>
60-
<div className='w-[94px] h-[94px]'>
61-
<Image src={city.speakers[speak - 1].img} alt={city.speakers[speak - 1].name} width={0} height={0} className='object-cover rounded-full w-[100%] h-[100%]' />
62-
</div>
63-
<div className='ml-4 w-[300px] sm:w-[250px]'>
64-
<Heading typeStyle='heading-sm-semibold' className='text-white'>
65-
{city.speakers[speak-1].name}
66-
</Heading>
67-
<Paragraph typeStyle='body-sm' className="mt-2">
68-
{city.speakers[speak-1].title}
69-
</Paragraph>
70-
</div>
71-
</div>
72-
</div> )
73-
}
74-
</div>}
75-
</div>
76-
</div>
77-
})}
78-
</div>
79-
</div>}
80-
</div>
81-
);
8+
<div className="" data-test="agenda-com">
9+
<div className="flex flex-col justify-center items-center">
10+
{!city.agenda ? (
11+
<div className="w-[720px] lg:w-full mt-[10px] text-center">
12+
<Heading typeStyle="lg" className="text-white text-[30px]">
13+
Agenda Coming Soon - Stay Tuned!
14+
</Heading>
15+
</div>
16+
) : (
17+
<Heading className="text-[30px] text-white">Agenda</Heading>
18+
)}
19+
</div>
20+
21+
{city.agenda && (
22+
<div className="mt-[40px]">
23+
<Heading
24+
typeStyle="heading-md"
25+
className="text-gradient text-2xl"
26+
level="h3"
27+
>
28+
{city.date}
29+
</Heading>
30+
31+
<div className="mt-[40px]">
32+
{city.agenda.map((talk) => {
33+
return (
34+
<div
35+
key={talk.time}
36+
className={`flex sm:flex-col justify-between mt-[50px] ${!talk.speaker && "countdown-text-gradient"}`}
37+
>
38+
<Paragraph typeStyle="body-md">{talk.time}</Paragraph>
39+
<div className="flex justify-between lg:flex-col w-[75%] lg:w-full">
40+
<div className="w-[50%] lg:w-full">
41+
<Paragraph typeStyle="body-sm" className="">
42+
{talk.type}
43+
</Paragraph>
44+
<Heading
45+
level="h3"
46+
typeStyle="heading-md-semibold"
47+
className="mt-[23px] text-white text-[20px] sm:text-[18px]"
48+
>
49+
{talk.session}
50+
</Heading>
51+
</div>
52+
{talk.speaker && typeof talk.speaker === "number" ? (
53+
<div className="flex items-center lg:mt-4">
54+
<div className="w-[94px] h-[94px]">
55+
<Image
56+
src={city.speakers[talk.speaker - 1].img}
57+
alt={city.speakers[talk.speaker - 1].name}
58+
width={0}
59+
height={0}
60+
className="object-cover rounded-full w-[100%] h-[100%]"
61+
/>
62+
</div>
63+
<div className="ml-4 w-[300px] sm:w-[250px]">
64+
<Heading
65+
typeStyle="heading-sm-semibold"
66+
className="text-white"
67+
>
68+
{city.speakers[talk.speaker - 1].name}
69+
</Heading>
70+
<Paragraph typeStyle="body-sm" className="mt-2">
71+
{city.speakers[talk.speaker - 1].title}
72+
</Paragraph>
73+
</div>
74+
</div>
75+
) : (
76+
<div></div>
77+
)}
78+
{talk.speaker && typeof talk.speaker === "object" && (
79+
<div className="flex flex-col">
80+
{talk.speaker.map((speak, i) => (
81+
<div key={i} className="mt-6">
82+
<div className="flex items-center lg:mt-4">
83+
<div className="w-[94px] h-[94px]">
84+
<Image
85+
src={city.speakers[speak - 1].img}
86+
alt={city.speakers[speak - 1].name}
87+
width={0}
88+
height={0}
89+
className="object-cover rounded-full w-[100%] h-[100%]"
90+
/>
91+
</div>
92+
<div className="ml-4 w-[300px] sm:w-[250px]">
93+
<Heading
94+
typeStyle="heading-sm-semibold"
95+
className="text-white"
96+
>
97+
{city.speakers[speak - 1].name}
98+
</Heading>
99+
<Paragraph typeStyle="body-sm" className="mt-2">
100+
{city.speakers[speak - 1].title}
101+
</Paragraph>
102+
</div>
103+
</div>
104+
</div>
105+
))}
106+
</div>
107+
)}
108+
</div>
109+
</div>
110+
);
111+
})}
112+
</div>
113+
</div>
114+
)}
115+
</div>
116+
);
82117
}
83118

84-
export default Agenda
119+
export default Agenda;

components/Buttons/button.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ function Button({className, children, overlay, onClick, type, disabled,test}) {
77
data-test={test || ""}
88
type={type}
99
onClick={onClick}
10-
className={`${overlay ? '' : 'gradient-bg'} flex items-center justify-center text-white h-[54px] rounded-md p-[8px] ${className}`}
10+
className={`${overlay ? '' : 'gradient-bg'} ${disabled && 'cursor-not-allowed'} flex items-center justify-center text-white h-[54px] rounded-md p-[8px] ${className}`}
1111
>{children}</button>
1212
);
1313
}

components/Footer/footer.js

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from "react";
2-
import Image from 'next/image';
3-
import Link from "next/link";
2+
import Image from "next/image";
3+
import ILink from "../illustration/link";
44

55
function Footer() {
66
const socials = [
@@ -22,47 +22,48 @@ function Footer() {
2222
];
2323
return (
2424
<div className="container" data-test="footer">
25-
<div className="w-full flex justify-between items-center p-4 sm:flex-col sm:gap-3" data-test="footer-asyncAPI-logo">
26-
<Link href='/'>
27-
<Image className="cursor-pointer" src="/img/logo.png" alt="company logo" width={150} height={42}/>
28-
</Link>
29-
<div className="sm:hidden">
30-
{/* This div helps keep the text centered */}
31-
</div>
32-
<div className="mt-2 text-[14px] text-gray-100 underline">
33-
<a
34-
href="https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md"
35-
target="_blank"
36-
rel="noreferrer"
37-
className="hover:text-sky-500 text-white duration-200 ease-in-out"
38-
data-test="code-of-conduct"
39-
>
40-
Code of Conduct
41-
</a>
42-
</div>
43-
<div>
44-
</div>
45-
<div className="flex items-center justify-between sm:flex-col sm:items-start">
46-
<div className="flex flex-col justify-between items-start gap-2 sm:items-center">
47-
<div className="flex justify-between items-center gap-3">
25+
<div
26+
className="w-full flex justify-between items-center p-4 sm:flex-col sm:gap-3"
27+
data-test="footer-asyncAPI-logo"
28+
>
29+
<div className="mt-2 text-[14px] text-gray-100 sm:hidden">
30+
<a
31+
href="https://github.com/asyncapi/community/blob/master/CODE_OF_CONDUCT.md"
32+
target="_blank"
33+
rel="noreferrer"
34+
className="hover:underline text-white duration-200 ease-in-out flex items-center"
35+
data-test="code-of-conduct"
36+
>
37+
<span> Code of Conduct </span><span><ILink className='w-4 ml-2' fill='white' /></span>
38+
</a>
39+
</div>
40+
<div></div>
41+
<div className="flex items-center justify-between sm:flex-col sm:items-center">
42+
<div className="text-white">© 2025 AsyncAPI.com – All rights reserved</div>
43+
<div className="w-[0.9px] h-4 bg-white ml-4 sm:hidden" />
44+
<div className="ml-4 flex justify-between items-center gap-2 sm:mt-4">
4845
{socials.map((social, index) => {
4946
return (
5047
<a
5148
key={index}
5249
href={social.href}
5350
target="_blank"
5451
rel="noreferrer"
55-
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"
52+
className="rounded-lg flex items-center justify-center hover:border-[#AD20E2] duration-150 ease-in-out"
5653
data-test={`footer-${social.name}`}
5754
>
58-
<Image src={social.imgUrl} alt={social.name} height={32} width={32} />
55+
<Image
56+
src={social.imgUrl}
57+
alt={social.name}
58+
height={23}
59+
width={23}
60+
/>
5961
</a>
6062
);
6163
})}
6264
</div>
63-
</div>
6465
</div>
65-
</div>
66+
</div>
6667
</div>
6768
);
6869
}

components/Form/subscription.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ function Subscription() {
66
<div className='mt-0 md:mt-[106px] subscription container flex justify-center' >
77
<div className='mt-[106px] lg:mt-0 w-[1024px] min-h-[253px] lg:py-10 lg:w-full flex flex-col items-center'>
88
<h3 className='text-[32px] text-white lg:text-center'>
9-
Subscribe for AACoT’24 updates!
9+
Subscribe for AsyncAPI Conf updates!
1010
</h3>
1111
<a href='https://www.asyncapi.com/newsletter' target='_blank' rel="noreferrer" className='sm:w-full' data-test="subscribe-button">
1212
<Button type='submit' className='w-full md:w-[200px] mt-8 px-10'>

0 commit comments

Comments
 (0)