summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/fetchGhStars.ts
blob: de3e2e80c854086147c21eb88dc917d963837dd3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
async function getStars(): Promise<string> {
  const res = await fetch("https://api.github.com/repos/OpenCut-app/OpenCut", {
    // Cache for 1 hour (3600 seconds)
    next: { revalidate: 3600 },
  });

  const data = await res.json();
  const count = data.stargazers_count;

  if (count >= 1_000_000)
    return (count / 1_000_000).toFixed(1).replace(/\.0$/, "") + "M";
  if (count >= 1_000)
    return (count / 1_000).toFixed(1).replace(/\.0$/, "") + "k";
  return count.toString();
}

export async function ghStars() {
  const stars = await getStars();
  return stars;
}