Skip to content

Commit 1263c04

Browse files
authored
feat: contributors section added (#28)
Signed-off-by: Aditya Prasad Mohanty <[email protected]>
1 parent 9bc6459 commit 1263c04

File tree

3 files changed

+130
-0
lines changed

3 files changed

+130
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import React, { useState, useEffect } from "react";
2+
import axios from "axios";
3+
import styles from "./styles.module.css";
4+
import RedirectButton from "../RedirectButton";
5+
import Link from "@docusaurus/Link";
6+
7+
export default function HomepageContributors() {
8+
const [contributors, setContributors] = useState([]);
9+
10+
useEffect(() => {
11+
axios
12+
.get(`https://api.github.com/repos/kubearmor/KubeArmor/contributors`)
13+
.then((response) => {
14+
const topContributors = response.data.slice(0, 27);
15+
setContributors(topContributors);
16+
})
17+
.catch((error) => {
18+
console.error("Error fetching contributors:", error);
19+
});
20+
}, []);
21+
22+
return (
23+
<section className={`contributors ${styles.contributors}`}>
24+
<h2 className={styles.contributorsTitle}>CONTRIBUTORS</h2>
25+
<h1 className={styles.contributorsHeader}>
26+
Shout Out to KubeArmor Contributors
27+
</h1>
28+
<div className={styles.container}>
29+
{contributors.map((contributor) => (
30+
<Link
31+
key={contributor.id}
32+
className={styles.containerImage}
33+
to={contributor.html_url}
34+
>
35+
<img
36+
src={contributor.avatar_url}
37+
alt={contributor.login}
38+
className={styles.image}
39+
/>
40+
</Link>
41+
))}
42+
</div>
43+
<div className={styles.contributorsButton}>
44+
<RedirectButton
45+
redirectColor="var(--color-primary)"
46+
redirectLink="https://github.com/kubearmor/KubeArmor/graphs/contributors"
47+
redirectText="View More"
48+
/>
49+
</div>
50+
</section>
51+
);
52+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
.contributors {
2+
display: flex;
3+
flex-direction: column;
4+
padding: 16rem 5.625rem 0;
5+
background: var(--color-bg);
6+
}
7+
.contributorsTitle {
8+
font-family: var(--font-main-medium);
9+
font-size: 1rem;
10+
font-weight: 500;
11+
color: var(--color-primary);
12+
letter-spacing: 0.18rem;
13+
align-self: center;
14+
}
15+
.contributorsHeader {
16+
font-family: var(--font-main-semibold);
17+
font-size: 2rem;
18+
font-weight: 600;
19+
color: var(--color-font-header);
20+
align-self: center;
21+
text-align: center;
22+
}
23+
.container {
24+
display: grid;
25+
grid-template-columns: repeat(9, 1fr);
26+
grid-template-rows: repeat(3, 1fr);
27+
gap: 3rem;
28+
margin-top: 3rem;
29+
}
30+
.containerImage {
31+
padding: 0;
32+
align-self: center;
33+
}
34+
.image {
35+
border: 1px solid var(--color-footer-field);
36+
border-radius: 50%;
37+
height: 5.25rem;
38+
width: 5.25rem;
39+
overflow: hidden;
40+
}
41+
.contributorsButton {
42+
display: flex;
43+
flex-direction: row;
44+
margin-top: 3rem;
45+
justify-content: center;
46+
}
47+
@media screen and (max-width: 1080px) {
48+
.contributors {
49+
padding: 10rem 2rem 0;
50+
}
51+
.container {
52+
display: grid;
53+
grid-template-columns: repeat(7, 1fr);
54+
grid-template-rows: repeat(4, 1fr);
55+
gap: 3rem;
56+
margin-top: 3rem;
57+
}
58+
}
59+
@media screen and (max-width: 880px) {
60+
.container {
61+
display: grid;
62+
grid-template-columns: repeat(5, 1fr);
63+
grid-template-rows: repeat(6, 1fr);
64+
gap: 3rem;
65+
margin-top: 3rem;
66+
}
67+
}
68+
@media screen and (max-width: 550px) {
69+
.container {
70+
display: grid;
71+
grid-template-columns: repeat(3, 1fr);
72+
grid-template-rows: repeat(9, 1fr);
73+
gap: 3rem;
74+
margin-top: 3rem;
75+
}
76+
}

src/pages/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import HomepageAdopters from "../components/HomepageAdopters";
2020
import HomepageCommunity from "../components/HomepageCommunity";
2121
import HomepageMembership from "../components/HomepageMembership";
2222
import HomepageSupport from "../components/HomepageSupport";
23+
import HomepageContributors from "../components/HomepageContributors";
2324

2425
// function HomepageHeader() {
2526
// const {siteConfig} = useDocusaurusContext();
@@ -62,6 +63,7 @@ export default function Home() {
6263
<HomepageAdopters />
6364
<HomepageCommunity />
6465
<HomepageMembership />
66+
<HomepageContributors />
6567
<HomepageSupport />
6668
</main>
6769
</Layout>

0 commit comments

Comments
 (0)