49 lines
1.5 KiB
Dart
49 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:lunchpick/core/constants/app_colors.dart';
|
|
import 'package:lunchpick/core/constants/app_typography.dart';
|
|
|
|
/// 네이티브 광고(Native Ad) 플레이스홀더
|
|
class NativeAdPlaceholder extends StatelessWidget {
|
|
final EdgeInsetsGeometry? margin;
|
|
final double height;
|
|
|
|
const NativeAdPlaceholder({super.key, this.margin, this.height = 120});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final isDark = Theme.of(context).brightness == Brightness.dark;
|
|
|
|
return Container(
|
|
margin: margin ?? EdgeInsets.zero,
|
|
padding: const EdgeInsets.all(16),
|
|
height: height,
|
|
width: double.infinity,
|
|
decoration: BoxDecoration(
|
|
color: isDark ? AppColors.darkSurface : Colors.white,
|
|
borderRadius: BorderRadius.circular(12),
|
|
border: Border.all(
|
|
color: isDark ? AppColors.darkDivider : AppColors.lightDivider,
|
|
width: 2,
|
|
),
|
|
boxShadow: [
|
|
BoxShadow(
|
|
color: (isDark ? Colors.black : Colors.grey).withOpacity(0.08),
|
|
blurRadius: 8,
|
|
offset: const Offset(0, 4),
|
|
),
|
|
],
|
|
),
|
|
child: Center(
|
|
child: Row(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: [
|
|
const Icon(Icons.ad_units, color: AppColors.lightPrimary, size: 24),
|
|
const SizedBox(width: 8),
|
|
Text('광고 영역', style: AppTypography.heading2(isDark)),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|