import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../../core/constants/colors.dart'; import '../../../data/providers/user_provider.dart'; import '../../widgets/account_deletion_card.dart'; import '../../widgets/custom_list_tile.dart'; import '../../widgets/edit_options_card.dart'; import '../../widgets/expandable_section_card.dart'; import '../../widgets/profile_header.dart'; import '../../widgets/statistics_section_card.dart'; import '../../widgets/support_section_card.dart'; import '../../widgets/user_info_card.dart'; class ProfileScreen extends StatelessWidget { const ProfileScreen({super.key}); @override Widget build(BuildContext context) { final userProvider = Provider.of(context); final user = userProvider.user; return Scaffold( backgroundColor: AppColors.backgroundColor, body: CustomScrollView( slivers: [ ProfileHeader(user: user), SliverList( delegate: SliverChildListDelegate( [ const SizedBox(height: 10), UserInfoCard(user: user), const SizedBox(height: 10), const EditOptionsCard(), const SizedBox(height: 10), StatisticsSectionCard(user: user), const SizedBox(height: 10), ExpandableSectionCard( title: 'Historique', icon: Icons.history, children: [ CustomListTile( icon: Icons.event_note, label: 'Historique des Événements', onTap: () => print("[LOG] Accès à l'historique des événements."), ), CustomListTile( icon: Icons.history, label: 'Historique des Publications', onTap: () => print("[LOG] Accès à l'historique des publications."), ), CustomListTile( icon: Icons.bookmark, label: 'Historique de Réservations', onTap: () => print("[LOG] Accès à l'historique des réservations."), ), ], ), const SizedBox(height: 10), ExpandableSectionCard( title: 'Préférences et Paramètres', icon: Icons.settings, children: [ CustomListTile( icon: Icons.privacy_tip, label: 'Paramètres de confidentialité', onTap: () => print("[LOG] Accès aux paramètres de confidentialité."), ), CustomListTile( icon: Icons.notifications, label: 'Notifications', onTap: () => print("[LOG] Accès aux paramètres de notifications."), ), CustomListTile( icon: Icons.language, label: 'Langue de l\'application', onTap: () => print("[LOG] Accès aux paramètres de langue."), ), CustomListTile( icon: Icons.format_paint, label: 'Thème de l\'application', onTap: () => print("[LOG] Accès aux paramètres de thème."), ), ], ), const SizedBox(height: 10), const SupportSectionCard(), const SizedBox(height: 10), AccountDeletionCard(context: context), ], ), ), ], ), ); } }