Files
bmp-website-2026/src/spa/pageRegistry.ts
2026-06-17 17:15:45 +02:00

61 lines
2.0 KiB
TypeScript

import { articles } from './data/blog'
import { events } from './data/events'
import { WINNERS } from './data/winners'
export type SpaPageRegistryEntry = {
path: string
slug: string
title: string
description?: string
source: 'static' | 'winner' | 'event' | 'blog'
}
const staticPages: SpaPageRegistryEntry[] = [
{ path: '/', slug: 'startseite', title: 'Startseite', source: 'static' },
{ path: '/teilnahme', slug: 'teilnahme', title: 'Teilnahme', source: 'static' },
{ path: '/preistraeger', slug: 'preistraeger', title: 'Preisträger', source: 'static' },
{ path: '/der-bmp', slug: 'der-bmp', title: 'Der BMP', source: 'static' },
{ path: '/netzwerk', slug: 'netzwerk', title: 'Netzwerk', source: 'static' },
{ path: '/presse', slug: 'presse', title: 'Presse', source: 'static' },
{ path: '/kontakt', slug: 'kontakt', title: 'Kontakt', source: 'static' },
{
path: '/formular-hochladen',
slug: 'formular-hochladen',
title: 'Formular hochladen',
source: 'static',
},
{
path: '/mitglied-werden',
slug: 'mitglied-werden',
title: 'Mitglied werden',
source: 'static',
},
{ path: '/datenschutz', slug: 'datenschutz', title: 'Datenschutz', source: 'static' },
{ path: '/impressum', slug: 'impressum', title: 'Impressum', source: 'static' },
]
export const spaPages: SpaPageRegistryEntry[] = [
...staticPages,
...WINNERS.map((winner) => ({
path: `/preistraeger/${winner.slug}`,
slug: `preistraeger-${winner.slug}`,
title: winner.name,
description: winner.shortDesc,
source: 'winner' as const,
})),
...events.map((event) => ({
path: `/presse/events/${event.slug}`,
slug: `presse-events-${event.slug}`,
title: event.title,
description: event.description,
source: 'event' as const,
})),
...articles.map((article) => ({
path: `/presse/blog/${article.slug}`,
slug: `presse-blog-${article.slug}`,
title: article.title,
description: article.excerpt,
source: 'blog' as const,
})),
]