import 'package:flutter/material.dart';

/// Bouton de soumission avec un gradient visuel et des ombres
/// Utilisé pour l'envoi d'un formulaire d'événement
class SubmitButton extends StatelessWidget {
  /// Fonction à exécuter lors de l'appui sur le bouton
  final VoidCallback onPressed;

  const SubmitButton({Key? key, required this.onPressed}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      // Décoration du bouton avec un dégradé de couleurs et une ombre
      decoration: BoxDecoration(
        gradient: const LinearGradient(
          colors: [
            Color(0xFF1DBF73), // Dégradé vert clair
            Color(0xFF11998E), // Dégradé vert foncé
          ],
          begin: Alignment.topLeft,
          end: Alignment.bottomRight,
        ),
        boxShadow: [
          BoxShadow(
            color: Colors.black.withOpacity(0.2),
            spreadRadius: 2,
            blurRadius: 8,
            offset: const Offset(2, 4), // Position de l'ombre
          ),
        ],
        borderRadius: BorderRadius.circular(8.0),
      ),
      child: ElevatedButton(
        onPressed: onPressed, // Appel de la fonction passée en paramètre
        style: ElevatedButton.styleFrom(
          backgroundColor: Colors.transparent, // Fond transparent pour voir le dégradé
          shadowColor: Colors.transparent, // Suppression de l'ombre par défaut
          padding: const EdgeInsets.symmetric(vertical: 14.0),
          minimumSize: const Size(double.infinity, 50), // Taille du bouton
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(8.0),
          ),
        ),
        child: const Text(
          'Créer l\'événement',
          style: TextStyle(
            color: Colors.white, // Couleur du texte
            fontSize: 16, // Taille du texte
            fontWeight: FontWeight.bold, // Texte en gras
            letterSpacing: 1.2, // Espacement entre les lettres
          ),
        ),
      ),
    );
  }
}
