news/featured: own header + tighter pool, hide AI suggestions sidebar

NewsPageClient now accepts kicker / heading / subtitle / hideAiSuggestions
props so the curated Featured Editorial view can speak with its own voice
instead of borrowing 'Industry News' copy. Featured fetch tightened from
'category ILIKE featured' (63 rows incl. PR-tagged content) to
'featured=true' (editorial pins only), so the page no longer trails into
generic news cards under the lead group.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ryan Salazar
2026-05-29 11:06:00 +00:00
parent a93133e71f
commit 07966f556f
3 changed files with 36 additions and 8 deletions

View File

@@ -340,12 +340,15 @@ export async function getLegacyArticlesBySection(
export async function getLegacyFeaturedArticles(limit = 200): Promise<Article[]> {
try {
// Strict mode: only rows the editorial team has explicitly pinned via
// wp_imported_posts.featured=true. The broader category='featured' pool
// also contains older PR-leaning items that should not surface on the
// public Featured Editorial page.
const { data, error } = await client()
.from("wp_imported_posts")
.select(SELECT_COLS + ",featured")
.eq("status", "published")
.ilike("category", "featured")
.order("featured", { ascending: false })
.eq("featured", true)
.order("wp_published_at", { ascending: false, nullsFirst: false })
.limit(limit);
if (error || !data) return [];