From be20d75288c3c39186b00a871fc400779cd54090 Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Sat, 22 Nov 2025 17:31:52 -0700 Subject: [PATCH] Removed release and commit count its useless. --- src/components/ProjectCard.astro | 44 ++++++++++---------------------- src/utils/gitea.ts | 41 +++++++++-------------------- 2 files changed, 25 insertions(+), 60 deletions(-) diff --git a/src/components/ProjectCard.astro b/src/components/ProjectCard.astro index d0e8911..af7e2a8 100644 --- a/src/components/ProjectCard.astro +++ b/src/components/ProjectCard.astro @@ -26,39 +26,21 @@ const { project } = Astro.props; { project.giteaInfo && - (project.giteaInfo.commits > 0 || - project.giteaInfo.releases > 0 || - project.giteaInfo.language) && ( + (project.giteaInfo.languages.length > 0 || + project.giteaInfo.updatedAt) && ( <>
-
-
- - - {project.giteaInfo.commits} - - commits -
-
- - - {project.giteaInfo.releases} - - releases -
-
-
- {project.giteaInfo.language && ( -
- - {project.giteaInfo.language} -
+
+ {project.giteaInfo.languages.map( + (language: string) => ( +
+ + {language} +
+ ), )} {project.giteaInfo.updatedAt && (
diff --git a/src/utils/gitea.ts b/src/utils/gitea.ts index 87835f3..c74ea0b 100644 --- a/src/utils/gitea.ts +++ b/src/utils/gitea.ts @@ -1,7 +1,5 @@ export interface GiteaRepoInfo { - commits: number; - releases: number; - language: string; + languages: string[]; updatedAt: string; size: number; defaultBranch: string; @@ -51,44 +49,29 @@ export async function fetchGiteaRepoInfo( const data = await response.json(); - let commitsCount = 0; + let languages: string[] = []; try { - const commitsUrl = `${config.domain}/api/v1/repos/${config.owner}/${config.repo}/commits?limit=1&stat=false`; - const commitsResponse = await fetch(commitsUrl, { + const languagesUrl = `${config.domain}/api/v1/repos/${config.owner}/${config.repo}/languages`; + const languagesResponse = await fetch(languagesUrl, { headers: { Accept: "application/json", }, signal: AbortSignal.timeout(5000), }); - if (commitsResponse.ok) { - const totalCount = commitsResponse.headers.get("X-Total-Count"); - commitsCount = totalCount ? parseInt(totalCount, 10) : 0; - } - } catch (error) { - // Ignore - } - - let releasesCount = 0; - try { - const releasesUrl = `${config.domain}/api/v1/repos/${config.owner}/${config.repo}/releases`; - const releasesResponse = await fetch(releasesUrl, { - headers: { - Accept: "application/json", - }, - signal: AbortSignal.timeout(5000), - }); - if (releasesResponse.ok) { - const releases = await releasesResponse.json(); - releasesCount = Array.isArray(releases) ? releases.length : 0; + if (languagesResponse.ok) { + const languagesData = await languagesResponse.json(); + // Gitea returns an object like { "TypeScript": 12345, "JavaScript": 6789 } + // Sort by usage (bytes) and extract language names + languages = Object.keys(languagesData).sort( + (a, b) => languagesData[b] - languagesData[a], + ); } } catch (error) { // Ignore } return { - commits: commitsCount, - releases: releasesCount, - language: data.language || "Unknown", + languages: languages.length > 0 ? languages : [], updatedAt: data.updated_at || data.pushed_at || "", size: data.size || 0, defaultBranch: data.default_branch || "main",