feat(app): add vworld geocoding and native ads placeholders
This commit is contained in:
48
lib/presentation/widgets/native_ad_placeholder.dart
Normal file
48
lib/presentation/widgets/native_ad_placeholder.dart
Normal file
@@ -0,0 +1,48 @@
|
||||
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)),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user