Use Bank trasnparency API for opensource page (#669)

* Use Bank trasnparency API for opensource page

* Update opensource.js

* Update pages/opensource.js

* Update pages/opensource.js

Co-authored-by: Gary Tou <gary@garytou.com>

* Update pages/opensource.js

* Update pages/opensource.js

* Update pages/opensource.js

Co-authored-by: Sam Poder <sam.r.poder@gmail.com>
Co-authored-by: Gary Tou <gary@garytou.com>
This commit is contained in:
Ella 2023-01-05 20:12:58 -05:00 committed by GitHub
parent 654798e611
commit f2fa3658b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -50,7 +50,7 @@ export const BankProject = ({ name, url }) => (
</Card>
)
const Page = ({ repos }) => (
const Page = ({ repos, transparentAccounts }) => (
<>
<Meta
as={Head}
@ -105,38 +105,14 @@ const Page = ({ repos }) => (
All open sourced through Hack Club Bank Transparency Mode.
</Text>
<Grid columns={2} gap={3} mt={2} mb={[4]}>
<BankProject name="HQ" url={`https://bank.hackclub.com/hq/`} />
<BankProject
name="Endowment"
url={`https://bank.hackclub.com/endowment`}
/>
<BankProject
name="Discretionary Fund"
url={`https://bank.hackclub.com/discretionary-fund`}
/>
<BankProject
name="Summer of Making"
desc={`Our 2020 Summer Program`}
url="https://bank.hackclub.com/summer-of-making"
/>
<BankProject
name="Summer of Making Stickers"
url="https://bank.hackclub.com/som-sticker-shipments"
/>
<BankProject
name="The Hacker Zephyr"
url={`https://bank.hackclub.com/zephyr`}
/>
<BankProject
name="Community Team"
url="https://bank.hackclub.com/community-team"
/>
<BankProject
name="Wild Wild West"
url="https://bank.hackclub.com/wild-wild-west"
/>
<BankProject name="Assemble" url="https://bank.hackclub.com/assemble" />
<BankProject name="Epoch" url="https://bank.hackclub.com/epoch" />
{transparentAccounts
.map(account => (
<BankProject
key={account.id}
name={account.name}
url={`https://bank.hackclub.com/${account.slug}`}
/>
))}
</Grid>
<Heading
variant="headline"
@ -260,5 +236,10 @@ export async function getStaticProps() {
const repos = await octokit.paginate('GET /orgs/{org}/repos', {
org: 'hackclub'
})
return { props: { repos }, revalidate: 30 }
const transparentAccounts = (await fetch(
'https://bank.hackclub.com/api/v3/organizations'
).then(res => res.json())).filter(account => account.category === 'hack club hq')
return { props: { repos, transparentAccounts }, revalidate: 30 }
}