Hero: replace particle field with cobe globe (Capricorn view, multi-axis drag, reduced-motion safe), telemetry HUD with pointer parallax, particle text build effect, Space Grotesk display font. SEO: short titles with template, PT-BR accents, twitter cards on dynamic cases, escaped JSON-LD via lib/jsonld.ts, CSP report-only, 25 service FAQs answer-first. Design: fix TW4 layered reset killing spacing utilities, literal @theme tokens, mobile hero overflow, header overlap, empty case cards. Remove framer-motion (unified on motion/react), header version badge, phone number from hero CTA. Production build verified (24 static pages).
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import type { MetadataRoute } from "next";
|
|
import { caseStudies, servicePages, siteUrl } from "@/lib/site-content";
|
|
|
|
export default function sitemap(): MetadataRoute.Sitemap {
|
|
const now = new Date();
|
|
|
|
return [
|
|
{
|
|
url: siteUrl,
|
|
lastModified: now,
|
|
changeFrequency: "weekly",
|
|
priority: 1.0,
|
|
},
|
|
{
|
|
url: `${siteUrl}/curriculo`,
|
|
lastModified: now,
|
|
changeFrequency: "monthly",
|
|
priority: 0.95,
|
|
},
|
|
{
|
|
url: `${siteUrl}/servicos`,
|
|
lastModified: now,
|
|
changeFrequency: "monthly",
|
|
priority: 0.9,
|
|
},
|
|
{
|
|
url: `${siteUrl}/cases`,
|
|
lastModified: now,
|
|
changeFrequency: "monthly",
|
|
priority: 0.9,
|
|
},
|
|
...servicePages.map((service) => ({
|
|
url: `${siteUrl}/servicos/${service.slug}`,
|
|
lastModified: now,
|
|
changeFrequency: "monthly" as const,
|
|
priority: 0.8,
|
|
})),
|
|
...caseStudies.map((caseStudy) => ({
|
|
url: `${siteUrl}/cases/${caseStudy.id}`,
|
|
lastModified: now,
|
|
changeFrequency: "monthly" as const,
|
|
priority: 0.75,
|
|
})),
|
|
];
|
|
}
|