## Summary Implements Spec 216 for the public website homepage in `apps/website`. This reworks the homepage into the required narrative flow: - hero with one dominant CTA, one secondary CTA, product-near visual, and bounded trust subclaims - outcome framing section - grouped capability model section - explicit trust block before the final CTA - dated progress teaser backed by changelog entries - final CTA transition to contact It also adds the full spec-kit artifact set for `specs/216-homepage-structure` and updates the smoke suite to prove section order, CTA hierarchy, onward route reachability, and mobile readability. ## Validation - `corepack pnpm build:website` - `cd apps/website && corepack pnpm exec playwright test` ## Notes - Branch: `216-homepage-structure` - Commit: `097f8e70` - Remote branch has been pushed and is ready for review. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #254
18 lines
611 B
TypeScript
18 lines
611 B
TypeScript
import { getCollection } from 'astro:content';
|
|
|
|
import type { ProgressTeaserEntry } from '@/types/site';
|
|
|
|
export async function getRecentChangelogEntries(limit = 3): Promise<ProgressTeaserEntry[]> {
|
|
const changelog = await getCollection('changelog');
|
|
|
|
return changelog
|
|
.filter((entry) => entry.data.draft !== true)
|
|
.sort((a, b) => b.data.publishedAt.getTime() - a.data.publishedAt.getTime())
|
|
.slice(0, limit)
|
|
.map((entry) => ({
|
|
date: entry.data.publishedAt,
|
|
description: entry.data.description,
|
|
title: entry.data.title,
|
|
}));
|
|
}
|