Removed release and commit count its useless.
Some checks failed
Docker Deploy / build-and-push (push) Has been cancelled

This commit is contained in:
2025-11-22 17:31:52 -07:00
parent 3b1f9ae02c
commit be20d75288
2 changed files with 25 additions and 60 deletions

View File

@@ -26,39 +26,21 @@ const { project } = Astro.props;
{ {
project.giteaInfo && project.giteaInfo &&
(project.giteaInfo.commits > 0 || (project.giteaInfo.languages.length > 0 ||
project.giteaInfo.releases > 0 || project.giteaInfo.updatedAt) && (
project.giteaInfo.language) && (
<> <>
<div class="divider my-2 before:bg-accent-content/30 after:bg-accent-content/30" /> <div class="divider my-2 before:bg-accent-content/30 after:bg-accent-content/30" />
<div class="flex flex-wrap gap-3 justify-center text-sm"> <div class="flex flex-wrap gap-2 justify-center">
<div class="flex items-center gap-1.5"> {project.giteaInfo.languages.map(
<Icon (language: string) => (
name="mdi:source-commit" <div class="badge badge-sm gap-1 bg-accent-content/20 border-accent-content/30">
class="w-4 h-4" <Icon
/> name="mdi:code-tags"
<span class="font-semibold"> class="w-3 h-3"
{project.giteaInfo.commits} />
</span> {language}
<span class="opacity-70">commits</span> </div>
</div> ),
<div class="flex items-center gap-1.5">
<Icon name="mdi:tag-multiple" class="w-4 h-4" />
<span class="font-semibold">
{project.giteaInfo.releases}
</span>
<span class="opacity-70">releases</span>
</div>
</div>
<div class="flex flex-wrap gap-2 justify-center mt-2">
{project.giteaInfo.language && (
<div class="badge badge-sm gap-1 bg-accent-content/20 border-accent-content/30">
<Icon
name="mdi:code-tags"
class="w-3 h-3"
/>
{project.giteaInfo.language}
</div>
)} )}
{project.giteaInfo.updatedAt && ( {project.giteaInfo.updatedAt && (
<div class="badge badge-sm gap-1 bg-accent-content/20 border-accent-content/30"> <div class="badge badge-sm gap-1 bg-accent-content/20 border-accent-content/30">

View File

@@ -1,7 +1,5 @@
export interface GiteaRepoInfo { export interface GiteaRepoInfo {
commits: number; languages: string[];
releases: number;
language: string;
updatedAt: string; updatedAt: string;
size: number; size: number;
defaultBranch: string; defaultBranch: string;
@@ -51,44 +49,29 @@ export async function fetchGiteaRepoInfo(
const data = await response.json(); const data = await response.json();
let commitsCount = 0; let languages: string[] = [];
try { try {
const commitsUrl = `${config.domain}/api/v1/repos/${config.owner}/${config.repo}/commits?limit=1&stat=false`; const languagesUrl = `${config.domain}/api/v1/repos/${config.owner}/${config.repo}/languages`;
const commitsResponse = await fetch(commitsUrl, { const languagesResponse = await fetch(languagesUrl, {
headers: { headers: {
Accept: "application/json", Accept: "application/json",
}, },
signal: AbortSignal.timeout(5000), signal: AbortSignal.timeout(5000),
}); });
if (commitsResponse.ok) { if (languagesResponse.ok) {
const totalCount = commitsResponse.headers.get("X-Total-Count"); const languagesData = await languagesResponse.json();
commitsCount = totalCount ? parseInt(totalCount, 10) : 0; // Gitea returns an object like { "TypeScript": 12345, "JavaScript": 6789 }
} // Sort by usage (bytes) and extract language names
} catch (error) { languages = Object.keys(languagesData).sort(
// Ignore (a, b) => languagesData[b] - languagesData[a],
} );
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;
} }
} catch (error) { } catch (error) {
// Ignore // Ignore
} }
return { return {
commits: commitsCount, languages: languages.length > 0 ? languages : [],
releases: releasesCount,
language: data.language || "Unknown",
updatedAt: data.updated_at || data.pushed_at || "", updatedAt: data.updated_at || data.pushed_at || "",
size: data.size || 0, size: data.size || 0,
defaultBranch: data.default_branch || "main", defaultBranch: data.default_branch || "main",