import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import '../../../../core/constants/colors.dart'; /// [SupportSectionCard] affiche les options de support et assistance. /// Inclut des animations, du retour haptique, et des logs détaillés pour chaque action. class SupportSectionCard extends StatelessWidget { const SupportSectionCard({super.key}); @override Widget build(BuildContext context) { debugPrint('[LOG] Initialisation de SupportSectionCard.'); return Card( color: AppColors.cardColor.withOpacity(0.95), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), elevation: 6, shadowColor: AppColors.darkPrimary.withOpacity(0.4), child: Padding( padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const Text( 'Support et Assistance', style: TextStyle( fontSize: 22, fontWeight: FontWeight.bold, color: Colors.white, letterSpacing: 1.1, ), ), const SizedBox(height: 10), _buildOption( context, icon: Icons.help_outline, label: 'Support et Assistance', logMessage: 'Accès au Support et Assistance.', ), _buildDivider(), _buildOption( context, icon: Icons.article_outlined, label: 'Conditions d\'utilisation', logMessage: "Accès aux conditions d'utilisation.", ), _buildDivider(), _buildOption( context, icon: Icons.privacy_tip_outlined, label: 'Politique de confidentialité', logMessage: 'Accès à la politique de confidentialité.', ), ], ), ), ); } /// Construit chaque option de support avec une animation de feedback visuel. Widget _buildOption( BuildContext context, { required IconData icon, required String label, required String logMessage, }) { return InkWell( onTap: () { HapticFeedback.lightImpact(); // Retour haptique léger debugPrint('[LOG] $logMessage'); // Ajout de la navigation ou de l'action ici. }, splashColor: AppColors.accentColor.withOpacity(0.3), highlightColor: AppColors.cardColor.withOpacity(0.1), child: Padding( padding: const EdgeInsets.symmetric(vertical: 12), child: Row( children: [ Icon(icon, color: AppColors.accentColor, size: 28), const SizedBox(width: 15), Expanded( child: Text( label, style: const TextStyle( color: Colors.white, fontSize: 16, fontWeight: FontWeight.w500, ), ), ), const Icon(Icons.chevron_right, color: Colors.white70), ], ), ), ); } /// Construit un séparateur entre les options pour une meilleure structure visuelle. Widget _buildDivider() { return Divider( color: Colors.white.withOpacity(0.2), height: 1, indent: 16, endIndent: 16, ); } }