Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/test' into test
Browse files Browse the repository at this point in the history
  • Loading branch information
sagarkori143 committed Feb 12, 2024
2 parents a029754 + 3db67e0 commit 1eb59f7
Show file tree
Hide file tree
Showing 72 changed files with 1,696 additions and 955 deletions.
4 changes: 2 additions & 2 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
# For more details, read the following article on GitHub: https://help.github.com/articles/about-codeowners/.

# The default owners are automatically added as reviewers when you open a pull request unless different owners are specified in the file.
* @derberg @akshatnema @magicmatatjahu @mayaleeeee @asyncapi-bot-eve
* @derberg @akshatnema @magicmatatjahu @anshgoyalevil @sambhavgupta0705 @mayaleeeee @asyncapi-bot-eve

# All .md files
*.md @alequetzalli @asyncapi-bot-eve
*.md @alequetzalli @octonawish-akcodes @BhaswatiRoy @TRohit20 @VaishnaviNandakumar @Arya-Gupta @J0SAL @asyncapi-bot-eve

pages/blog/*.md @thulieblack @alequetzalli
pages/community/*.md @thulieblack @alequetzalli
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ This repository contains the sources of AsyncAPI website:
Use the following tools to set up the project:

- [Node.js](https://nodejs.org/) v16.0.0+
- [npm](https://www.npmjs.com/) v7.10.0+
- [npm](https://www.npmjs.com/) v8.10.0+

## Run locally

Expand Down
9 changes: 6 additions & 3 deletions components/FinancialSummary/BarChartComponent.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,12 @@ const categories = getUniqueCategories();
* @param {Object[]} props.links - Links to additional information for each category.
* @returns {JSX.Element} The rendered Card component.
*/

const Card = ({ month, data, links }) => {
return (
<div className="bg-slate-100 shadow-lg rounded-lg p-4 flex flex-col justify-between h-56 overflow-hidden">
<div className="bg-slate-100 shadow-lg rounded-lg p-4 flex flex-col h-56 overflow-hidden">
<div className="text-lg font-semibold mb-4">{month}</div>
<div className="flex flex-col justify-center overflow-x-auto">
<div className="flex flex-col overflow-x-auto overflow-y-auto">
{data.map((item, index) => (
<div key={index} className="flex justify-between">
<div className="text-sm m-2" onClick={(links) => {
Expand Down Expand Up @@ -192,7 +193,8 @@ const BarChartComponent = () => {

</div>
{/* Recharts BarChart */}
<BarChart width={barWidth} height={barHeight} data={chartData}>
<div className='flex justify-center'>
<BarChart width={barWidth} height={barHeight} data={chartData}>
<CartesianGrid strokeDasharray="3 3" />
<YAxis tickFormatter={(value) => `$${value}`} />
<Tooltip content={<CustomTooltip />} />
Expand All @@ -212,6 +214,7 @@ const BarChartComponent = () => {
}}
/>
</BarChart>
</div>
{windowWidth < 900 ? <ExpensesCard data={Expenses} /> : null}
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion components/FinancialSummary/ExpenseBreakdown.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export default function ExpenseBreakdown() {
<img src="/img/illustrations/Hiring.webp" alt="Hiring" className="w-1/5 h-auto object-cover rounded-md m-1" />
<h2 className="text-2xl font-semibold my-2 text-center text-darkGunMetal">Hiring</h2>
</div>
<p className="text-base text-center text-darkGunMetal">To support our community, we require full time commitment. Open Collective helps us hire for AsyncAPI. <a style={{ textDecoration: "underline" }} href="https://www.linkedin.com/in/v-thulisile-sibanda/" target='_blank'>Thulie</a> joins as community manager, with plans to expand our team.</p>
<p className="text-base text-center text-darkGunMetal">To support our community, we require full time commitment. Open Collective helps us hire for AsyncAPI. <a style={{ textDecoration: "underline" }} href="https://www.linkedin.com/in/v-thulisile-sibanda/" target='_blank'>Thulie</a> joined us as a community manager, with plans to expand our team.</p>
</div>
</a>
</div>
Expand Down
10 changes: 10 additions & 0 deletions components/Loader.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { twMerge } from "tailwind-merge"

export default function Loader({ className = "", dark = false }) {
return (
<div className={twMerge(`w-fit flex flex-col m-auto ${className}`)}>
<svg class={`animate-spin mx-auto border-4 border-t-transparent ${dark ? 'border-white' : 'border-black'} h-10 w-10 rounded-full`} viewBox="0 0 24 24"></svg>
<div className={`my-2 ${dark ? 'text-white' : 'text-black'}`}>Waiting for response...</div>
</div>
)
}
97 changes: 85 additions & 12 deletions components/NewsletterSubscribe.js
Original file line number Diff line number Diff line change
@@ -1,41 +1,114 @@
import { useState } from "react";
import Button from "./buttons/Button";
import Heading from "./typography/Heading";
import TextLink from "./typography/TextLink";
import Paragraph from "./typography/Paragraph";
import Loader from "./Loader";
import { useTranslation } from "../lib/i18n";

export default function NewsletterSubscribe ({
export default function NewsletterSubscribe({
className = 'p-8 text-center',
dark = false,
title = 'Subscribe to our newsletter to receive news about AsyncAPI.',
subtitle = 'We respect your inbox. No spam, promise ✌️',
type,
type='Newsletter',
}) {

const { t } = useTranslation('common');
const [email, setEmail] = useState('');
const [name, setName] = useState('');
const [status, setStatus] = useState("normal");

const { t } = useTranslation('common');

const headTextColor = dark ? 'text-white' : ''
const paragraphTextColor = dark ? 'text-gray-300' : ''

const handleSubmit = (e) => {
setStatus("loading");
e.preventDefault()
const data = {
name: name,
email: email,
interest: type
}

fetch("/.netlify/functions/newsletter_subscription", {
method: "POST",
body: JSON.stringify(data),
headers: {
'Content-Type': 'application/json',
}
}).then((res) => {
if (res.status === 200) {
setFormStatus("success");
} else {
setFormStatus("error");
}
return res.json()
}).then((data) => console.log(data))
}

const setFormStatus = (formResponse) => {
setStatus(formResponse);
setTimeout(() => {
setStatus("normal");
}, 10000);
}

if (status === "success") {
return (
<div className={className} data-testid="NewsletterSubscribe-main">
<Heading
level="h3"
textColor={headTextColor}
typeStyle="heading-lg"
className="mb-4"
>
{t('newsletterCTA.successTitle')}
</Heading>
<Paragraph className="mb-8" textColor={paragraphTextColor}>
{t('newsletterCTA.subtitle')}
</Paragraph>
</div>
)
}

if (status === "error") {
return (
<div className={className} data-testid="NewsletterSubscribe-main">
<Heading
level="h3"
textColor={headTextColor}
typeStyle="heading-lg"
className="mb-4"
>
{t('newsletterCTA.errorTitle')}
</Heading>
<Paragraph className="mb-8" textColor={paragraphTextColor}>
{t('newsletterCTA.errorSubtitle')}{' '}<TextLink href="https://github.com/asyncapi/website/issues/new?template=bug.md" target="_blank">{t('newsletterCTA.errorLinkText')}</TextLink>
</Paragraph>
</div>
)
}

return (
<div className={className} data-testid="NewsletterSubscribe-main">
<Heading
<Heading
level="h3"
textColor={headTextColor}
typeStyle="heading-lg"
className="mb-4"
>
{t('newsletterCTA.title')}
{title}
</Heading>
<Paragraph className="mb-8" textColor={paragraphTextColor}>
{t('newsletterCTA.subtitle')}
{subtitle}
</Paragraph>
<form name="form 1" method="POST" className="md:flex" data-netlify="true">
<input type="hidden" name="form-name" value="form 1" />
<input type="hidden" name="type" value={type} />
<input type="text" name="name" placeholder={t('newsletterCTA.nameInput')} className="form-input block w-full sm:text-sm sm:leading-5 md:mr-2 md:mt-0 md:flex-1 rounded-md" required data-testid="NewsletterSubscribe-text-input"/>
<input type="email" name="email" placeholder={t('newsletterCTA.emailInput')} className="form-input block w-full mt-2 sm:text-sm sm:leading-5 md:mr-2 md:mt-0 md:flex-1 rounded-md" required data-testid="NewsletterSubscribe-email-input"/>
{status === "loading" ? <Loader dark={dark} /> : <form className="flex flex-col md:flex-row gap-4" onSubmit={handleSubmit}>
<input type="text" name="name" placeholder={t('newsletterCTA.nameInput')} value={name} onChange={(e) => setName(e.target.value)} className="form-input block w-full sm:text-sm sm:leading-5 md:mt-0 md:flex-1 rounded-md" required data-testid="NewsletterSubscribe-text-input" />
<input type="email" name="email" placeholder={t('newsletterCTA.emailInput')} value={email} onChange={(e) => setEmail(e.target.value)} className="form-input block w-full mt-2 sm:text-sm sm:leading-5 md:mt-0 md:flex-1 rounded-md" required data-testid="NewsletterSubscribe-email-input" />
<Button type="submit" text={t('newsletterCTA.subscribeBtn')} className="w-full mt-2 md:mr-2 md:mt-0 md:flex-1" />
</form>
</form>}
</div>
)
}
26 changes: 22 additions & 4 deletions config/AMBASSADORS_MEMBERS.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,10 +225,10 @@
"github": "M3lkior",
"twitter": "ldussart",
"country": "🇫🇷",
"bio": "Ludovic has been working for Ineat for the last 10 years. Starting as a java developer, he is now a Solutions Architect, working with his customers to build EDA-oriented digital products wherever possible. His first contributions to AsyncAPI date back to 2020 around the kafka and avro specifications. Since then, Ludovic has been spreading the word about AsyncAPI to companies in Northern France, to accelerate adoption of the initiative.",
"bio": "Ludovic is a Solutions Architect, working with his customers to build EDA-oriented digital products wherever possible. His first contributions to AsyncAPI date back to 2020 around the kafka and avro specifications. Since then, Ludovic has been spreading the word about AsyncAPI to companies in Northern France, to accelerate adoption of the initiative.",
"linkedin": "ludovic-dussart-846a8063",
"company": "Ineat",
"title": "Solutions Architect",
"company": "zatsit",
"title": "Solutions Architect / DevRel",
"img": "https://avatars.githubusercontent.com/u/5501911?s=400&u=d3f33c22f67788aba810ba8e910452aff62ad7c9&v=4",
"contributions": [
{
Expand Down Expand Up @@ -309,7 +309,7 @@
"date": {
"year": 2023
},
"link": ""
"link": "https://www.asyncapi.com/casestudies/adeogroup"
},
{
"type": "presentation",
Expand All @@ -327,7 +327,25 @@
"year": 2023,
"month": "October"
},
"link": "https://www.youtube.com/watch?v=pFMmQVppV6s"
},
{
"type": "special contribution",
"title": "Stay at API Days AsyncAPI Booth to share with attendees.",
"date": {
"year": 2023,
"month": "December"
},
"link": ""
},
{
"type": "presentation",
"title": "Quoi de neuf dans AsyncAPI v3 ? Découvrez le en live avec la migration du use-case Adeo",
"date": {
"year": 2023,
"month": "December"
},
"link": "https://www.youtube.com/watch?v=WCK9_ZDv6K4"
}
]
},
Expand Down
37 changes: 37 additions & 0 deletions config/MAINTAINERS.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,18 @@
"cupid"
]
},
{
"name": "Ashish Padhy",
"github": "Shurtu-gal",
"linkedin": "ashish-padhy3023",
"slack": "U0572R8J927",
"twitter": "Shurtu_Gal",
"availableForHire": true,
"isTscMember": true,
"repos": [
"github-action-for-cli"
]
},
{
"name": "Cameron Rushton",
"github": "cameronrushton",
Expand Down Expand Up @@ -362,6 +374,19 @@
"bindings"
]
},
{
"name": "Samir AMZANI",
"github": "Amzani",
"slack": "U01N6AW5V5G",
"twitter": "amzani",
"linkedin": "amzani",
"availableForHire": false,
"company": "Postman",
"isTscMember": true,
"repos": [
"studio"
]
},
{
"name": "Sergio Moya",
"github": "smoya",
Expand Down Expand Up @@ -660,5 +685,17 @@
"website",
"community"
]
},
{
"name": "Ashmit JaiSarita Gupta",
"github": "devilkiller-ag",
"linkedin": "jaisarita",
"twitter": "jaisarita",
"slack": "U062LA14E58",
"availableForHire": true,
"isTscMember": true,
"repos": [
"modelina"
]
}
]
Loading

0 comments on commit 1eb59f7

Please sign in to comment.