diff --git a/src/app/authors/[slug]/page.tsx b/src/app/authors/[slug]/page.tsx index 81fd3ac..f22f223 100644 --- a/src/app/authors/[slug]/page.tsx +++ b/src/app/authors/[slug]/page.tsx @@ -7,6 +7,7 @@ import Header from "@/components/Header"; import Footer from "@/components/Footer"; import AdImage from "@/components/AdImage"; import { ADS_728X90, shuffle } from "@/lib/ads"; +import SidebarAdStack from "@/components/SidebarAdStack"; interface AuthorProfile { slug: string; @@ -113,6 +114,7 @@ export default function AuthorProfilePage() { <>
+ {/* Cover Image */}
{profile && ( diff --git a/src/app/forum/thread/[id]/page.tsx b/src/app/forum/thread/[id]/page.tsx index 134f8b7..bec39c6 100644 --- a/src/app/forum/thread/[id]/page.tsx +++ b/src/app/forum/thread/[id]/page.tsx @@ -7,6 +7,7 @@ import Footer from '@/components/Footer'; import AdImage from '@/components/AdImage'; import { ADS_300X250, rotateAll } from '@/lib/ads'; import { createClient } from '@/lib/supabase/client'; +import SidebarAdStack from "@/components/SidebarAdStack"; // Inline ad slot inserted between forum replies every N posts. function InThreadAd({ adIndex }: { adIndex: number }) { @@ -296,6 +297,7 @@ export default function ForumThreadPage() { <>
+
diff --git a/src/app/gear/page.tsx b/src/app/gear/page.tsx index 961545f..1ac2116 100644 --- a/src/app/gear/page.tsx +++ b/src/app/gear/page.tsx @@ -7,6 +7,7 @@ import AppImage from "@/components/ui/AppImage"; import AdImage from "@/components/AdImage"; import { ADS_728X90, shuffle } from "@/lib/ads"; import { getLegacyArticlesBySection } from "@/lib/articles/legacy-source"; +import SidebarAdStack from "@/components/SidebarAdStack"; export const revalidate = 1800; @@ -41,6 +42,7 @@ export default async function GearPage() {
+ {/* Featured gear grid */}
{articles.map((article) => ( diff --git a/src/app/reading-list/page.tsx b/src/app/reading-list/page.tsx index 350864d..98d8e6a 100644 --- a/src/app/reading-list/page.tsx +++ b/src/app/reading-list/page.tsx @@ -7,6 +7,7 @@ import Footer from "@/components/Footer"; import AdImage from "@/components/AdImage"; import { ADS_728X90, shuffle } from "@/lib/ads"; import { createClient } from "@/lib/supabase/client"; +import SidebarAdStack from "@/components/SidebarAdStack"; interface SavedArticle { id: string; @@ -116,6 +117,7 @@ export default function ReadingListPage() { <>
+ {/* Toast */} {toast && (
diff --git a/src/app/search/page.tsx b/src/app/search/page.tsx index 9feae52..20e3992 100644 --- a/src/app/search/page.tsx +++ b/src/app/search/page.tsx @@ -6,6 +6,7 @@ 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"; +import SidebarAdStack from "@/components/SidebarAdStack"; export const revalidate = 60; @@ -46,6 +47,7 @@ export default async function SearchPage({ searchParams }: SearchPageProps) {
+ {query && results.length === 0 && (

No articles match your search.

diff --git a/src/app/show-coverage/page.tsx b/src/app/show-coverage/page.tsx index cbc9403..21f42d3 100644 --- a/src/app/show-coverage/page.tsx +++ b/src/app/show-coverage/page.tsx @@ -4,6 +4,7 @@ import Header from "@/components/Header"; import Footer from "@/components/Footer"; import AdImage from "@/components/AdImage"; import { ADS_728X90, shuffle } from "@/lib/ads"; +import SidebarAdStack from "@/components/SidebarAdStack"; export const dynamic = "force-dynamic"; export const revalidate = 600; @@ -69,6 +70,7 @@ export default async function ShowCoverageIndex() {
+

Industry Show Coverage

diff --git a/src/app/technology/page.tsx b/src/app/technology/page.tsx index f830187..00422a3 100644 --- a/src/app/technology/page.tsx +++ b/src/app/technology/page.tsx @@ -7,6 +7,7 @@ import AppImage from "@/components/ui/AppImage"; import AdImage from "@/components/AdImage"; import { ADS_728X90, shuffle } from "@/lib/ads"; import { getLegacyArticlesBySection } from "@/lib/articles/legacy-source"; +import SidebarAdStack from "@/components/SidebarAdStack"; export const revalidate = 1800; @@ -125,6 +126,7 @@ export default async function TechnologyPage({ searchParams }: PageProps) {

+ {articles.length === 0 && (