import "package:flutter/material.dart"; import "package:google_fonts/google_fonts.dart"; import "../theme/ensup_colors.dart"; /// Grande carte d'action de l'accueil (Emprunter / Restituer). class ActionCard extends StatelessWidget { const ActionCard({ super.key, required this.icon, required this.title, required this.description, required this.color, this.onTap, }); final IconData icon; final String title; final String description; final Color color; final VoidCallback? onTap; @override Widget build(BuildContext context) { return InkWell( onTap: onTap, borderRadius: BorderRadius.circular(16), child: Container( padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 32), decoration: BoxDecoration( color: color.withValues(alpha: 0.07), borderRadius: BorderRadius.circular(16), border: Border.all(color: color.withValues(alpha: 0.2), width: 2), ), child: Column( children: [ Container( width: 60, height: 60, decoration: BoxDecoration( gradient: LinearGradient(colors: [color, color.withValues(alpha: 0.75)]), borderRadius: BorderRadius.circular(18), boxShadow: [ BoxShadow( color: color.withValues(alpha: 0.35), blurRadius: 16, offset: const Offset(0, 4), ), ], ), child: Icon(icon, color: Colors.white, size: 28), ), const SizedBox(height: 14), Text( title, style: GoogleFonts.darkerGrotesque( fontSize: 26, fontWeight: FontWeight.w900, color: EnsupColors.text, ), ), const SizedBox(height: 6), Text( description, textAlign: TextAlign.center, style: GoogleFonts.titilliumWeb( fontSize: 13, color: EnsupColors.muted, height: 1.5, ), ), ], ), ), ); } }