import type { Metadata } from "next"; import Link from "next/link"; import { notFound } from "next/navigation"; import HeroBackground from "@/app/components/cinematic/HeroBackground"; import MagneticButton from "@/app/components/cinematic/MagneticButton"; import WhatsAppLink from "@/app/components/WhatsAppLink"; import { safeJsonLd } from "@/lib/jsonld"; import { buildBreadcrumbList, buildServiceJsonLd } from "@/lib/seo"; import { getRelatedCases, getServicePage, servicePages, siteName, siteUrl, } from "@/lib/site-content"; interface ServicePageProps { params: Promise<{ slug: string; }>; } export function generateStaticParams() { return servicePages.map((service) => ({ slug: service.slug })); } export async function generateMetadata({ params, }: ServicePageProps): Promise { const { slug } = await params; const service = getServicePage(slug); if (!service) { return { title: `Serviço não encontrado`, }; } const url = `${siteUrl}/servicos/${service.slug}`; return { title: service.seoTitle, description: service.metaDescription, alternates: { canonical: url, }, openGraph: { title: service.seoTitle, description: service.metaDescription, url, siteName, type: "article", }, twitter: { card: "summary_large_image", title: service.seoTitle, description: service.metaDescription, }, }; } export default async function ServicePage({ params }: ServicePageProps) { const { slug } = await params; const service = getServicePage(slug); if (!service) { notFound(); } const relatedCases = getRelatedCases(service.relatedCaseIds); const pageUrl = `${siteUrl}/servicos/${service.slug}`; const jsonLd = { "@context": "https://schema.org", "@graph": [ buildServiceJsonLd(service), buildBreadcrumbList(pageUrl, [ ["Início", siteUrl], ["Serviços", `${siteUrl}/servicos`], [service.navLabel, pageUrl], ] as const), ], }; return (

{service.eyebrow}

{service.headline}

{service.answer}

{service.ctaLabel} no WhatsApp Ver casos relacionados

Fale diretamente com Evandro. Abre uma conversa, sem precisar preencher um formulário. Atendimento remoto a partir de Garuva, SC.

Para quem faz sentido

    {service.audience.map((item) => (
  • {item}
  • ))}

O que podemos entregar

    {service.outcomes.map((item) => (
  • {item}
  • ))}
Da conversa à entrega

Como trabalhamos

    {service.process.map((step) => (
  1. {step}
  2. ))}
Possibilidades de uso

Imagine na sua rotina

Exemplos ilustrativos para ajudar a explicar o serviço, não projetos já entregues. O seu escopo será definido na conversa.

    {service.examples.map((example) => (
  • {example}
  • ))}
Detalhes técnicos e tecnologias
    {service.technicalDetails.map((detail) => (
  • {detail}
  • ))}

Tecnologias consideradas neste serviço. A seleção depende do problema e do ambiente; não é uma lista obrigatória para todo projeto.

    {service.stack.map((item) => (
  • {item}
  • ))}

Casos relacionados

Projetos para conhecer meu trabalho

Referências de problemas e soluções relacionados. Cada projeto usa as tecnologias indicadas no próprio case; não representa todas as plataformas ou tecnologias oferecidas neste serviço.

{relatedCases.map((caseStudy) => ( ))}
Próximo passo

Conte o que você precisa resolver.

Pode ser uma ideia, uma tarefa que toma tempo ou um sistema que precisa melhorar. Não é preciso chegar com uma solução técnica. Atendo a partir de Garuva, no Norte de Santa Catarina, e remotamente.

{service.ctaLabel} no WhatsApp Ver todos os serviços
{service.faq && service.faq.length > 0 ? (

Dúvidas comuns

Perguntas frequentes

Respostas diretas às perguntas que costumam aparecer antes de cada projeto começar.

{service.faq.map((item) => (

{item.question}

{item.answer}

))}
) : null}
); }