diff --git a/app/page.tsx b/app/page.tsx index f0c55e7..d7567ab 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,9 +1,20 @@ import Calculator from '@/components/calculator'; +import VerticalAd from '@/components/VerticalAd'; +import HorizontalBanner from '@/components/HorizontalBanner'; export default function Home() { return ( -
- -
+ <> + {/* 竖向广告弹窗 */} + + +
+ {/* 顶部横向 Banner */} + + + {/* 主要内容 */} + +
+ ); } \ No newline at end of file diff --git a/components/HorizontalBanner.tsx b/components/HorizontalBanner.tsx new file mode 100644 index 0000000..67bea49 --- /dev/null +++ b/components/HorizontalBanner.tsx @@ -0,0 +1,30 @@ +'use client'; + +export default function HorizontalBanner() { + return ( +
+ {/* 横向 Banner - 7:1 比例 */} +
+ {/* 占位内容 */} +
+
+
广告横幅
+
7:1 横向广告
+
+
+ + {/* 实际广告图片占位 */} + 横幅广告 +
+
+ ); +} \ No newline at end of file diff --git a/components/VerticalAd.tsx b/components/VerticalAd.tsx new file mode 100644 index 0000000..4b43ca1 --- /dev/null +++ b/components/VerticalAd.tsx @@ -0,0 +1,62 @@ +'use client'; + +import { useState, useEffect } from 'react'; +import { X } from 'lucide-react'; + +export default function VerticalAd() { + const [isVisible, setIsVisible] = useState(false); + + useEffect(() => { + // 延迟显示广告,避免影响首屏加载 + const timer = setTimeout(() => { + setIsVisible(true); + }, 1000); + + return () => clearTimeout(timer); + }, []); + + const handleClose = () => { + setIsVisible(false); + }; + + if (!isVisible) return null; + + return ( +
+
+ {/* 关闭按钮 */} + + + {/* 广告内容 - 5:3 比例 */} +
+ {/* 占位内容 */} +
+
+
广告位
+
5:3 竖向广告
+
+
+ + {/* 实际广告图片占位 */} + 广告 +
+
+
+ ); +} \ No newline at end of file