import type { PortfolioProjectView } from "@/lib/portfolio-data"; import type { Testimonial } from "@/lib/proof"; import About from "../About"; import type { ClientLink } from "../ClientStrip"; import Contact from "../Contact"; import EngineeringWithAI from "../EngineeringWithAI"; import Hero, { type HeroStats } from "../Hero"; import HomeFaq from "../HomeFaq"; import Projects from "../Projects"; import { displayUrl } from "../showcase/BrowserFrame"; import Testimonials from "../Testimonials"; import { WorkModalities } from "../WorkModalities"; import CinematicMain from "./CinematicMain"; /** Projeto cujo endereço aparece na barra do navegador de HeroWork (a SEV Moda Íntima, com domínio próprio). */ const HERO_WORK_PROJECT = "sev-modaintima"; /** * 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. */ 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[]; }) { const shownUrl = displayUrl({ demoUrl: projects.find((project) => project.id === HERO_WORK_PROJECT) ?.demoUrl, }); // endereço de hospedagem (vercel.app) nunca vai para a barra: sem domínio próprio, ela mostra "pré-visualização" const heroWorkUrl = shownUrl && !/vercel\.app/i.test(shownUrl.text) ? shownUrl : null; return ( ); }