import { safeJsonLd } from "@/lib/jsonld"; import type { PortfolioProjectView } from "@/lib/portfolio-data"; import type { Testimonial } from "@/lib/proof"; import { buildOfferServicesJsonLd } from "@/lib/seo"; import About from "../About"; import type { ClientLink } from "../ClientStrip"; import Contact from "../Contact"; import Hero, { type HeroStats } from "../Hero"; import HomeFaq from "../HomeFaq"; import Projects from "../Projects"; import Testimonials from "../Testimonials"; import { WorkModalities } from "../WorkModalities"; import CinematicMain from "./CinematicMain"; /** * Dados estruturados da home: as três ofertas como nós Service (provider ligado à pessoa e área de atendimento). Só elas: * o WebSite e a Person já saem do layout, e repeti-los aqui duplicaria os dados. Sem ProfessionalService nem LocalBusiness * (docs/seo-geo-operations.md). O script fica aqui, e não em app/page.tsx, para a página continuar devolvendo só a home. */ const jsonLd = { "@context": "https://schema.org", "@graph": buildOfferServicesJsonLd(), }; /** * Cenas da home, em componente de servidor: sem hooks aqui. Os hooks de rolagem e de chegada por fragmento ficam * na ilha de cliente CinematicMain, que recebe as cenas como filhos. * A ordem é a da conversa de venda: hero, projetos (a prova), ofertas ("Escolha por onde começar"), quem conduz, * perguntas frequentes e contato. A revisão de app feito com IA não tem cena própria: a oferta e a FAQ levam a /ia. */ export default function CinematicHome({ projects, clients, testimonials, heroStats, }: { heroStats?: HeroStats; /** Só projetos de cliente (o filtro é de app/page.tsx). */ projects: PortfolioProjectView[]; clients?: ClientLink[]; testimonials?: Testimonial[]; }) { return ( <> ); }