Neeraj Gupta 1 год назад
Родитель
Сommit
ebed315cb0
1 измененных файлов с 38 добавлено и 0 удалено
  1. 38 0
      mobile/lib/ui/common/popup_item.dart

+ 38 - 0
mobile/lib/ui/common/popup_item.dart

@@ -0,0 +1,38 @@
+import 'package:flutter/material.dart';
+
+class EntePopupMenuItem<T> extends PopupMenuItem<T> {
+  final String label;
+  final IconData? icon;
+  final Widget? iconWidget;
+
+  EntePopupMenuItem(
+    this.label, {
+    required T value,
+    this.icon,
+    this.iconWidget,
+    Key? key,
+  })  : assert(
+          icon != null || iconWidget != null,
+          'Either icon or iconWidget must be provided.',
+        ),
+        assert(
+          !(icon != null && iconWidget != null),
+          'Only one of icon or iconWidget can be provided.',
+        ),
+        super(
+          value: value,
+          key: key,
+          child: Row(
+            children: [
+              if (iconWidget != null)
+                iconWidget
+              else if (icon != null)
+                Icon(icon),
+              const Padding(
+                padding: EdgeInsets.all(8),
+              ),
+              Text(label),
+            ],
+          ), // Initially empty, will be populated in build
+        );
+}