feat(home): prova no topo, contato sem atrito e conversão medida
Home mais curta (hero, vitrine de clientes, sobre, serviços, IA resumida, depoimentos e contato), faixa de clientes e telas reais no hero, sem números do GitHub. Barra de cookies fina, WhatsApp fixo no celular, formulário com e-mail opcional e alternativa por e-mail, página /ia, eventos de e-mail, redes e currículo e conversão do Ads opcional por variável. Rodapé em 3 colunas. Remove componentes órfãos (LighthouseMetrics, Skills, Experience, contagem do GitHub).
This commit is contained in:
1 parent
6e1022b58c
commit
8d07b8c6bb
60 files changed
+4392
-2124
No files matched your search
+10
-15
@@ -1,10 +1,9 @@
|
||||
import { loadGithubRepoCounts } from "@/lib/github-stats";
|
||||
import { loadFeaturedProjects, portfolio } from "@/lib/portfolio-data";
|
||||
import { portfolio } from "@/lib/portfolio-data";
|
||||
import { loadFeaturedProjects } from "@/lib/portfolio-data.server";
|
||||
import { clientNames, isClientProject, testimonials } from "@/lib/proof";
|
||||
import { serviceHubLinks } from "@/lib/site-content";
|
||||
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);
|
||||
@@ -12,19 +11,15 @@ function yearsOfExperience() {
|
||||
}
|
||||
|
||||
export default async function Home() {
|
||||
const [projects, repos] = await Promise.all([
|
||||
loadFeaturedProjects(),
|
||||
loadGithubRepoCounts(),
|
||||
]);
|
||||
// A home mostra só trabalho de cliente; protótipos e projetos pessoais ficam em /cases.
|
||||
const projects = (await loadFeaturedProjects()).filter(isClientProject);
|
||||
return (
|
||||
<CinematicHome
|
||||
heroStats={{
|
||||
years: yearsOfExperience(),
|
||||
repos: repos ?? undefined,
|
||||
}}
|
||||
heroStats={{ years: yearsOfExperience() }}
|
||||
clients={clientNames}
|
||||
projects={projects}
|
||||
experiences={portfolio.experiences}
|
||||
skillCategories={portfolio.skills.technical}
|
||||
testimonials={testimonials}
|
||||
serviceLinks={serviceHubLinks}
|
||||
/>
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user