Diagnóstico sem case que não cabe; desktop com o GCC Installer como projeto próprio; IoT com o Twins Lab e a nota da Apolo. Mosaico de pôsteres em /servicos e /cases, faixa baixa em uma coluna no currículo, privacidade e laboratório; Laboratório como lista compacta; SEV começando por catálogo, pedido no WhatsApp e painel; Joinville e SC nos títulos; imagens do LCP com fetchPriority e sizes reais; pré-carregamento só no hover; 404 com Open Graph próprio.
29 lines
809 B
TypeScript
29 lines
809 B
TypeScript
import { CaseCover, coverSizes } from "@/app/cases/_components/CaseCover";
|
|
import HoverPrefetchLink from "@/app/components/HoverPrefetchLink";
|
|
import type { CaseStudyContent } from "@/lib/site-content";
|
|
|
|
/** Capa do case de destaque ao lado do título do serviço. Sem case com captura, não mostra nada. */
|
|
export function ServiceHeroCover({
|
|
caseStudy,
|
|
}: {
|
|
caseStudy?: CaseStudyContent;
|
|
}) {
|
|
if (!caseStudy) return null;
|
|
|
|
return (
|
|
<HoverPrefetchLink
|
|
href={`/cases/${caseStudy.id}`}
|
|
className="block min-w-0"
|
|
>
|
|
<span className="sr-only">Ver o case {caseStudy.title}</span>
|
|
<CaseCover
|
|
id={caseStudy.id}
|
|
title={caseStudy.title}
|
|
demoUrl={caseStudy.demoUrl}
|
|
sizes={coverSizes.hero}
|
|
priority
|
|
/>
|
|
</HoverPrefetchLink>
|
|
);
|
|
}
|