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 <Suspense> 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) <noreply@anthropic.com>
This commit is contained in:
Claude Code
2026-05-14 16:39:24 +00:00
parent 70e2aebb83
commit 8be2ccbff2
4 changed files with 34 additions and 47 deletions

View File

@@ -365,15 +365,6 @@ export default function Header() {
</div>
</div>
{/* HEADER LEADERBOARD — site-wide 728x90 between utility bar and main nav */}
{ADS_728X90.length > 0 && (
<div className="bg-[#0a0a0a] border-b border-[#1a1a1a] py-3 hidden md:block">
<div className="max-w-container mx-auto px-4 flex justify-center">
<AdImage ad={shuffle(ADS_728X90)[0]} priority page="header" />
</div>
</div>
)}
{/* MAIN NAV */}
<div className={`sticky top-0 z-50 transition-shadow duration-200 ${scrolled ? "shadow-nav" : ""}`}>
<nav className="bg-[#111111] border-b border-[#252525]" role="navigation" aria-label="Main navigation">
@@ -632,6 +623,15 @@ export default function Header() {
</div>
</nav>
</div>
{/* HEADER LEADERBOARD — site-wide 728x90 between main nav and the ticker */}
{ADS_728X90.length > 0 && (
<div className="bg-[#0a0a0a] border-b border-[#1a1a1a] py-3 hidden md:block">
<div className="max-w-container mx-auto px-4 flex justify-center">
<AdImage ad={shuffle(ADS_728X90)[0]} priority page="header" />
</div>
</div>
)}
</>
);
}