Skip to content

Commit 6b0c458

Browse files
committed
contrinutors fetched by API
1 parent c107b74 commit 6b0c458

1 file changed

Lines changed: 28 additions & 8 deletions

File tree

src/components/Contributors/contributors.jsx

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,42 @@
1-
import React from 'react';
2-
import Data from '../../data/Contributors.json';
1+
import React, { useState, useEffect } from 'react';
2+
// import Data from '../../data/Contributors.json';
33
import Layout from '../../components/Layout/Layout';
44
import './css/index.css';
55

66
function Contribute() {
7+
const url = "https://api.github.com/repos/devvsakib/github-error-solve/contributors"
8+
const [data, setData] = useState([]);
9+
useEffect(() => {
10+
const fetchUsers = async (url) => {
11+
const response = await fetch(url);
12+
const users = await response.json();
13+
setData(users)
14+
}
15+
fetchUsers(url)
16+
}, [data.length])
17+
18+
// fun purpose, but looks better, isn't it?
19+
const changeColor = () => {
20+
const colorArray = ["4024e0", "1a5ba5", "118d7c", "8d54e1", "40E4F0", "7e1aa5"]
21+
let element;
22+
23+
return element = colorArray[Math.floor(Math.random() * 6)];
24+
}
725
return (
826
<Layout>
927
<section className='flex flex-wrap justify-center'>
1028
{
11-
Data.map(data =>
29+
// User filtered by CONTRIBUTIONS number, contribute more to jump in first place
30+
31+
data.map(user =>
1232
<div
1333
id="container"
14-
className="py-4 mb-4 col-span-12 md:col-span-6 xl:col-span-4 md:px-6 border-l-4 rounded-lg bg-dark-secondary flex flex-col mt-8 items-center mx-auto gap-2 px-3 border-gray hover:border-primary hover:text-primary">
15-
<h1>{data.name}</h1>
16-
<img className='pfp' src={data.image} />
34+
className={`py-4 mb-4 col-span-12 md:col-span-6 xl:col-span-4 md:px-6 border-l-4 rounded-lg bg-dark-secondary flex flex-col mt-8 items-center mx-auto gap-2 px-3 border-[#${changeColor()}] hover:border-primary hover:text-primary`}>
35+
<h1>{user.login} <small className='text-violet-400 container:hover:text-white'>{user.contributions}</small></h1>
36+
<img className='pfp' src={user.avatar_url} />
1737
<div className="links">
18-
<a className='spf-link' href={data.github}>Github</a>
19-
<a className='spf-link' href={data.twiter}>Twiter</a>
38+
<a className='spf-link' href={user.html_url}>Github</a>
39+
<a className='spf-link' href={user.twiter}>Twiter</a>
2040
{/* spf-link : abbreviation of (specific-link) for css */}
2141
</div>
2242
</div>

0 commit comments

Comments
 (0)