import 'package:flutter/material.dart';


import 'package:design_system/design_system.dart';


/// Banner widget for placeholder actions, using design system tokens.
class PlaceholderBanner extends StatelessWidget {
  /// Banner title
  final String title;
  /// Banner subtitle
  final String subtitle;
  /// Banner background color
  final Color bg;
  /// Banner accent color
  final Color accent;
  /// Optional tap callback
  final VoidCallback? onTap;

  /// Creates a [PlaceholderBanner].
  const PlaceholderBanner({super.key, required this.title, required this.subtitle, required this.bg, required this.accent, this.onTap});

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: onTap,
      child: Container(
        padding: const EdgeInsets.all(UiConstants.space4),
        decoration: BoxDecoration(
          color: bg,
          borderRadius: BorderRadius.circular(UiConstants.radiusBase),
          border: Border.all(color: accent.withValues(alpha: 0.3)),
        ),
        child: Row(
          children: [
            Container(
              width: UiConstants.space10,
              height: UiConstants.space10,
              padding: const EdgeInsets.all(UiConstants.space2),
              decoration: const BoxDecoration(
                color: UiColors.bgBanner,
                shape: BoxShape.circle,
              ),
              child: Icon(UiIcons.sparkles, color: accent, size: UiConstants.space5),
            ),
            const SizedBox(width: UiConstants.space3),
            Expanded(
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  Text(
                    title,
                    style: UiTypography.body1b,
                  ),
                  Text(
                    subtitle,
                    style: UiTypography.body3r.copyWith(color: UiColors.mutedForeground),
                  ),
                ],
              ),
            ),
            Icon(UiIcons.chevronRight, color: accent),
          ],
        ),
      ),
    );
  }
}
