diff --git a/components/index/cards/onboard.js b/components/index/cards/onboard.js new file mode 100644 index 00000000..353eaba4 --- /dev/null +++ b/components/index/cards/onboard.js @@ -0,0 +1,94 @@ +import {useEffect, useState} from 'react' +import {Box, Flex, Grid, Text} from 'theme-ui' +import CardModel from './card-model' +import Buttons from './button' + +/** @jsxImportSource theme-ui */ + +export default function Onboard({ stars }) { + const [projects, setProjects] = useState(0) + + useEffect(() => { + fetch( + 'https://api.github.com/search/issues?q=repo:hackclub/onboard+is:pr+is:merged+label:Submission', + ) + .then((response) => response.json()) + .then((data) => setProjects(data.total_count)) + }, []) + + return ( + + + OnBoard + + + + + {projects} projects built + + + Circuit boards are magical. You design one, we'll print it. + Completely for free! Get a $100 grant to fuel the creation of your dream + project with OnBoard. + + + + + Get a grant + + + Learn how to design a PCB + + + See what other hackers have built + + + + + ) +} \ No newline at end of file diff --git a/pages/api/stars.js b/pages/api/stars.js index 3160caa3..a506404d 100644 --- a/pages/api/stars.js +++ b/pages/api/stars.js @@ -11,16 +11,17 @@ export async function fetchStars() { sprigHardware: '?', hackclub: '?', hackathons: '?', - blot: '?' + blot: '?', + onboard: '?' } } const { organization } = await graphql( ` { organization(login: "hackclub") { - blot: repository(name: "blot") { - stargazerCount - } + blot: repository(name: "blot") { + stargazerCount + } sinerider: repository(name: "sinerider") { stargazerCount } @@ -36,6 +37,9 @@ export async function fetchStars() { sprigHardware: repository(name: "sprig-hardware") { stargazerCount } + onboard: repository(name: "onboard") { + stargazerCount + } } } `, diff --git a/pages/index.js b/pages/index.js index 801db2c1..05a4d353 100644 --- a/pages/index.js +++ b/pages/index.js @@ -29,6 +29,7 @@ import GitHub from '../components/index/github' import Photo from '../components/photo' import Comma from '../components/comma' import Haxidraw from '../components/index/cards/haxidraw' +import Onboard from '../components/index/cards/onboard' /** @jsxImportSource theme-ui */ @@ -746,6 +747,7 @@ function Page({ gameImage={gameImage} gameImage1={gameImage1} /> +