import 'package:flutter/material.dart';

class ProfileScreen extends StatelessWidget {
  const ProfileScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Profil'),
        backgroundColor: Colors.black,
        actions: [
          IconButton(
            icon: const Icon(Icons.settings),
            onPressed: () {
              // Naviguer vers la page des paramètres
            },
          ),
        ],
      ),
      body: CustomScrollView(
        slivers: [
          SliverList(
            delegate: SliverChildListDelegate([
              // Informations de l'Utilisateur
              _buildUserInfoSection(context),
              const Divider(),
              // Options de Modification
              _buildEditOptions(context),
              const Divider(),
              // Statistiques Personnelles
              _buildStatisticsSection(context),
              const Divider(),
              // Historique
              _buildHistorySection(context),
              const Divider(),
              // Préférences et Paramètres
              _buildPreferencesSection(context),
              const Divider(),
              // Autres Fonctions
              _buildSupportSection(context),
              const Divider(),
              // Suppression de Compte
              _buildAccountDeletionSection(context),
            ]),
          ),
        ],
      ),
    );
  }

  Widget _buildUserInfoSection(BuildContext context) {
    return const Column(
      children: [
        CircleAvatar(
          radius: 50,
          backgroundImage: AssetImage('lib/assets/images/profile_picture.png'), //Photo de profil
        ),
        SizedBox(height: 10),
        Text(
          'GBANE Dahoud',
          style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold, color: Colors.white),
        ),
        SizedBox(height: 5),
        Text(
          'pseudo',
          style: TextStyle(fontSize: 16, color: Colors.grey),
        ),
        SizedBox(height: 5),
        Text(
          'gbanedahoud@lions.dev',
          style: TextStyle(fontSize: 14, color: Colors.grey),
        ),
      ],
    );
  }

  Widget _buildEditOptions(BuildContext context) {
    return Column(
      children: [
        ListTile(
          leading: const Icon(Icons.edit, color: Colors.blueAccent),
          title: const Text('Éditer le profil'),
          onTap: () {
            // Naviguer vers la page d'édition de profil
          },
        ),
        ListTile(
          leading: const Icon(Icons.camera_alt, color: Colors.blueAccent),
          title: const Text('Changer la photo de profil'),
          onTap: () {
            // Naviguer vers la page de changement de photo de profil
          },
        ),
        ListTile(
          leading: const Icon(Icons.lock, color: Colors.blueAccent),
          title: const Text('Changer le mot de passe'),
          onTap: () {
            // Naviguer vers la page de changement de mot de passe
          },
        ),
      ],
    );
  }

  Widget _buildStatisticsSection(BuildContext context) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        const Padding(
          padding: EdgeInsets.all(16.0),
          child: Text(
            'Statistiques Personnelles',
            style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold, color: Colors.white),
          ),
        ),
        ListTile(
          leading: const Icon(Icons.event, color: Colors.blueAccent),
          title: const Text('Événements Participés'),
          trailing: const Text('12'), // Exemple de valeur
          onTap: () {
            // Naviguer vers la page des événements participés
          },
        ),
        ListTile(
          leading: const Icon(Icons.place, color: Colors.blueAccent),
          title: const Text('Établissements Visités'),
          trailing: const Text('8'), // Exemple de valeur
          onTap: () {
            // Naviguer vers la page des établissements visités
          },
        ),
        ListTile(
          leading: const Icon(Icons.post_add, color: Colors.blueAccent),
          title: const Text('Publications'),
          trailing: const Text('24'), // Exemple de valeur
          onTap: () {
            // Naviguer vers la page des publications
          },
        ),
        ListTile(
          leading: const Icon(Icons.group, color: Colors.blueAccent),
          title: const Text('Amis/Followers'),
          trailing: const Text('150'), // Exemple de valeur
          onTap: () {
            // Naviguer vers la page des amis ou followers
          },
        ),
      ],
    );
  }

  Widget _buildHistorySection(BuildContext context) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        const Padding(
          padding: EdgeInsets.all(16.0),
          child: Text(
            'Historique',
            style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold, color: Colors.white),
          ),
        ),
        ListTile(
          leading: const Icon(Icons.event_note, color: Colors.blueAccent),
          title: const Text('Historique des Événements'),
          onTap: () {
            // Naviguer vers l'historique des événements
          },
        ),
        ListTile(
          leading: const Icon(Icons.history, color: Colors.blueAccent),
          title: const Text('Historique des Publications'),
          onTap: () {
            // Naviguer vers l'historique des publications
          },
        ),
        ListTile(
          leading: const Icon(Icons.bookmark, color: Colors.blueAccent),
          title: const Text('Historique de Réservations'),
          onTap: () {
            // Naviguer vers l'historique des réservations
          },
        ),
      ],
    );
  }

  Widget _buildPreferencesSection(BuildContext context) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        const Padding(
          padding: EdgeInsets.all(16.0),
          child: Text(
            'Préférences et Paramètres',
            style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold, color: Colors.white),
          ),
        ),
        ListTile(
          leading: const Icon(Icons.privacy_tip, color: Colors.blueAccent),
          title: const Text('Paramètres de confidentialité'),
          onTap: () {
            // Naviguer vers les paramètres de confidentialité
          },
        ),
        ListTile(
          leading: const Icon(Icons.notifications, color: Colors.blueAccent),
          title: const Text('Notifications'),
          onTap: () {
            // Naviguer vers les paramètres de notification
          },
        ),
        ListTile(
          leading: const Icon(Icons.language, color: Colors.blueAccent),
          title: const Text('Langue de l\'application'),
          onTap: () {
            // Naviguer vers les paramètres de langue
          },
        ),
        ListTile(
          leading: const Icon(Icons.format_paint, color: Colors.blueAccent),
          title: const Text('Thème de l\'application'),
          onTap: () {
            // Naviguer vers les paramètres de thème
          },
        ),
      ],
    );
  }

  Widget _buildSupportSection(BuildContext context) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        const Padding(
          padding: EdgeInsets.all(16.0),
          child: Text(
            'Support et Assistance',
            style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold, color: Colors.white),
          ),
        ),
        ListTile(
          leading: const Icon(Icons.help, color: Colors.blueAccent),
          title: const Text('Support et Assistance'),
          onTap: () {
            // Naviguer vers la page de support
          },
        ),
        ListTile(
          leading: const Icon(Icons.article, color: Colors.blueAccent),
          title: const Text('Conditions d\'utilisation'),
          onTap: () {
            // Naviguer vers les conditions d'utilisation
          },
        ),
        ListTile(
          leading: const Icon(Icons.privacy_tip, color: Colors.blueAccent),
          title: const Text('Politique de confidentialité'),
          onTap: () {
            // Naviguer vers la politique de confidentialité
          },
        ),
      ],
    );
  }

  Widget _buildAccountDeletionSection(BuildContext context) {
    return ListTile(
      leading: const Icon(Icons.delete, color: Colors.redAccent),
      title: const Text(
        'Supprimer le compte',
        style: TextStyle(color: Colors.redAccent),
      ),
      onTap: () {
        // Implémenter la logique de suppression de compte
      },
    );
  }
}
