/
githubmirror
/
ui
Обзор
Документация
Войти
/
githubmirror
/
ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
apps/v4/components/github-link.tsx
38 строк
1 KB
shadcn
fix
10 мар 2026, 15:28
10 мар 2026, 15:28
20a94dd
Код
Авторство
О чём код?
import * as React from "react" import Link from "next/link" import { siteConfig } from "@/lib/config" import { Icons } from "@/components/icons" import { Button } from "@/registry/new-york-v4/ui/button" import { Skeleton } from "@/registry/new-york-v4/ui/skeleton" export function GitHubLink() { return ( <Button asChild size="sm" variant="ghost" className="h-8 shadow-none"> <Link href={siteConfig.links.github} target="_blank" rel="noreferrer"> <Icons.gitHub /> <React.Suspense fallback={<Skeleton className="h-4 w-[42px]" />}> <StarsCount /> </React.Suspense> </Link> </Button> ) } export async function StarsCount() { const data = await fetch("https://api.github.com/repos/shadcn-ui/ui", { next: { revalidate: 86400 }, }) const json = await data.json() const formattedCount = json.stargazers_count >= 1000 ? `${Math.round(json.stargazers_count / 1000)}k` : json.stargazers_count?.toLocaleString() return ( <span className="w-fit text-xs text-muted-foreground tabular-nums"> {formattedCount} </span> ) }