prmbr-image-mksaas/src/lib/release/get-releases.ts
javayhu bc4b5527eb feat: add changelog page with localized release notes
- Implement releases collection in content-collections.ts for tracking version updates
- Create changelog page with dynamic release rendering for multiple locales
- Add ReleaseCard component to display version details and changes
- Implement getReleases utility function to fetch and sort release notes
- Update internationalization messages for changelog page
- Add English and Chinese release notes for v1.0.0, v1.1.0, and v1.2.0
2025-03-09 14:42:04 +08:00

32 lines
936 B
TypeScript

import { allReleases } from 'content-collections';
/**
* Gets all releases for the changelog page
* @param locale The locale to get releases for
* @returns An array of releases sorted by date (newest first)
*/
export async function getReleases(locale: string) {
// Find all published releases with matching locale
const releases = allReleases.filter(
(release) =>
release.published &&
release.locale === locale
);
// If no releases found with the current locale, try to find ones with any locale
if (releases.length === 0) {
const defaultReleases = allReleases.filter(
(release) => release.published
);
// Sort by date (newest first)
return defaultReleases.sort(
(a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()
);
}
// Sort by date (newest first)
return releases.sort(
(a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()
);
}