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

@ -6,7 +6,7 @@ import "package:hooks_riverpod/hooks_riverpod.dart";
import "package:nexus/controllers/event.dart";
import "package:nexus/controllers/room_chat.dart";
import "package:nexus/controllers/rooms.dart";
import "package:nexus/helpers/extensions/show_context_menu.dart";
import "package:nexus/helpers/extensions/show_adaptive_menu.dart";
import "package:nexus/helpers/hooks/chat_scroll.dart";
import "package:nexus/models/content/avatar.dart";
import "package:nexus/models/content/canonical_alias.dart";
@ -197,9 +197,9 @@ class const EventRenderer(
final contextMenuCallback = getEventOptions == null
? null
: (PositionedGestureDetails details) => context.showContextMenu(
: (PositionedGestureDetails details) => context.showAdaptiveMenu(
getEventOptions!(event).toList(),
globalPosition: details.globalPosition,
children: getEventOptions!(event).toList(),
);
return Column(
@ -222,9 +222,9 @@ class const EventRenderer(
final topLeft = renderBox.localToGlobal(
Offset.zero,
);
context.showContextMenu(
context.showAdaptiveMenu(
getEventOptions!(event).toList(),
globalPosition: topLeft,
children: getEventOptions!(event).toList(),
);
return null;
},