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:
@@ -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 <NewsPageClient articles={articles} />;
|
||||
// Suspense boundary required because NewsPageClient uses useSearchParams.
|
||||
return (
|
||||
<Suspense fallback={null}>
|
||||
<NewsPageClient articles={articles} />
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user