forked from Nexus/nexus
First Draft: Support for pinned messages.
This commit is contained in:
parent
a1e217ac78
commit
a2d2aeca7a
5 changed files with 224 additions and 3 deletions
|
|
@ -17,6 +17,7 @@ import "package:nexus/models/event.dart";
|
|||
import "package:nexus/models/relation_type.dart";
|
||||
import "package:nexus/widgets/composer/composer.dart";
|
||||
import "package:nexus/widgets/emoji_picker_button.dart";
|
||||
import "package:nexus/widgets/pinned_messages.dart";
|
||||
import "package:nexus/widgets/renderers/event.dart";
|
||||
import "package:nexus/widgets/member_list.dart";
|
||||
import "package:nexus/widgets/room_appbar.dart";
|
||||
|
|
@ -63,6 +64,7 @@ class RoomChat extends HookConsumerWidget {
|
|||
isDesktop: isDesktop,
|
||||
onOpenDrawer: (_) => Scaffold.of(context).openDrawer(),
|
||||
onOpenMemberList: null,
|
||||
onOpenPinnedMessagesList: null,
|
||||
),
|
||||
body: nothing,
|
||||
);
|
||||
|
|
@ -390,7 +392,15 @@ class RoomChat extends HookConsumerWidget {
|
|||
onOpenDrawer: (_) => Scaffold.of(context).openDrawer(),
|
||||
onOpenMemberList: (thisContext) {
|
||||
memberListOpened.value = !memberListOpened.value;
|
||||
Scaffold.of(thisContext).openEndDrawer();
|
||||
if (!showMembersByDefault) {
|
||||
Scaffold.of(thisContext).openEndDrawer();
|
||||
}
|
||||
},
|
||||
onOpenPinnedMessagesList: (thisContext) {
|
||||
memberListOpened.value = false;
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
Scaffold.of(thisContext).openEndDrawer();
|
||||
});
|
||||
},
|
||||
),
|
||||
body: Row(
|
||||
|
|
@ -508,7 +518,14 @@ class RoomChat extends HookConsumerWidget {
|
|||
MemberList(roomId),
|
||||
],
|
||||
),
|
||||
endDrawer: showMembersByDefault ? null : MemberList(roomId),
|
||||
endDrawer: showMembersByDefault && memberListOpened.value
|
||||
? null
|
||||
: Drawer(
|
||||
shape: Border(),
|
||||
child: memberListOpened.value
|
||||
? MemberList(roomId)
|
||||
: PinnedMessages(roomId, getEventOptions: getEventOptions),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue