From 8be2ccbff2224fa5a358607d44dede9bf37dc6b7 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Thu, 14 May 2026 16:39:24 +0000 Subject: [PATCH] Deploy-1 fix + P0-6/7/8: Suspense wrap, carousel arrows, banner reposition, search-box removal Deploy-1 build failed because NewsPageClient now calls useSearchParams. - src/app/news/page.tsx: wrap NewsPageClient in so static generation can bail out to client rendering cleanly. P0-6 (Featured carousel arrows): - FeaturedBento: brighten arrow buttons (text-[#ccc] over bg-[#1a1a1a] with #3a3a3a border; previously near-invisible #666 over the same background), enlarge to w-8 h-8, hover fills to blue. Wrap the arrow group with role/aria + Left/Right keyboard nav. P0-7 (728x90 reposition): - Header: move the leaderboard block from above the main nav to AFTER the sticky nav, so it sits between the nav and The Beat ticker. P0-8 (remove Latest search box): - ArticleFeed: drop the in-section search input + clear button. The top-right header search is now the sole search UI. searchQuery state remains since the active-filter chip code still references it. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/app/home-page/components/ArticleFeed.tsx | 32 +------------------ .../home-page/components/FeaturedBento.tsx | 23 +++++++++---- src/app/news/page.tsx | 8 ++++- src/components/Header.tsx | 18 +++++------ 4 files changed, 34 insertions(+), 47 deletions(-) diff --git a/src/app/home-page/components/ArticleFeed.tsx b/src/app/home-page/components/ArticleFeed.tsx index bf5cf49..1d5c119 100644 --- a/src/app/home-page/components/ArticleFeed.tsx +++ b/src/app/home-page/components/ArticleFeed.tsx @@ -506,39 +506,9 @@ export default function ArticleFeed() { {sortedFiltered.length?.toLocaleString()} article{sortedFiltered.length !== 1 ? "s" : ""} - {/* Search + Filters */} + {/* Filters only — site-wide search lives in the top-right header */}
- {/* Search bar row with Advanced Filters toggle */}
-
- -
{/* Advanced filters toggle button */} {/* Position indicator */} - + {offset + 1}–{Math.min(offset + CARDS_PER_PAGE, rotatingStories?.length)}/{rotatingStories?.length}
diff --git a/src/app/news/page.tsx b/src/app/news/page.tsx index 3c0918e..2247791 100644 --- a/src/app/news/page.tsx +++ b/src/app/news/page.tsx @@ -1,4 +1,5 @@ import type { Metadata } from "next"; +import { Suspense } from "react"; import NewsPageClient from "./NewsPageClient"; import { getLegacyArticlesBySection } from "@/lib/articles/legacy-source"; @@ -13,5 +14,10 @@ export const metadata: Metadata = { export default async function NewsPage() { const articles = await getLegacyArticlesBySection("news", 200); - return ; + // Suspense boundary required because NewsPageClient uses useSearchParams. + return ( + + + + ); } diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 89cb07e..66d1c7a 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -365,15 +365,6 @@ export default function Header() {
- {/* HEADER LEADERBOARD — site-wide 728x90 between utility bar and main nav */} - {ADS_728X90.length > 0 && ( -
-
- -
-
- )} - {/* MAIN NAV */}
+ + {/* HEADER LEADERBOARD — site-wide 728x90 between main nav and the ticker */} + {ADS_728X90.length > 0 && ( +
+
+ +
+
+ )} ); } \ No newline at end of file