Skip to content
Draft
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
34 changes: 22 additions & 12 deletions src/lib/events.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@
* Events fetching using gitevents-fetch package
* Wraps gitevents-fetch and transforms data for the UI
*/
import { upcomingEvents as getUpcomingEvents, pastEvents as getPastEvents, getTeam as getTeamMembers, getOrganization } from 'gitevents-fetch'
import {
upcomingEvents as getUpcomingEvents,
pastEvents as getPastEvents,
getTeam as getTeamMembers,
getOrganization
} from 'gitevents-fetch'

/**
* Transform event data from gitevents-fetch to UI format
Expand All @@ -13,15 +18,21 @@ function transformEvent(event) {

// Transform talks to speakers format
// Use GitHub user's display name, fallback to username
const speakers = event.talks?.map((talk) => ({
name: talk.author?.name || talk.author?.login || 'TBA',
login: talk.author?.login,
githubUrl: talk.author?.login ? `https://github.com/${talk.author.login}` : null,
talk: talk.title,
url: talk.url,
avatarUrl: talk.author?.avatarUrl,
abstract: talk.facets?.['talk-abstract']?.text || talk.facets?.['talk-description']?.text || talk.body?.substring(0, 200)
})) || []
const speakers =
event.talks?.map((talk) => ({
name: talk.author?.name || talk.author?.login || 'TBA',
login: talk.author?.login,
githubUrl: talk.author?.login
? `https://github.com/${talk.author.login}`
: null,
talk: talk.title,
url: talk.url,
avatarUrl: talk.author?.avatarUrl,
abstract:
talk.facets?.['talk-abstract']?.text ||
talk.facets?.['talk-description']?.text ||
talk.body?.substring(0, 200)
})) || []

return {
id: event.number.toString(),
Expand Down Expand Up @@ -127,8 +138,7 @@ export async function fetchTeamMembers(org, teamSlug) {
*/
export async function fetchOrganization(org) {
try {
const orgData = await getOrganization(org)
return orgData
return await getOrganization(org)
} catch (error) {
console.error(`Error fetching organization ${org}:`, error)
return null
Expand Down