Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
196 changes: 154 additions & 42 deletions src/components/meetups.ts
Original file line number Diff line number Diff line change
@@ -1,34 +1,78 @@
// This file is auto-generated, please contact local@graphql.org to update
export const meetups = [
{
node: {
id: "london",
name: "London GraphQL",
link: "https://guild.host/london-graphql/events",
city: "London",
latitude: 51.51,
longitude: -0.12,
city: "London",
state: "",
country: "UK",
link: "https://guild.host/london-graphql",
prev: "2025-07-01",
next: "October 2025",
official: true,
},
},
{
node: {
id: "hyderabad",
name: "GraphQL Hyderabad",
latitude: 17.41,
longitude: 78.48,
city: "Hyderabad",
state: "",
country: "India",
link: "https://guild.host/graphql-hyderabad/",
prev: "2025-08-09",
next: "",
official: true,
},
},
{
node: {
id: "sydney",
name: "GraphQL Sydney",
link: "https://graphql.sydney/",
city: "Sydney",
latitude: -33.86,
longitude: 151.2,
city: "Sydney",
state: "",
country: "Australia",
link: "https://luma.com/graphql-sydney",
prev: "2024-11-12",
next: "",
official: false,
},
},
{
node: {
id: "nairobe",
name: "GraphQL Nairobe",
latitude: -1.29,
longitude: 36.82,
city: "Nairobe",
state: "",
country: "Kenya",
link: "https://www.meetup.com/nairobi-graphql-meetup/",
prev: "",
next: "",
official: false,
},
},
{
node: {
id: "20451795",
name: "ATX GraphQL",
name: "GraphQL Austin",
latitude: 30.27,
longitude: -97.71,
city: "Austin",
state: "TX",
country: "us",
country: "USA",
link: "https://www.meetup.com/atx-graphql",
prev: "2025-08-24",
next: "",
official: true,
},
},
{
Expand All @@ -39,8 +83,11 @@ export const meetups = [
longitude: -122.42,
city: "San Francisco",
state: "CA",
country: "us",
link: "https://www.meetup.com/sf-graphql",
country: "USA",
link: "http://meetup.com/GraphQL-SF",
prev: "",
next: "",
official: false,
},
},
{
Expand All @@ -49,76 +96,118 @@ export const meetups = [
name: "GraphQL Zurich",
latitude: 47.38,
longitude: 8.54,
city: "Zürich",
city: "Zurich",
state: "",
country: "ch",
country: "Switzerland",
link: "https://www.meetup.com/graphql-zurich",
prev: "",
next: "",
official: false,
},
},
{
node: {
id: "paris",
name: "GraphQL Paris",
latitude: 48.85,
longitude: 2.35,
city: "Paris",
state: "",
country: "France",
link: "https://www.meetup.com/fr-FR/parisgraphql/",
prev: "",
next: "2025-10-22",
official: true,
},
},
{
node: {
id: "29671383",
name: "GraphQL Seattle",
name: "Seattle GraphQL",
latitude: 47.61,
longitude: -122.33,
city: "Seattle",
state: "WA",
country: "us",
country: "USA",
link: "https://www.meetup.com/graphql-seattle",
prev: "",
next: "",
official: false,
},
},
{
node: {
id: "20208222",
name: "Amsterdam GraphQL Meetup",
name: "GraphQL Amsterdam",
latitude: 52.37,
longitude: 4.89,
city: "Amsterdam",
state: "",
country: "nl",
country: "Netherlands",
link: "https://www.meetup.com/amsterdam-graphql-meetup",
prev: "2025-09-07",
next: "",
official: true,
},
},
{
node: {
id: "37102548",
name: "GraphQL Gathering EU in Berlin",
name: "GraphQL Berlin",
latitude: 52.52,
longitude: 13.38,
longitude: 13.4,
city: "Berlin",
state: "",
country: "de",
link: "https://www.meetup.com/graphql-gathering-eu",
country: "Germany",
link: "https://www.meetup.com/graphql-berlin/",
prev: "2025-09-11",
next: "",
official: false,
},
},
{
node: {
id: "new-york",
name: "GraphQL New York",
link: "https://guild.host/graphql-new-york/events",
city: "New York",
latitude: 40.73,
longitude: -73.94,
city: "New York",
state: "NY",
country: "USA",
link: "https://guild.host/graphql-new-york/events",
prev: "",
next: "",
official: false,
},
},
{
node: {
id: "bangkok",
name: "GraphQL Bangkok",
link: "https://www.meetup.com/graphql-bangkok",
city: "Bangkok",
latitude: 13.75,
longitude: 100.5,
city: "Bangkok",
state: "",
country: "Thailand",
link: "https://www.meetup.com/graphql-bangkok",
prev: "",
next: "",
official: false,
},
},
{
node: {
id: "taipei",
name: "GraphQL Taipei",
link: "https://guild.host/graphql-taipei/events",
city: "Taipei",
latitude: 25.11,
longitude: 121.6,
city: "Taipei",
state: "",
country: "Taiwan",
link: "https://guild.host/graphql-taipei/events",
prev: "",
next: "",
official: false,
},
},
{
Expand All @@ -129,40 +218,56 @@ export const meetups = [
longitude: 34.77,
city: "Tel Aviv-Yafo",
state: "",
country: "il",
country: "Israel",
link: "https://www.meetup.com/graphql-tlv",
prev: "",
next: "",
official: false,
},
},
{
node: {
id: "bali",
name: "GraphQL Bali",
link: "https://guild.host/graphql-bali/events",
city: "Bali",
latitude: -8.41,
longitude: 115.19,
id: "oslo",
name: "GraphQL Oslo",
latitude: 59.91,
longitude: 10.75,
city: "Oslo",
state: "",
country: "Norway",
link: "https://guild.host/graphql-oslo/",
prev: "",
next: "",
official: true,
},
},
{
node: {
id: "bangalore",
name: "GraphQL Bangalore",
link: "https://www.meetup.com/graphql-bangalore",
city: "Bangkok",
latitude: 12.97,
longitude: 77.59,
id: "bialystock",
name: "GraphQL Białystok",
latitude: 53.13,
longitude: 23.16,
city: "Białystok",
state: "",
country: "Poland",
link: "https://guild.host/graphql-bialystok/",
prev: "",
next: "",
official: true,
},
},
{
node: {
id: "32869172",
name: "Copenhagen GraphQL Meetup Group",
name: "Copenhagen GraphQL",
latitude: 55.68,
longitude: 12.57,
city: "Copenhagen",
state: "",
country: "dk",
country: "Denmark",
link: "https://www.meetup.com/copenhagen-graphql-meetup-group",
prev: "",
next: "",
official: false,
},
},
{
Expand All @@ -173,8 +278,15 @@ export const meetups = [
longitude: 10,
city: "Hamburg",
state: "",
country: "de",
link: "https://www.meetup.com/graphql-hamburg",
country: "Germany",
link: "https://www.meetup.com/graphql-hamburg/",
prev: "",
next: "",
official: false,
},
},
]
].sort((a, z) =>
a.node.name
.replace(/\s*GraphQL\s*/, "")
.localeCompare(z.node.name.replace(/\s*GraphQL\s*/, "")),
)
20 changes: 13 additions & 7 deletions src/pages/community/events.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import "leaflet/dist/leaflet.css"
import pinkCircle from "./pink-circle.svg"
import { Button } from '../../app/conf/_components/button'

export function EventCard({ href, date, city, name, meta }) {
export function EventCard({ href, date, city, name, meta, official }) {
return (
<a
href={href}
Expand All @@ -28,7 +28,7 @@ export function EventCard({ href, date, city, name, meta }) {
target="_blank"
rel="noreferrer"
>
{date && (
{date && date instanceof Date && (
<div className="shrink-0 flex flex-col justify-center items-center bg-zinc-100 dark:bg-zinc-800 group-hover:dark:bg-zinc-700 lg:w-48 w-28">
<div className="text-5xl lg:text-7xl font-bold">{date.getDate()}</div>
<div className="text-sm lg:text-lg">
Expand All @@ -41,7 +41,7 @@ export function EventCard({ href, date, city, name, meta }) {
)}
<div className="bg-white dark:bg-neutral-900 group-hover:dark:bg-zinc-800 grow py-4 lg:py-7 px-5 lg:px-10 flex flex-col gap-4">
<b className="text-primary max-lg:text-xs">{meta}</b>
<div className="font-bold text-lg lg:text-2xl">{name}</div>
<div className="font-bold text-lg lg:text-2xl">{name}{official ? <>{" "}<span title="Official GraphQL Local">⭐️</span></> : ""}</div>
<div className="text-xs lg:text-lg flex flex-wrap lg:gap-x-6 gap-2">
<div className="flex items-center gap-2">
<LocationIcon className="fill-primary size-5" />
Expand Down Expand Up @@ -93,18 +93,18 @@ export function Events({ events }) {
)
}

{/*
## Events

<Events events={upcomingEvents} />

<Button href="/community/foundation/local-initiative" className="mx-auto my-6 !block">
Start a GraphQL Local!
</Button>


<details>
<summary>Past Events</summary>
<Events events={pastEvents} />
</details>
*/}

## Meetups

Expand All @@ -115,6 +115,10 @@ happy to promote your GraphQL event through the
Please contact us in the `#meetups-admin` channel on
[the community Discord channel](/community/#official-channels).

<Button href="/community/foundation/local-initiative" className="mx-auto my-6 !block">
Start a GraphQL Local!
</Button>

export function Meetups() {
useEffect(() => {
// Load only on client
Expand Down Expand Up @@ -144,7 +148,9 @@ export function Meetups() {
key={node.id}
href={node.link}
name={node.name}
city={node.city}
city={node.city + ", " + node.country}
official={node.official}
date={node.next || node.prev}
/>
))}
</>
Expand Down