Skip to content

Commit c2ed182

Browse files
authored
Merge pull request #77 from carsonSgit/about-section
feat: About Section
2 parents a2bd247 + d837bcc commit c2ed182

File tree

3 files changed

+56
-9
lines changed

3 files changed

+56
-9
lines changed

src/Components/About/About.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,16 @@ const About: React.FC = () => {
7272
</p>
7373
</div>
7474

75-
<div className="AboutImageContainer">
76-
<img
77-
className="AboutImage"
78-
src={`${process.env.PUBLIC_URL}/carson.webp`}
79-
alt="PlaceHolder"
80-
/>
81-
</div>
82-
</div>
75+
{/*<div className="AboutImageContainer">
76+
<img
77+
className="AboutImage"
78+
src={`${process.env.PUBLIC_URL}/carson.webp`}
79+
alt="Carson"
80+
/>
81+
</div>*/}
82+
</div>
8383
</div>
8484
);
8585
};
8686

87-
export default About;
87+
export default About;

src/Components/Data/getGitHubStats.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// https://api.github.com/users/carsonSgit
2+
3+
import { TopLanguage, LanguageData } from '../Interfaces/githubStats';
4+
5+
export const getGitHubProfileStats = async () => {
6+
const response = await fetch('https://api.github.com/users/carsonSgit');
7+
const data = await response.json();
8+
return data;
9+
}
10+
11+
export const getGitHubProfileLanguages = async (): Promise<TopLanguage[]> => {
12+
const reposResponse = await fetch('https://api.github.com/users/carsonSgit/repos');
13+
const reposData = await reposResponse.json();
14+
15+
const languageMap: Record<string, number> = {};
16+
17+
for (const repo of reposData) {
18+
const languagesResponse = await fetch(`https://api.github.com/repos/carsonSgit/${repo.name}/languages`);
19+
const languagesData: LanguageData = await languagesResponse.json();
20+
21+
for (const [language, bytes] of Object.entries(languagesData)) {
22+
if (language !== 'Jupyter Notebook' && language !== 'HTML' && language !== 'CSS' && language !== 'Mermaid' && language !== 'SCSS') {
23+
languageMap[language] = (languageMap[language] || 0) + bytes;
24+
}
25+
}
26+
}
27+
28+
return Object.entries(languageMap)
29+
.sort(([, a], [, b]) => b - a)
30+
.slice(0, 5)
31+
.map(([language, bytes]) => ({ language, bytes }));
32+
};
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
export interface GitHubStats {
2+
login: string;
3+
public_repos: number;
4+
followers: number;
5+
following: number;
6+
}
7+
8+
export interface LanguageData {
9+
[key: string]: number;
10+
}
11+
12+
export interface TopLanguage {
13+
language: string;
14+
bytes: number;
15+
}

0 commit comments

Comments
 (0)