feat: display commit count instead of gitlab stars on the homepage

This commit is contained in:
Kaan 2024-03-24 07:15:16 +03:00
parent 9da5ac1b00
commit 384ef7a32a
2 changed files with 9 additions and 2 deletions

View file

@ -6,6 +6,7 @@ let starCount = 0;
let roleMembers = { let roleMembers = {
"1214817156420862012": 50, "1214817156420862012": 50,
}; };
let gitCommits = 0;
async function fetchServerSideData() { async function fetchServerSideData() {
console.log("Fetching member count"); console.log("Fetching member count");
@ -26,18 +27,22 @@ async function fetchServerSideData() {
}, },
}) })
: Promise.resolve({ json: () => ({ star_count: 0 }) }), // Default to 0 if no token is provided : Promise.resolve({ json: () => ({ star_count: 0 }) }), // Default to 0 if no token is provided
fetch('https://git.suyu.dev/api/v1/repos/suyu/suyu/commits?stat=false&verification=false&files=false&limit=1')
]; ];
const [res, roles, gitlabRes] = await Promise.all(promises); const [res, roles, gitlabRes, suyuGitRes] = await Promise.all(promises);
const jsonPromises = [res.json(), roles.json(), gitlabRes.json()]; const jsonPromises = [res.json(), roles.json(), gitlabRes.json()];
const [resJson, rolesJson, gitlabResJson] = await Promise.all(jsonPromises); const [resJson, rolesJson, gitlabResJson] = await Promise.all(jsonPromises);
memberCount = resJson.approximate_member_count; memberCount = resJson.approximate_member_count;
starCount = gitlabResJson.star_count; starCount = gitlabResJson.star_count;
gitCommits = parseInt(suyuGitRes?.headers?.get('x-total'), 10) || 0;
if (DISCORD_USER_TOKEN) roleMembers = rolesJson; if (DISCORD_USER_TOKEN) roleMembers = rolesJson;
console.log("Member count:", memberCount); console.log("Member count:", memberCount);
console.log("Stars count:", starCount); console.log("Stars count:", starCount);
console.log('Git commit count', gitCommits);
} }
if (!building) { if (!building) {
@ -52,5 +57,6 @@ export async function load({ cookies }) {
memberCount, memberCount,
starCount, starCount,
roleMembers, roleMembers,
gitCommits
}; };
} }

View file

@ -10,6 +10,7 @@
$: memberCount = parseFloat(data.memberCount?.toPrecision(2)); $: memberCount = parseFloat(data.memberCount?.toPrecision(2));
$: contributors = parseFloat(data.roleMembers["1214817156420862012"]?.toPrecision(2)); $: contributors = parseFloat(data.roleMembers["1214817156420862012"]?.toPrecision(2));
$: starCount = parseFloat(data.starCount?.toPrecision(2)); $: starCount = parseFloat(data.starCount?.toPrecision(2));
$: gitCommits = parseFloat(data.gitCommits?.toPrecision(2));
let metadata = { let metadata = {
url: "https://suyu.dev", url: "https://suyu.dev",
title: "suyu - Open-source, non-profit Switch emulator", title: "suyu - Open-source, non-profit Switch emulator",
@ -116,7 +117,7 @@
> >
<h1 class="text-[48px] leading-[0.9]">By the numbers</h1> <h1 class="text-[48px] leading-[0.9]">By the numbers</h1>
<HomepageCounter count={contributors} subText="dedicated contributors" /> <HomepageCounter count={contributors} subText="dedicated contributors" />
<HomepageCounter count={starCount} subText="GitLab stars" /> <HomepageCounter count={gitCommits} subText="Git commits" />
<HomepageCounter count={4000} subText="supported games" /> <HomepageCounter count={4000} subText="supported games" />
<HomepageCounter count={memberCount} subText="members on Discord" /> <HomepageCounter count={memberCount} subText="members on Discord" />
</div> </div>