Refactoring + Checkpoint
This commit is contained in:
67
lib/presentation/widgets/cards/account_deletion_card.dart
Normal file
67
lib/presentation/widgets/cards/account_deletion_card.dart
Normal file
@@ -0,0 +1,67 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../../../../core/constants/colors.dart';
|
||||
|
||||
/// [AccountDeletionCard] est un widget permettant à l'utilisateur de supprimer son compte.
|
||||
/// Il affiche une confirmation avant d'effectuer l'action de suppression.
|
||||
class AccountDeletionCard extends StatelessWidget {
|
||||
final BuildContext context;
|
||||
|
||||
const AccountDeletionCard({Key? key, required this.context}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Card(
|
||||
color: AppColors.cardColor,
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
|
||||
elevation: 2,
|
||||
child: ListTile(
|
||||
leading: const Icon(Icons.delete, color: Colors.redAccent),
|
||||
title: const Text(
|
||||
'Supprimer le compte',
|
||||
style: TextStyle(color: Colors.redAccent, fontWeight: FontWeight.bold),
|
||||
),
|
||||
onTap: () => _showDeleteConfirmationDialog(),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Affiche un dialogue de confirmation pour la suppression du compte.
|
||||
void _showDeleteConfirmationDialog() {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return AlertDialog(
|
||||
backgroundColor: AppColors.backgroundColor,
|
||||
title: const Text(
|
||||
'Confirmer la suppression',
|
||||
style: TextStyle(color: Colors.white),
|
||||
),
|
||||
content: const Text(
|
||||
'Êtes-vous sûr de vouloir supprimer votre compte ? Cette action est irréversible.',
|
||||
style: TextStyle(color: Colors.white70),
|
||||
),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
debugPrint("[LOG] Suppression du compte annulée.");
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
child: Text('Annuler', style: TextStyle(color: AppColors.accentColor)),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
debugPrint("[LOG] Suppression du compte confirmée.");
|
||||
Navigator.of(context).pop();
|
||||
// Logique de suppression du compte ici.
|
||||
},
|
||||
child: const Text(
|
||||
'Supprimer',
|
||||
style: TextStyle(color: Colors.redAccent),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user