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}
/>
+