import Link from "next/link"; import { type CSSProperties, Fragment } from "react"; import HeroField from "./cinematic/HeroField"; const SOCIAL_LINKS = [ { href: "https://github.com/evandrodevbr", label: "GitHub", }, { href: "https://www.linkedin.com/in/evandro-fonseca-junior-0969aa1b0/", label: "LinkedIn", }, { href: "mailto:evandrofonsecajunior@gmail.com", label: "Email", }, ]; /** Números reais, calculados em app/page.tsx a partir de public/portfolio-data.json (nada digitado à mão). */ export type HeroStats = { years?: number; projects?: number; demos?: number; }; function statItems(stats?: HeroStats) { if (!stats) return []; return [ stats.years ? [String(stats.years), "anos de experiência"] : null, stats.projects ? [String(stats.projects), "projetos publicados"] : null, stats.demos ? [String(stats.demos), "com demonstração online"] : null, ].filter((item): item is [string, string] => item !== null); } /** Título em palavras para a entrada em cascata; o texto segue inteiro para leitores de tela e buscadores. */ const TITLE = "Sistemas sob medida para operações que não cabem em soluções prontas.".split(" "); const ACCENT = new Set([1, 2]); export default function Hero({ stats }: { stats?: HeroStats }) { const items = statItems(stats); return (
); }