"use client"; import dynamic from "next/dynamic"; import { motion, useReducedMotion, type Variants } from "framer-motion"; import MagneticButton from "./cinematic/MagneticButton"; const HeroScene = dynamic(() => import("./cinematic/HeroScene"), { ssr: false, }); const SOCIAL_LINKS = [ { href: "https://github.com/evandrodevbr", label: "GitHub", icon: ( ), }, { href: "https://www.linkedin.com/in/evandro-fonseca-junior-0969aa1b0/", label: "LinkedIn", icon: ( ), }, { href: "mailto:evandrofonsecajunior@gmail.com", label: "Email", icon: ( <> ), stroke: true, }, ]; const HERO_POINTS = [ "Produtos conectados, integracoes complexas e operacoes criticas.", "Arquitetura mais clara para evoluir sem aumentar o caos tecnico.", "Execucao ponta a ponta, do discovery a entrega em producao.", ]; const PROOF_ITEMS = [ { label: "Quem eu ajudo", value: "Empresas que dependem de integracoes, hardware ou fluxos criticos para operar com seguranca e previsibilidade.", }, { label: "Como entrego", value: "Traduzo complexidade tecnica em backlog claro, arquitetura legivel e decisao mais rapida para o time.", }, { label: "Por que conversar", value: "Voce ganha um parceiro tecnico capaz de conectar produto, backend, interface e operacao sem perder contexto.", }, ]; export default function Hero() { const shouldReduceMotion = useReducedMotion(); const hour = new Date().getHours(); const greeting = hour >= 8 && hour < 12 ? "Ola! Vi seu portfolio. Podemos conversar?" : hour >= 13 && hour < 18 ? "Boa tarde! Vi seu portfolio. Podemos conversar?" : "Ola! Vi seu portfolio. Podemos conversar quando estiver disponivel?"; // Cinematic stagger variants const heroContainer: Variants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.1, delayChildren: 0.3, }, }, }; const easeOut: [number, number, number, number] = [0.16, 1, 0.3, 1]; const heroItem: Variants = { hidden: shouldReduceMotion ? { opacity: 0 } : { opacity: 0, y: 40, filter: "blur(10px)" }, visible: { opacity: 1, y: 0, filter: "blur(0px)", transition: { duration: 1, ease: easeOut, }, }, }; const heroItemSlow: Variants = { hidden: shouldReduceMotion ? { opacity: 0 } : { opacity: 0, y: 60, filter: "blur(12px)" }, visible: { opacity: 1, y: 0, filter: "blur(0px)", transition: { duration: 1.2, ease: easeOut, }, }, }; return (
{/* 3D Scene Background */} {!shouldReduceMotion && } {/* Cinematic overlays */}
{/* Scanlines effect */}
{/* Vignette */}
{/* Status badge with glow */}
Available for selected builds
Produtos conectados, integracoes criticas e entrega ponta a ponta
{/* Eyebrow */} Evandro Fonseca Junior | Engenheiro de software full-stack {/* Main heading with cinematic reveal */} Engenharia de software para sistemas que nao podem falhar. {/* Subtitle */} Ajudo empresas com produtos conectados, integracoes complexas e operacoes criticas a transformar arquitetura confusa em software estavel, mais rapido de evoluir e muito mais facil de operar. {/* Key points with staggered reveal */} {HERO_POINTS.map((point, i) => ( {point} ))} {/* CTAs with magnetic effect */} Agendar conversa tecnica Ver casos selecionados Download CV {/* Footer info with reveal */}
Garuva, SC / Brasil
Next.js, Tauri, Rust, Node.js
{SOCIAL_LINKS.map((link) => ( ))}
{/* Aside card with cinematic entrance */} {/* Top glow line */}
Why this positioning works

Menos atrito entre produto, engenharia e operacao.

Entro onde a complexidade cresce e ajudo a devolver clareza, ritmo de entrega e confiabilidade para o sistema e para o time.

{PROOF_ITEMS.map((item, index) => (
{item.label}

{item.value}

))}
{/* Scroll indicator */} Scroll
); }