Files
zen-blog/components/ads-placeholder.tsx
zeekay 7af02e40e8 migrate: Hugo/PaperMod to fumadocs + Next.js
- Replace Hugo static site generator with Next.js 15 + fumadocs-mdx
- Convert 71 blog posts from Hugo format to MDX/MD
- Convert Hugo shortcodes (figure, button, video, example, fullwidth)
  to MDX components (Figure, LinkButton, Video, Fullwidth)
- Add remark-math + rehype-katex for LaTeX math rendering
- Copy JSON case files to public/cases/ for reference
- Update branding for Zen LM (site-nav, footer, metadata)
- Static export for Cloudflare Pages deployment
- Chinese (.zh.md) translations deferred for future migration
2026-03-26 23:21:21 -07:00

40 lines
1016 B
TypeScript

import React from 'react'
import { cn } from '@/lib/utils'
interface AdsPlaceholderProps {
className?: string
size?: 'small' | 'medium' | 'large'
title?: string
}
export function AdsPlaceholder({
className,
size = 'medium',
title = "Advertisement"
}: AdsPlaceholderProps) {
const sizeClasses = {
small: 'h-32',
medium: 'h-48',
large: 'h-64'
}
return (
<div
className={cn(
'border border-dashed border-border rounded-lg flex items-center justify-center bg-muted/30',
sizeClasses[size],
className
)}
>
<div className="text-center space-y-2">
<div className="text-xs font-medium text-muted-foreground uppercase tracking-wide">
{title}
</div>
<div className="text-xs text-muted-foreground/70">
300 x 250
</div>
</div>
</div>
)
}