[mob] Add popup item widget
This commit is contained in:
parent
a148f1a7af
commit
ebed315cb0
1 changed files with 38 additions and 0 deletions
38
mobile/lib/ui/common/popup_item.dart
Normal file
38
mobile/lib/ui/common/popup_item.dart
Normal file
|
@ -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
|
||||
);
|
||||
}
|
Loading…
Add table
Reference in a new issue