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<UserProvider>(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),
              ],
            ),
          ),
        ],
      ),
    );
  }
}
