diff --git a/package-lock.json b/package-lock.json index 46e32e1..6b368a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@astrojs/solid-js": "^5.1.2", "@zentered/issue-forms-body-parser": "^2.2.0", "astro": "^5.15.2", - "gitevents-fetch": "^0.0.3", + "gitevents-fetch": "^1.4.0", "solid-js": "^1.9.10" }, "devDependencies": { @@ -4689,9 +4689,9 @@ } }, "node_modules/gitevents-fetch": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/gitevents-fetch/-/gitevents-fetch-0.0.3.tgz", - "integrity": "sha512-663+/XpXqAv3wHUdc7D7FM53AWhiH2uZ2bGcfbMv9Q4sClyS+rgO8TUM+fwJGxWi+2os4ArWOt4tS8hlS6/AVQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gitevents-fetch/-/gitevents-fetch-1.4.0.tgz", + "integrity": "sha512-btYLXIwoTTYJovKHdiAebBl+AMXOB170w+dt12jyNylBsMJrN+nnFhkRoULOMMaexozkRi/EHi8pno8mAYduJw==", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index a865134..d4d7766 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@astrojs/solid-js": "^5.1.2", "@zentered/issue-forms-body-parser": "^2.2.0", "astro": "^5.15.2", - "gitevents-fetch": "^0.0.3", + "gitevents-fetch": "^1.4.0", "solid-js": "^1.9.10" }, "devDependencies": { diff --git a/src/lib/events.js b/src/lib/events.js index 304e0e0..59483f1 100644 --- a/src/lib/events.js +++ b/src/lib/events.js @@ -2,7 +2,7 @@ * 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 } 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 @@ -121,3 +121,16 @@ export async function fetchTeamMembers(org, teamSlug) { return [] } } + +/** + * Fetch organization data from GitHub + */ +export async function fetchOrganization(org) { + try { + const orgData = await getOrganization(org) + return orgData + } catch (error) { + console.error(`Error fetching organization ${org}:`, error) + return null + } +} diff --git a/src/pages/index.astro b/src/pages/index.astro index 98fcaee..45af737 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,7 +1,7 @@ --- import BaseLayout from '../layouts/BaseLayout.astro' import { BackgroundImage } from '../components/BackgroundImage' -import { fetchUpcomingEvents, fetchPastEvents, getSpeakers, fetchTeamMembers } from '../lib/events.js' +import { fetchUpcomingEvents, fetchPastEvents, getSpeakers, fetchTeamMembers, fetchOrganization } from '../lib/events.js' // Server-side data fetching using gitevents-fetch let events = [] @@ -9,6 +9,7 @@ let pastEvents = [] let speakers = [] let advocates = [] let members = [] +let orgData = null try { // Fetch from GitHub using gitevents-fetch package @@ -17,7 +18,8 @@ try { speakers = getSpeakers(events) advocates = await fetchTeamMembers('boulder-js', 'advocates') members = await fetchTeamMembers('boulder-js', 'members') - console.log(`Fetched ${events.length} upcoming events, ${pastEvents.length} past events, ${speakers.length} speakers, ${advocates.length} advocates, and ${members.length} members`) + orgData = await fetchOrganization('boulder-js') + console.log(`Fetched ${events.length} upcoming events, ${pastEvents.length} past events, ${speakers.length} speakers, ${advocates.length} advocates, ${members.length} members, and org data`) } catch (error) { console.error('Failed to fetch events:', error) } @@ -66,6 +68,22 @@ try { Boulder, CO + {orgData?.memberCount && ( +