added filters to MessageListView

This commit is contained in:
Deven Joshi
2021-07-28 12:43:30 +05:30
parent df155c5415
commit 74cdeded74
3 changed files with 23 additions and 6 deletions
@@ -113,6 +113,7 @@ class _ChannelPageState extends State<ChannelPage> {
initialAlignment: widget.initialAlignment, initialAlignment: widget.initialAlignment,
highlightInitialMessage: widget.highlightInitialMessage, highlightInitialMessage: widget.highlightInitialMessage,
onMessageSwiped: _reply, onMessageSwiped: _reply,
messageFilter: defaultFilter,
messageBuilder: (context, details, messages, defaultMessage) { messageBuilder: (context, details, messages, defaultMessage) {
return defaultMessage.copyWith( return defaultMessage.copyWith(
onReplyTap: _reply, onReplyTap: _reply,
@@ -185,4 +186,12 @@ class _ChannelPageState extends State<ChannelPage> {
), ),
); );
} }
bool defaultFilter(Message m) {
var _currentUser = StreamChat.of(context).currentUser;
final isMyMessage = m.user?.id == _currentUser?.id;
final isDeletedOrShadowed = m.isDeleted == true || m.shadowed == true;
if (isDeletedOrShadowed && !isMyMessage) return false;
return true;
}
} }
@@ -268,9 +268,7 @@ class _GroupInfoScreenState extends State<GroupInfoScreen> {
), ),
Container( Container(
height: 1.0, height: 1.0,
color: StreamChatTheme.of(context) color: StreamChatTheme.of(context).colorTheme.disabled,
.colorTheme
.disabled,
), ),
], ],
), ),
@@ -992,7 +990,8 @@ class _GroupInfoScreenState extends State<GroupInfoScreen> {
context, context,
StreamSvgIcon.userRemove( StreamSvgIcon.userRemove(
color: StreamChatTheme.of(context) color: StreamChatTheme.of(context)
.colorTheme.accentError, .colorTheme
.accentError,
size: 24.0, size: 24.0,
), ),
'Remove From Group', () async { 'Remove From Group', () async {
@@ -1010,8 +1009,8 @@ class _GroupInfoScreenState extends State<GroupInfoScreen> {
} }
Navigator.pop(context); Navigator.pop(context);
}, },
color: StreamChatTheme.of(context) color:
.colorTheme.accentError), StreamChatTheme.of(context).colorTheme.accentError),
_buildModalListTile( _buildModalListTile(
context, context,
StreamSvgIcon.closeSmall( StreamSvgIcon.closeSmall(
@@ -49,6 +49,7 @@ class _ThreadPageState extends State<ThreadPage> {
initialScrollIndex: widget.initialScrollIndex, initialScrollIndex: widget.initialScrollIndex,
initialAlignment: widget.initialAlignment, initialAlignment: widget.initialAlignment,
onMessageSwiped: _reply, onMessageSwiped: _reply,
messageFilter: defaultFilter,
messageBuilder: (context, details, messages, defaultMessage) { messageBuilder: (context, details, messages, defaultMessage) {
return defaultMessage.copyWith( return defaultMessage.copyWith(
onReplyTap: _reply, onReplyTap: _reply,
@@ -71,4 +72,12 @@ class _ThreadPageState extends State<ThreadPage> {
), ),
); );
} }
bool defaultFilter(Message m) {
var _currentUser = StreamChat.of(context).currentUser;
final isMyMessage = m.user?.id == _currentUser?.id;
final isDeletedOrShadowed = m.isDeleted == true || m.shadowed == true;
if (isDeletedOrShadowed && !isMyMessage) return false;
return true;
}
} }