import 'package:flutter/material.dart'; import '../design_system/tokens/app_colors.dart'; /// UnionFlow Mobile - Composant DRY Centralisé : CoreCard /// Le seul et unique conteneur d'affichage (Posts, Événements, Profils). /// Design : Minimaliste Premium, Bordures ultra-fines, Ombre invisible mais présente. class CoreCard extends StatelessWidget { final Widget child; final EdgeInsetsGeometry padding; final EdgeInsetsGeometry margin; final VoidCallback? onTap; final Color? backgroundColor; const CoreCard({ Key? key, required this.child, this.padding = const EdgeInsets.all(8.0), this.margin = const EdgeInsets.only(bottom: 6.0), this.onTap, this.backgroundColor, }) : super(key: key); @override Widget build(BuildContext context) { final isDark = Theme.of(context).brightness == Brightness.dark; return Container( width: double.infinity, margin: margin, decoration: BoxDecoration( color: backgroundColor ?? (isDark ? AppColors.darkSurface : Colors.white), borderRadius: BorderRadius.circular(10.0), border: Border.all( color: isDark ? AppColors.darkBorder.withOpacity(0.5) : AppColors.lightBorder, width: 0.8, ), boxShadow: [ BoxShadow( color: Colors.black.withOpacity(isDark ? 0.15 : 0.04), blurRadius: 6, offset: const Offset(0, 2), ), ], ), child: Material( color: Colors.transparent, child: InkWell( onTap: onTap, borderRadius: BorderRadius.circular(10.0), child: Padding( padding: padding, child: child, ), ), ), ); } }