diff --git a/data/icons/ny/reaktor.svg b/data/icons/ny/reaktor.svg new file mode 100644 index 0000000..11c174c --- /dev/null +++ b/data/icons/ny/reaktor.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/data/new-york-2024.yaml b/data/new-york-2024.yaml new file mode 100644 index 0000000..ac77238 --- /dev/null +++ b/data/new-york-2024.yaml @@ -0,0 +1,32 @@ +--- +info: + city: New York + link: new-york-2024 + date: 04/25/2024 + hour: '18:00' + icon: icons/ny/ny.svg + iconHover: icons/ny/ny-hover.svg + hostIcon: icons/ny/reaktor.svg + hostName: Reaktor + rsvpsClosed: false + food: true + maxCapacity: 50 +site: + city: New York + location: Reaktor 30 W 21st St, New York, NY 10010 (14th Floor) + googleMapsLink: https://maps.app.goo.gl/twih2oPd5upJ2ezF8 + calendarLink: https://www.google.com/calendar/render?action=TEMPLATE&text=QueerJS&details=Hosted+at+Reaktor+NYC+office.+When+you+get+here%2C+tell+front+desk+staff+that+you+are+going+to+Reaktor+office+on+14th+floor%29.&location=30+W+21st+St%2C+New+York%2C+NY+10010&dates=20240425T220000Z%2F20240426T020000Z + cfp: true +sponsors: + - name: Reaktor + link: https://reaktor.com + media: https://i.imgur.com/bmJTxU4.jpg +organizers: + - name: 3dwardsharp + mc: true + githubLink: edwardsharp + talk: 'Reaktor && functional programming (but mostly here to help)' + - name: Daniel Ehrenberg + mc: true + githubLink: littledan + twitterLink: littledan diff --git a/src/components/Organizers/index.js b/src/components/Organizers/index.js index 265dfa4..e765951 100644 --- a/src/components/Organizers/index.js +++ b/src/components/Organizers/index.js @@ -11,14 +11,23 @@ import { const size = 100 +const humanHref = (human) => { + if (human.githubLink) { + return `https://github.com/${human.githubLink}` + } + if (human.twitterLink || human.twitterHandle) { + return `https://twitter.com/${human.twitterLink || human.twitterHandle}` + } +} + const Organizers = ({ organizers }) => { return ( {organizers.map((human) => ( - + { - const { site, thanks, speakers, sponsors, info, mainOrganizer, announcement } = city + const { site, thanks, speakers, sponsors, info, mainOrganizer, announcement, organizers } = city const hasHeading = !site.fullDescription ? { heading: 'What?' } : {} + + const cityOrganizers = mainOrganizer || organizers return ( { )} - {mainOrganizer && mainOrganizer.length > 0 ? ( - 1 ? 'Organizers' : 'Organizer'}> - + + {cityOrganizers?.length ? ( + 1 ? 'Organizers' : 'Organizer'}> + ) : null} diff --git a/src/templates/city.js b/src/templates/city.js index 2670cd3..9d17c34 100644 --- a/src/templates/city.js +++ b/src/templates/city.js @@ -13,7 +13,7 @@ const City = ({ data = {} }) => { export default City export const query = graphql` - query($slug: String!) { + query ($slug: String!) { allAirtable(filter: { data: { city: { eq: $slug } } }) { edges { node {