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:
@@ -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 [];
|
||||
|
||||
Reference in New Issue
Block a user