Adjust ad sizes for mobile and desktop displays
Introduce responsive ad size configurations in `AdSenseAd.tsx` to display smaller ads on mobile devices and larger ads on desktop for both live and video pages. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 45a1dcfc-f8a2-475a-a6b9-96fbb841dc27 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/60d372ff-2c10-46c7-b01b-10c3435136b0/45a1dcfc-f8a2-475a-a6b9-96fbb841dc27/JMKe3od
This commit is contained in:
@@ -5,6 +5,8 @@ interface AdSenseAdProps {
|
||||
adFormat?: 'auto' | 'rectangle' | 'vertical' | 'horizontal';
|
||||
width?: number;
|
||||
height?: number;
|
||||
mobileWidth?: number;
|
||||
mobileHeight?: number;
|
||||
className?: string;
|
||||
lazy?: boolean;
|
||||
}
|
||||
@@ -14,6 +16,8 @@ export default function AdSenseAd({
|
||||
adFormat = 'auto',
|
||||
width,
|
||||
height,
|
||||
mobileWidth,
|
||||
mobileHeight,
|
||||
className = '',
|
||||
lazy = false
|
||||
}: AdSenseAdProps) {
|
||||
@@ -57,7 +61,44 @@ export default function AdSenseAd({
|
||||
}
|
||||
}, [adSlot, lazy]);
|
||||
|
||||
// Fixed size configuration
|
||||
// Responsive configuration
|
||||
const hasResponsiveSizes = (width && height) || (mobileWidth && mobileHeight);
|
||||
|
||||
if (hasResponsiveSizes) {
|
||||
// Responsive ads with different sizes for desktop/mobile
|
||||
return (
|
||||
<div
|
||||
className={`adsense-wrapper w-full ${className}`}
|
||||
ref={adRef}
|
||||
style={{ width: '100%', minWidth: '320px' }}
|
||||
>
|
||||
{/* Desktop ad */}
|
||||
<ins
|
||||
className="adsbygoogle hidden md:inline-block"
|
||||
style={{
|
||||
display: 'inline-block',
|
||||
width: width ? `${width}px` : '728px',
|
||||
height: height ? `${height}px` : '90px'
|
||||
}}
|
||||
data-ad-client="ca-pub-4465464714854276"
|
||||
data-ad-slot={adSlot}
|
||||
/>
|
||||
{/* Mobile ad */}
|
||||
<ins
|
||||
className="adsbygoogle block md:hidden"
|
||||
style={{
|
||||
display: 'inline-block',
|
||||
width: mobileWidth ? `${mobileWidth}px` : '300px',
|
||||
height: mobileHeight ? `${mobileHeight}px` : '250px'
|
||||
}}
|
||||
data-ad-client="ca-pub-4465464714854276"
|
||||
data-ad-slot={adSlot}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
// Standard configuration (non-responsive)
|
||||
const isFixedSize = width && height;
|
||||
const adStyle: React.CSSProperties = {
|
||||
display: 'inline-block'
|
||||
|
||||
Reference in New Issue
Block a user