ads/chrome: banners on /search and /reading-list; wrap /contributor with site chrome
- /search and /reading-list already had Header + Footer; add a
single in-content 728x90 banner at the bottom of each main column
(gated on ADS_728X90.length > 0, hidden on mobile).
- /contributor was a bare dashboard with sidebar + main, no site
chrome at all. Wrap it in the standard Header + Footer; drop the
inner sidebar/main wrapper from min-h-screen to a natural-height
flex so the dashboard sits below the header instead of competing
with it for full viewport. Header brings the site-wide 728x90
leaderboard with it, so contributors see the same ad inventory
as the public site without a second in-content banner cluttering
the dashboard panes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,8 @@ import Link from "next/link";
|
||||
import Header from "@/components/Header";
|
||||
import Footer from "@/components/Footer";
|
||||
import AppImage from "@/components/ui/AppImage";
|
||||
import AdImage from "@/components/AdImage";
|
||||
import { ADS_728X90, shuffle } from "@/lib/ads";
|
||||
import { searchLegacyArticles } from "@/lib/articles/legacy-source";
|
||||
|
||||
export const revalidate = 60;
|
||||
@@ -93,6 +95,13 @@ export default async function SearchPage({ searchParams }: SearchPageProps) {
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
|
||||
{/* In-content 728x90 banner */}
|
||||
{ADS_728X90.length > 0 && (
|
||||
<div className="mt-10 hidden md:flex justify-center" aria-label="Advertisement">
|
||||
<AdImage ad={shuffle(ADS_728X90)[0]} page="search" />
|
||||
</div>
|
||||
)}
|
||||
</main>
|
||||
<Footer />
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user