chore: heygermany customer project
Some checks failed
Main / Setup and Test (push) Has been cancelled
Main / Build Website (push) Has been cancelled

This commit is contained in:
e2e
2026-07-11 11:13:08 +02:00
commit 2c4174b44b
370 changed files with 35601 additions and 0 deletions

View File

@@ -0,0 +1,94 @@
import { DEFAULT_LOCALE, LOCALES } from '../config'
const PUBLIC_LOCALIZED_PATHS = ['/', '/about', '/jobs/apply'] as const
const LEGAL_PATHS = [
'/legal/imprint',
'/legal/privacy',
'/legal/terms-and-conditions',
] as const
type SitemapPage = {
path: string
sitemap: {
lastmod: string
changefreq: 'weekly' | 'monthly' | 'yearly'
priority: number
alternateRefs?: Array<{
href: string
hreflang: string
}>
}
}
function normalizePath(pathname: string): string {
if (!pathname || pathname === '/') {
return '/'
}
return pathname.startsWith('/') ? pathname : `/${pathname}`
}
function getLocalizedPath(locale: string, pathname = '/'): string {
const normalizedPath = normalizePath(pathname)
return normalizedPath === '/'
? `/${locale}`
: `/${locale}${normalizedPath}`
}
const getLocalizedChangeFrequency = (
pathname: (typeof PUBLIC_LOCALIZED_PATHS)[number]
): SitemapPage['sitemap']['changefreq'] => {
return pathname === '/' ? 'weekly' : 'monthly'
}
function getAlternateRefs(pathname: (typeof PUBLIC_LOCALIZED_PATHS)[number]) {
return [
...LOCALES.map((locale) => ({
href: getLocalizedPath(locale, pathname),
hreflang: locale,
})),
{
href: getLocalizedPath(DEFAULT_LOCALE, pathname),
hreflang: 'x-default',
},
]
}
export function getSitemapPages(lastModified = new Date()): SitemapPage[] {
const lastmod = lastModified.toISOString().split('T')[0]!
const localizedPages: SitemapPage[] = LOCALES.flatMap((locale) =>
PUBLIC_LOCALIZED_PATHS.map((pathname) => ({
path: getLocalizedPath(locale, pathname),
sitemap: {
lastmod,
changefreq: getLocalizedChangeFrequency(pathname),
priority: pathname === '/' ? 1 : 0.8,
alternateRefs: getAlternateRefs(pathname),
},
}))
)
const legalPages: SitemapPage[] = LEGAL_PATHS.map((pathname) => ({
path: getLocalizedPath(DEFAULT_LOCALE, pathname),
sitemap: {
lastmod,
changefreq: 'yearly',
priority: 0.3,
},
}))
return [
...localizedPages,
...legalPages,
{
path: '/pilot',
sitemap: {
lastmod,
changefreq: 'weekly',
priority: 0.8,
},
},
]
}