mirror of
https://github.com/lux-tel/websites.git
synced 2026-10-30 20:31:36 +00:00
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import type { MetadataRoute } from 'next';
|
|
import { getPostsWithMetadata } from '@session/sanity-cms/queries/getPosts';
|
|
import { client } from '@/lib/sanity/sanity.client';
|
|
import { getPagesInfo } from '@session/sanity-cms/queries/getPages';
|
|
import { BASE_URL, SANITY_SCHEMA_URL } from '@/lib/constants';
|
|
|
|
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
|
const [posts, pages] = await Promise.all([
|
|
getPostsWithMetadata({ client }),
|
|
getPagesInfo({ client }),
|
|
]);
|
|
|
|
return [
|
|
{
|
|
url: BASE_URL,
|
|
lastModified: new Date(),
|
|
changeFrequency: 'weekly' as const,
|
|
priority: 1,
|
|
},
|
|
...pages.map((page) => ({
|
|
url: `${BASE_URL}/${page.slug.current}`,
|
|
lastModified: page._updatedAt,
|
|
changeFrequency: 'weekly' as const,
|
|
priority: 0.5,
|
|
})),
|
|
{
|
|
url: `${BASE_URL}${SANITY_SCHEMA_URL.POST}`,
|
|
lastModified: new Date(),
|
|
changeFrequency: 'weekly' as const,
|
|
priority: 0.8,
|
|
},
|
|
...posts.map((post) => ({
|
|
url: `${BASE_URL}${SANITY_SCHEMA_URL.POST}${post.slug.current}`,
|
|
lastModified: post._updatedAt,
|
|
changeFrequency: 'weekly' as const,
|
|
priority: 0.7,
|
|
})),
|
|
];
|
|
}
|