Files
bmp-website-2026/src/spa/homeWinnerSelection.ts
2026-07-31 14:10:44 +02:00

24 lines
643 B
TypeScript

import { resolveCmsRelationships, type CmsRouteDoc } from '@/spa/cmsRoute'
const FALLBACK_YEAR = 2025
const FALLBACK_LIMIT = 8
type FallbackWinner = {
id: string | number
year?: string | number
}
export function resolveHomeWinners(
featured: unknown,
cmsWinners: CmsRouteDoc[],
fallbackWinners: FallbackWinner[],
) {
const selectedWinners = Array.isArray(featured) ? featured : []
if (selectedWinners.length) return resolveCmsRelationships(selectedWinners, cmsWinners)
return (cmsWinners.length ? cmsWinners : fallbackWinners)
.filter((winner) => Number(winner.year) === FALLBACK_YEAR)
.slice(0, FALLBACK_LIMIT)
}