From 2544e9d2e243cd09ce9d32bfe7932b78996e4a66 Mon Sep 17 00:00:00 2001 From: sebastjanartic <45803536-sebastjanartic@users.noreply.replit.com> Date: Sun, 8 Mar 2026 07:15:00 +0000 Subject: [PATCH] Adjust ad frequency based on screen size for better readability Update the article page component to conditionally render in-article ads based on screen size, adjusting the ad interval to 2 paragraphs on mobile and 3 paragraphs on desktop. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 23852c00-4779-460a-9e0c-d09fee4b6c92 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 71dd7028-e240-41df-840f-276a7aa7cd8d Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/f209e72a-0939-48fa-84fc-57854de71967/23852c00-4779-460a-9e0c-d09fee4b6c92/OPD8Ro3 Replit-Helium-Checkpoint-Created: true --- client/src/pages/article.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/pages/article.tsx b/client/src/pages/article.tsx index f32a546..8f5df52 100644 --- a/client/src/pages/article.tsx +++ b/client/src/pages/article.tsx @@ -10,6 +10,7 @@ import { Skeleton } from "@/components/ui/skeleton"; import Header from "@/components/header"; import Footer from "@/components/footer"; import AdSense, { InArticleAd, PageSideAds } from "@/components/adsense"; +import { useIsMobile } from "@/hooks/use-mobile"; import DOMPurify from "dompurify"; import ShareButtons from "@/components/share-buttons"; import InterstitialAd from "@/components/interstitial-ad"; @@ -98,6 +99,7 @@ function RelatedArticles({ currentSlug }: { currentSlug: string }) { export default function ArticlePage() { const { slug } = useParams<{ slug: string }>(); + const isMobile = useIsMobile(); const { data: article, isLoading, error } = useQuery
({ queryKey: ["/api/articles", slug], @@ -298,7 +300,7 @@ export default function ArticlePage() { {(() => { const sanitized = sanitizeContent(article.content); const blocks = sanitized.split(/(?=<(?:p|h[2-4]|div)[\s>])/i).filter(Boolean); - const AD_INTERVAL = 3; + const AD_INTERVAL = isMobile ? 2 : 3; const segments: string[] = []; for (let i = 0; i < blocks.length; i += AD_INTERVAL) { segments.push(blocks.slice(i, i + AD_INTERVAL).join(""));