import 'package:flutter/material.dart'; import '../theme/app_theme.dart'; class ComingSoonPage extends StatelessWidget { final String title; final String description; final IconData icon; final Color color; final List? features; const ComingSoonPage({ super.key, required this.title, required this.description, required this.icon, required this.color, this.features, }); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.backgroundLight, body: SafeArea( child: Padding( padding: const EdgeInsets.all(24), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ // Icône principale Container( width: 120, height: 120, decoration: BoxDecoration( gradient: LinearGradient( colors: [ color, color.withOpacity(0.7), ], begin: Alignment.topLeft, end: Alignment.bottomRight, ), borderRadius: BorderRadius.circular(60), boxShadow: [ BoxShadow( color: color.withOpacity(0.3), blurRadius: 20, offset: const Offset(0, 10), ), ], ), child: Icon( icon, size: 60, color: Colors.white, ), ), const SizedBox(height: 32), // Titre Text( title, style: const TextStyle( fontSize: 28, fontWeight: FontWeight.bold, color: AppTheme.textPrimary, ), textAlign: TextAlign.center, ), const SizedBox(height: 16), // Description Text( description, style: TextStyle( fontSize: 16, color: AppTheme.textSecondary, height: 1.5, ), textAlign: TextAlign.center, ), const SizedBox(height: 32), // Fonctionnalités à venir (si fournies) if (features != null) ...[ Container( padding: const EdgeInsets.all(20), decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(16), boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.05), blurRadius: 10, offset: const Offset(0, 2), ), ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Icon( Icons.upcoming, color: color, size: 20, ), const SizedBox(width: 8), const Text( 'Fonctionnalités à venir', style: TextStyle( fontSize: 16, fontWeight: FontWeight.w600, color: AppTheme.textPrimary, ), ), ], ), const SizedBox(height: 16), ...features!.map((feature) => Padding( padding: const EdgeInsets.only(bottom: 8), child: Row( children: [ Container( width: 6, height: 6, decoration: BoxDecoration( color: color, borderRadius: BorderRadius.circular(3), ), ), const SizedBox(width: 12), Expanded( child: Text( feature, style: const TextStyle( fontSize: 14, color: AppTheme.textSecondary, ), ), ), ], ), )).toList(), ], ), ), const SizedBox(height: 32), ], // Badge "En développement" Container( padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12), decoration: BoxDecoration( gradient: LinearGradient( colors: [ AppTheme.infoColor, AppTheme.infoColor.withOpacity(0.8), ], ), borderRadius: BorderRadius.circular(25), boxShadow: [ BoxShadow( color: AppTheme.infoColor.withOpacity(0.3), blurRadius: 10, offset: const Offset(0, 4), ), ], ), child: Row( mainAxisSize: MainAxisSize.min, children: [ const Icon( Icons.construction, color: Colors.white, size: 16, ), const SizedBox(width: 8), const Text( 'En cours de développement', style: TextStyle( color: Colors.white, fontSize: 14, fontWeight: FontWeight.w600, ), ), ], ), ), const SizedBox(height: 24), // Message d'encouragement Text( 'Cette fonctionnalité sera bientôt disponible.\nMerci pour votre patience !', style: TextStyle( fontSize: 14, color: AppTheme.textHint, height: 1.4, ), textAlign: TextAlign.center, ), ], ), ), ), ); } }