Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

show bottom sheets / dialogs / menus based on screen size

Fixes #76
This commit is contained in:
Henry Hiles 2026-10-15 10:20:27 -04:00
commit 76d78596cd
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
12 changed files with 141 additions and 49 deletions

View file

@ -0,0 +1,21 @@
import "package:material_ui/material_ui.dart";
import "package:nexus/helpers/extensions/show_adaptive_menu.dart";
/// Like [PopupMenuButton], but shows a bottom sheet on mobile.
class const AdaptiveMenuButton({
required final Widget icon,
required final List<PopupMenuEntry> Function(BuildContext context)
itemBuilder,
final String? tooltip,
final bool enabled = true,
super.key,
}) extends StatelessWidget {
@override
Widget build(BuildContext context) => IconButton(
icon: icon,
tooltip: tooltip,
onPressed: enabled
? () => context.showAdaptiveMenu(itemBuilder(context))
: null,
);
}