feat: Add category deletion functionality and enhance category dialog for editing

This commit is contained in:
2026-05-20 19:07:26 +02:00
parent 2ef9cf1dbb
commit b1ab4235bd
3 changed files with 73 additions and 11 deletions
+14
View File
@@ -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),