feat(home): trocar o texto fixo de projetos publicados pela contagem real do GitHub

O hero mostra 'Mais de X projetos desenvolvidos' com o detalhamento de
publicos e privados; sem a contagem (token ausente ou API fora) o item some.
A home passa a revalidar uma vez por dia. README documenta o token.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
Evandro Fonseca JuniorandClaude Sonnet 5.5 committed 2026-10-08 04:12:03 -03:00
1 parent 4ba955e2c3
commit 0350e7e883
4 files changed
+76 -11

No files matched your search

+9 -2
View File
@@ -1,6 +1,10 @@
import { loadGithubRepoCounts } from "@/lib/github-stats";
import { loadFeaturedProjects, portfolio } from "@/lib/portfolio-data";
import CinematicHome from "./components/cinematic/CinematicHome";
/** A contagem do GitHub é consultada no servidor e renovada uma vez por dia. */
export const revalidate = 86_400;
/** Anos de experiência vêm do próprio texto do portfólio ("5 anos de experiência"); sem o trecho, o número some. */
function yearsOfExperience() {
const match = portfolio.personal.summary.match(/(\d+)\s+anos de experi/i);
@@ -8,12 +12,15 @@ function yearsOfExperience() {
}
export default async function Home() {
const projects = await loadFeaturedProjects();
const [projects, repos] = await Promise.all([
loadFeaturedProjects(),
loadGithubRepoCounts(),
]);
return (
<CinematicHome
heroStats={{
years: yearsOfExperience(),
projects: projects.length,
repos: repos ?? undefined,
demos: projects.filter(
(project) =>
project.demoUrl && project.demoAvailability !== "unavailable",