import 'package:flutter/material.dart'; import '../../../../core/models/marketplace.dart'; class OfferBanner extends StatelessWidget { final MarketplaceOffer offer; const OfferBanner({super.key, required this.offer}); @override Widget build(BuildContext context) { final daysLeft = offer.validUntil.difference(DateTime.now()).inDays; return Container( width: 260, padding: const EdgeInsets.all(14), decoration: BoxDecoration( gradient: const LinearGradient( colors: [Color(0xFF1A56DB), Color(0xFF3B82F6)], begin: Alignment.topLeft, end: Alignment.bottomRight, ), borderRadius: BorderRadius.circular(12), ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: [ Expanded( child: Text( offer.title, style: const TextStyle( color: Colors.white, fontWeight: FontWeight.bold, fontSize: 14, ), maxLines: 1, overflow: TextOverflow.ellipsis, ), ), Container( padding: const EdgeInsets.symmetric( horizontal: 8, vertical: 3), decoration: BoxDecoration( color: Colors.white.withValues(alpha: 0.2), borderRadius: BorderRadius.circular(6), ), child: Text( offer.discountLabel, style: const TextStyle( color: Colors.white, fontSize: 11, fontWeight: FontWeight.w700, ), ), ), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( offer.company.brand.displayName, style: TextStyle( color: Colors.white.withValues(alpha: 0.8), fontSize: 11, ), ), Text( daysLeft > 0 ? '$daysLeft days left' : 'Ends today', style: TextStyle( color: Colors.white.withValues(alpha: 0.8), fontSize: 11, ), ), ], ), ], ), ); } }