feat: Add category deletion functionality and enhance category dialog for editing
This commit is contained in:
@@ -8,12 +8,14 @@ class MenuDrawer extends StatelessWidget {
|
||||
this.selectedItem,
|
||||
this.categories = const [],
|
||||
this.onCreateCategory,
|
||||
this.onEditCategory,
|
||||
});
|
||||
|
||||
final ValueChanged<String>? onMenuItemTapped;
|
||||
final String? selectedItem;
|
||||
final List<Category> categories;
|
||||
final VoidCallback? onCreateCategory;
|
||||
final ValueChanged<Category>? onEditCategory;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -57,6 +59,15 @@ class MenuDrawer extends StatelessWidget {
|
||||
onTap: () => onMenuItemTapped?.call(categoryId),
|
||||
iconColor: Color(category.colorValue ?? 0xFFFFC107),
|
||||
textColor: Color(category.colorValue ?? 0xFFFFC107),
|
||||
trailing: selectedItem == categoryId
|
||||
? IconButton(
|
||||
icon: const Icon(
|
||||
Icons.more_vert,
|
||||
color: Colors.white70,
|
||||
),
|
||||
onPressed: () => onEditCategory?.call(category),
|
||||
)
|
||||
: null,
|
||||
);
|
||||
}).toList(),
|
||||
),
|
||||
@@ -99,6 +110,7 @@ class _MenuItemTile extends StatelessWidget {
|
||||
this.onTap,
|
||||
this.iconColor,
|
||||
this.textColor,
|
||||
this.trailing,
|
||||
});
|
||||
|
||||
final IconData icon;
|
||||
@@ -107,6 +119,7 @@ class _MenuItemTile extends StatelessWidget {
|
||||
final VoidCallback? onTap;
|
||||
final Color? iconColor;
|
||||
final Color? textColor;
|
||||
final Widget? trailing;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -134,6 +147,7 @@ class _MenuItemTile extends StatelessWidget {
|
||||
),
|
||||
child: ListTile(
|
||||
leading: Icon(icon, color: iconColor ?? foregroundColor),
|
||||
trailing: trailing,
|
||||
title: Text(
|
||||
label,
|
||||
style: TextStyle(color: textColor ?? foregroundColor, fontSize: 14),
|
||||
|
||||
Reference in New Issue
Block a user