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: new community section from community branch #917

Merged
merged 35 commits into from
Mar 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
736336a
feat: new community section (#902)
AceTheCreator Aug 22, 2022
e6767e5
Merge branch 'master' into community
akshatnema Aug 31, 2022
8c756a5
Merge branch 'master' into community
akshatnema Aug 31, 2022
1c0cdec
Merge branch 'master' into community
akshatnema Sep 8, 2022
217ad55
Merge branch 'master' into community
akshatnema Sep 18, 2022
a39d753
Merge branch 'master' into community
akshatnema Sep 30, 2022
4584302
Merge branch 'master' into community
akshatnema Oct 6, 2022
9494848
Merge branch 'master' into community
akshatnema Oct 27, 2022
bca7c9b
Merge branch 'master' into community
akshatnema Nov 7, 2022
fa3e9fa
feat: community landing page (#1119)
AceTheCreator Dec 7, 2022
c693da4
Merge branch 'master' into community
derberg Dec 7, 2022
aba4300
Merge branch 'master' into community
akshatnema Dec 19, 2022
f50fb2d
Merge branch 'master' into community
akshatnema Dec 24, 2022
c4d57fc
Merge branch 'master' into community
akshatnema Jan 10, 2023
3ff0a93
Merge branch 'master' into community
akshatnema Jan 17, 2023
bce0da2
feat: ambassador program page (#1123)
AceTheCreator Jan 20, 2023
e98a4c0
Merge branch 'master' into community
akshatnema Jan 20, 2023
0888bec
resolved communityItems with master
akshatnema Jan 20, 2023
c6fb6ce
feat: community events page (#1120)
AceTheCreator Feb 3, 2023
5863133
Merge branch 'master' into community
akshatnema Feb 3, 2023
b22c957
Merge branch 'master' into community
akshatnema Feb 6, 2023
691bc77
corrected ambassadors file
akshatnema Feb 7, 2023
dc54d5a
Merge branch 'master' into community
akshatnema Feb 14, 2023
fb6ffac
fix: minor fixes (#1315)
AceTheCreator Feb 14, 2023
85d28d2
Merge branch 'master' into community
akshatnema Feb 14, 2023
6b4ea31
Merge branch 'master' into community
akshatnema Feb 28, 2023
8089782
Merge branch 'master' into community
akshatnema Feb 28, 2023
be5a92b
fix: minor enhancements (#1380)
AceTheCreator Mar 3, 2023
0c6eac0
Merge branch 'master' into community
akshatnema Mar 4, 2023
f0e7afb
fix: more enhancement to UI (#1402)
AceTheCreator Mar 15, 2023
093e4d0
Merge branch 'master' into community
akshatnema Mar 18, 2023
f1b6515
fix: event page update (#1449)
AceTheCreator Mar 26, 2023
8d725d9
Merge branch 'master' into community
akshatnema Mar 26, 2023
19d29b0
Merge branch 'master' into community
derberg Mar 28, 2023
4c43126
Merge branch 'master' into community
akshatnema Mar 30, 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
17 changes: 2 additions & 15 deletions components/Calendar.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,12 @@
import moment from 'moment';
import eventsData from '../config/meetings.json';
import GoogleCalendarButton from './buttons/GoogleCalendarButton';
import Heading from './typography/Heading';
import { getEvents } from '../lib/staticHelpers';

export default function Calendar({ className = '', size, text="text-left" }) {
const CALENDAR_URL =
'https://calendar.google.com/calendar/embed?src=c_q9tseiglomdsj6njuhvbpts11c%40group.calendar.google.com&ctz=UTC';
const eventsExist = eventsData.length > 0;

function getEvents() {
let meetingsWithDates = eventsData.map((event) => ({
...event,
date: moment(event.date),
}));
meetingsWithDates.sort((a, b) => a.date - b.date);
return meetingsWithDates
.filter((meeting) => meeting.date > new Date())
.slice(0, size || meetingsWithDates.length);
}


return (
<div
className={`rounded-md border border-gray-200 overflow-hidden bg-white p-4`}
Expand All @@ -28,7 +15,7 @@ export default function Calendar({ className = '', size, text="text-left" }) {
Upcoming events
</Heading>
<ul>
{getEvents().map((event, index) => (
{getEvents(eventsData, size).map((event, index) => (
<li key={index}>
<a
href={event.url}
Expand Down
55 changes: 36 additions & 19 deletions components/Meeting.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,50 @@ import YoutubeButton from './buttons/YoutubeButton';
import Paragraph from './typography/Paragraph';
import TextLink from './typography/TextLink';
import Heading from './typography/Heading';
import { ArrowRightIcon } from '@heroicons/react/outline';

export default function Meeting({
name = '',
purpose = '',
host = '',
hostProfile = '',
youtube = ''
youtube = '',
bg = ''
}) {

return (
<div className="rounded-md border border-gray-200 overflow-hidden bg-white p-4">
<Heading level="h2" typeStyle="heading-md-semibold">
{ name }
</Heading>
<Paragraph typeStyle="body-md" className="my-4">
<strong>Purpose:</strong> { purpose }
</Paragraph>
<Paragraph typeStyle="body-md" className="my-4">
<strong>Host:</strong>
{ hostProfile
? (<TextLink href={ hostProfile } target="_blank">
{ host }
</TextLink>)
: ` ${host}.`
}
</Paragraph>
<YoutubeButton text="Watch recordings" href={ youtube }/>
</div>
<a href={youtube} target="_blank" rel="noreferrer">
<div
className={`meeting-card overflow-hidden p-4 bg-${bg} w-full lg:w-[300px] h-[300px] cursor-pointer hover:bg-dark hover:text-white flex flex-col justify-between`}
>
<div>
<h3 className="text-xl">{name}</h3>
<div>
<Paragraph typeStyle="body-sm" className="my-4" textColor="white">
{purpose}
</Paragraph>
</div>
</div>
<div className="flex items-center justify-between">
<Paragraph typeStyle="body-md" className="my-4">
<strong>Host:</strong>
{hostProfile ? (
<TextLink
href={hostProfile}
target="_blank"
className="hover:text-primary-500"
>
{host}
</TextLink>
) : (
` ${host}.`
)}
</Paragraph>
<div>
<ArrowRightIcon className="w-[20px] ml-3 text-slate-400" />
</div>
</div>
</div>
</a>
);
}
75 changes: 75 additions & 0 deletions components/community/Card.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
import Link from 'next/link';
import React from 'react'
import IconArrowUp from '../icons/ArrowUp';
import Heading from '../typography/Heading';
import Paragraph from '../typography/Paragraph';

export default function SmallHomeCards({icon, tagline, taglineBg, type="large", heading, description, bg, btnText, btnBg, link}) {
if(type === "small"){
return (
<Link href={link} target="_blank">
<a target={link.includes('http') && '_blank'}>
<div
className={`p-3 cursor-pointer border shadow-xl rounded w-full border-[#ad20e2] ${bg}`}
>
<div className="p-2 rounded-xl bg-gray-100 text-center w-min text-xs flex justify-between">
<span>{icon}</span> <span className="ml-[5px]">{tagline}</span>
</div>
<div className="mt-3">
<Heading level="h1" typeStyle="heading-md">
{heading}
</Heading>
</div>
<div className="mt-2">
<Paragraph
textColor={bg ? 'text-black' : 'text-gray-600'}
typeStyle="body-sm"
>
{description}
</Paragraph>
</div>
<div className="text-right w-full flex justify-end">
<IconArrowUp className="w-[20px]" />
</div>
</div>
</a>
</Link>
);
}
return (
<div
className={`h-140 w-full shadow-xl rounded p-6 border ${
!bg && 'border-[#ad20e2]'
} ${bg}`}
>
<div
className={`p-2 rounded-xl text-center w-min text-xs flex justify-between ${taglineBg}`}
>
<span>{icon}</span> <span className="ml-[5px]">{tagline}</span>
</div>

<div className="mt-10">
<Heading
level="h1"
typeStyle="heading-lg"
textColor={bg && 'text-white'}
>
{heading}
</Heading>
</div>
<div className="mt-6">
<Paragraph textColor={bg && 'text-gray-400'}>{description}</Paragraph>
</div>
<div className="mt-10">
<Link href={link}>
<a>
<div className={`flex ${btnBg} cursor-pointer`}>
<IconArrowUp className={`w-[20px] ${btnBg}`} />{' '}
<span className="ml-2 text-sm">{btnText}</span>
</div>
</a>
</Link>
</div>
</div>
);
}
47 changes: 47 additions & 0 deletions components/community/Header.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import React from 'react'
import IconRocket from '../icons/Rocket';
import Heading from '../typography/Heading';
import Button from '../buttons/Button';

export default function Header({className = ''}) {
return (
<div className="text-center flex justify-center flex-col items-center mt-10 md:mt-0">
<Heading
className="countdown-text-gradient font-bold"
level="h6"
typeStyle="heading-xs"
>
AsyncAPI Community
</Heading>
<div className="mt-10">
<Heading level="h1" typeStyle="heading-xl" className="">
<span className="title block md:-mt-1 leading-[3rem]">
Welcome to the
<br /> AsyncAPI Community
</span>
</Heading>
</div>
<div className="mt-5 w-5/6">
<Heading
level="h2"
typeStyle="body-md"
textColor="text-gray-700"
className="text-slate-500 text-sm"
>
We're an OSS community that's passionate about AsyncAPI. Join us in
building the future of Event Driven APIs by asking questions,
sharing ideas, and building connections.
</Heading>
</div>
<div className="mt-10">
<Button
className="block md:inline-block focus:outline-none"
text="AsyncAPI Discussions"
href="https://github.com/orgs/asyncapi/discussions"
target="_blank"
icon={<IconRocket className="w-5 h-5 -mb-1 ml-1" />}
/>
</div>
</div>
);
}
37 changes: 37 additions & 0 deletions components/community/Hero.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import orbitData from '../../config/orbitData.json';
import Header from './Header';

export default function Hero({ className = '' }) {
return (
<>
<div className="overflow-hidden orbits">
<div className="orbit-container">
<div id="first-orbit" className="orbit">
{orbitData[0].map((orbit) => (
<div key={orbit.id} className={orbit.id}>
<img src={orbit.img} alt={orbit.alt} className="orbit-img" />
</div>
))}
<div className="w-full absolute h-full flex justify-center z-40">
<Header />
</div>
</div>
<div id="second-orbit" className="orbit">
{orbitData[1].map((orbit) => (
<div key={orbit.id} className={orbit.id}>
<img src={orbit.img} alt={orbit.alt} />
</div>
))}
</div>
<div id="third-orbit" className="orbit">
{orbitData[2].map((orbit) => (
<div key={orbit.id} className={orbit.id}>
<img src={orbit.img} alt={orbit.alt} />
</div>
))}
</div>
</div>
</div>
</>
);
}
40 changes: 40 additions & 0 deletions components/community/HomeCard.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import React from 'react'
import Heading from '../typography/Heading';
import Button from '../buttons/Button';

export default function HomeCards({headline, title, description, btnText, link, className}) {
return (
<div className="z-40 mt-20 bg-white w-full md:h-130 rounded-lg shadow-xl md:flex md:justify-between">
<div className="p-10 flex justify-between w-full md:w-2/5 h-auto flex-col text-center md:text-left">
<div>
<Heading
level="h2"
typeStyle="heading-md"
textColor="text-purple-300"
>
{headline}
</Heading>
</div>
<div>
<Heading level="h2" typeStyle="heading-lg" className="mt-10">
{title}
</Heading>
<Heading
level="h2"
typeStyle="body-lg"
textColor="text-gray-700"
className="text-slate-500 text-sm mt-10"
>
{description}
</Heading>
<div className="mt-10">
<Button text={btnText} buttonSize="medium" href={link} />
</div>
</div>
</div>
<div
className={`w-full h-fit-content md:w-3/6 flex justify-end rounded-r-lg bg-cover bg-center ${className}`}
/>
</div>
);
}
31 changes: 31 additions & 0 deletions components/icons/Ambassador.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
export default function IconArrowDown({ className = '' }) {
return (
<svg
width="11"
height="7"
viewBox="0 0 512 512"
ill="#000000"
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<path
d="M494.462,199.131c-9.25-9.25-21.001-15.101-33.751-16.935l0.031-119.217c0.001-2.52-1.101-4.914-3.015-6.552
c-1.914-1.638-4.447-2.358-6.94-1.967l-77.373,12.116c-4.195,0.656-7.288,4.27-7.288,8.518l-0.001,23.084l-246.52,49.785
c-4.668,0.943-7.688,5.49-6.744,10.157c0.826,4.091,4.423,6.917,8.442,6.917c0.566,0,1.139-0.056,1.715-0.172l243.106-49.095
l-0.002,40.208c0,4.761,3.859,8.621,8.62,8.622c0.001,0,0,0,0.001,0c4.761,0,8.621-3.859,8.621-8.62l0.006-73.508l60.128-9.416
l-0.086,336.877l-60.119-9.38l0.067-210.367c0.001-4.761-3.857-8.622-8.618-8.624c-0.001,0-0.002,0-0.003,0
c-4.76,0-8.62,3.858-8.621,8.619l-0.056,177.003L58.964,304.995l0.551-127.309l35.661-7.203c4.668-0.943,7.688-5.49,6.744-10.157
c-0.941-4.667-5.487-7.686-10.157-6.744l-42.548,8.593c-4.009,0.809-6.898,4.324-6.915,8.414l-0.095,21.991H8.621
c-4.762,0-8.621,3.86-8.621,8.621v83.121c0,4.761,3.859,8.621,8.621,8.621h33.153l-0.083,19.058
c-0.017,4.115,2.876,7.667,6.909,8.486l108.919,22.07l-23.899,97.845H93.582l3.653-92.705c0.187-4.758-3.517-8.766-8.275-8.955
c-4.759-0.177-8.766,3.519-8.953,8.275l-4.006,101.667c-0.092,2.344,0.775,4.623,2.4,6.314c1.625,1.691,3.869,2.646,6.214,2.646
h55.775c3.974,0,7.433-2.716,8.375-6.576l6.992-28.63l39.942,0.02c0.002,0,0.003,0,0.005,0c3.751,0,7.071-2.424,8.213-5.997
l19.363-60.591l142.776,28.9l-0.007,23.156c-0.002,4.25,3.093,7.866,7.292,8.521l77.362,12.07c0.444,0.07,0.886,0.103,1.329,0.103
c2.04,0,4.034-0.725,5.606-2.071c1.913-1.637,3.014-4.029,3.015-6.548l0.031-119.159c12.745-1.81,24.521-7.658,33.806-16.931
C517.848,260.537,517.836,222.505,494.462,199.131z M41.849,275.703H17.243v-65.878h24.89L41.849,275.703z M189.408,405.214
l-29.44-0.014l14.464-59.215l31.844,6.445L189.408,405.214z M482.297,271.718c-6.003,5.995-13.468,9.98-21.583,11.63
l-0.014-52.636l0.008-31.022c8.118,1.66,15.576,5.646,21.562,11.633C498.923,227.976,498.934,255.072,482.297,271.718z"
/>
</svg>
);
}
11 changes: 11 additions & 0 deletions components/icons/ArrowUp.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export default function IconArrowUp({ className }) {
return (
<svg
className={className || 'inline-block'}
viewBox="0 0 32 32"
>
<path d="M25,0H7A7,7,0,0,0,0,7V25a7,7,0,0,0,7,7H25a7,7,0,0,0,7-7V7A7,7,0,0,0,25,0Zm5,25a5,5,0,0,1-5,5H7a5,5,0,0,1-5-5V7A5,5,0,0,1,7,2H25a5,5,0,0,1,5,5Z" />
<path d="M24,7H14V9h7.59L7.29,23.29l1.41,1.41L23,10.41V18h2V8A1,1,0,0,0,24,7Z" />
</svg>
);
}
22 changes: 22 additions & 0 deletions components/icons/AsyncAPI.js

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions components/icons/Calendar copy.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions components/icons/Community.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading