showMenuDialog method
Implementation
void showMenuDialog({
String? title,
required List<DialogMenuItem> menus,
}) {
if (menus.isEmpty) {
return;
}
List<Widget> ws = [];
if (title.isNotEmptyOrNull) {
ws.add(TextX.labelMedium(title!).padding(vertical: 15.h));
}
for (var element in menus) {
ws.add(
ListTile(
leading: element.icon != null
? IconX.icon(
element.icon,
size: 16.sp,
)
: null,
horizontalTitleGap: 5.w,
title: TextX.bodyMedium(element.title),
subtitle: element.subTitle != null ? TextX.bodySmall(element.subTitle!) : null,
).inkWell(
onTap: () => element.onTap?.call(),
),
);
}
Widget child = ws
.toColumn(
mainAxisSize: MainAxisSize.min,
separator: const DividerX(),
)
.padding(bottom: 30.h)
.scrollable()
.constrained(
maxHeight: 0.8.sh,
minHeight: 0.2.sh,
);
showCupertinoModalBottomSheet(
context: Get.context!,
builder: (context) => child,
);
}