import 'package:flutter/material.dart';

void showEventOptions(BuildContext context, GlobalKey key) {
  final RenderBox renderBox = key.currentContext!.findRenderObject() as RenderBox;
  final Offset offset = renderBox.localToGlobal(Offset.zero);
  final RelativeRect position = RelativeRect.fromLTRB(
    offset.dx,
    offset.dy,
    offset.dx + renderBox.size.width,
    offset.dy + renderBox.size.height,
  );

  showMenu(
    context: context,
    position: position,
    items: [
      PopupMenuItem(
        value: 'details',
        child: Row(
          children: [
            Icon(Icons.info_outline, color: Colors.blue.shade400, size: 18), // Icône plus petite et bleue
            const SizedBox(width: 10),
            Text(
              'Voir les détails',
              style: TextStyle(
                color: Colors.blue.shade700, // Texte bleu foncé
                fontWeight: FontWeight.w500, // Poids de police plus fin
                fontSize: 14, // Taille légèrement réduite
              ),
            ),
          ],
        ),
      ),
      PopupMenuItem(
        value: 'edit',
        child: Row(
          children: [
            Icon(Icons.edit, color: Colors.orange.shade400, size: 18),
            const SizedBox(width: 10),
            Text(
              'Modifier l\'événement',
              style: TextStyle(
                color: Colors.orange.shade700,
                fontWeight: FontWeight.w500,
                fontSize: 14,
              ),
            ),
          ],
        ),
      ),
      PopupMenuItem(
        value: 'delete',
        child: Row(
          children: [
            Icon(Icons.delete_outline, color: Colors.red.shade400, size: 18),
            const SizedBox(width: 10),
            Text(
              'Supprimer l\'événement',
              style: TextStyle(
                color: Colors.red.shade700,
                fontWeight: FontWeight.w500,
                fontSize: 14,
              ),
            ),
          ],
        ),
      ),
    ],
    elevation: 5.0, // Réduction de l'élévation pour une ombre plus subtile
    shape: RoundedRectangleBorder(
      borderRadius: BorderRadius.circular(10.0), // Ajout de bordures arrondies
      side: BorderSide(color: Colors.grey.shade300), // Bordure fine et douce
    ),
    color: Colors.white, // Fond blanc pur pour un contraste élégant
  ).then((value) {
    // Gérer les actions en fonction de la sélection
    if (value == 'details') {
      print('Voir les détails');
    } else if (value == 'edit') {
      print('Modifier l\'événement');
    } else if (value == 'delete') {
      print('Supprimer l\'événement');
    }
  });
}
