Merge pull request #44 from GetStream/new-filter
refactor: added filters to MessageListView
This commit is contained in:
@@ -113,6 +113,7 @@ class _ChannelPageState extends State<ChannelPage> {
|
||||
initialAlignment: widget.initialAlignment,
|
||||
highlightInitialMessage: widget.highlightInitialMessage,
|
||||
onMessageSwiped: _reply,
|
||||
messageFilter: defaultFilter,
|
||||
messageBuilder: (context, details, messages, defaultMessage) {
|
||||
return defaultMessage.copyWith(
|
||||
onReplyTap: _reply,
|
||||
@@ -135,6 +136,9 @@ class _ChannelPageState extends State<ChannelPage> {
|
||||
),
|
||||
);
|
||||
},
|
||||
deletedBottomRowBuilder: (context, message) {
|
||||
return const VisibleFootnote();
|
||||
},
|
||||
);
|
||||
},
|
||||
threadBuilder: (_, parentMessage) {
|
||||
@@ -185,4 +189,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(
|
||||
height: 1.0,
|
||||
color: StreamChatTheme.of(context)
|
||||
.colorTheme
|
||||
.disabled,
|
||||
color: StreamChatTheme.of(context).colorTheme.disabled,
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -992,7 +990,8 @@ class _GroupInfoScreenState extends State<GroupInfoScreen> {
|
||||
context,
|
||||
StreamSvgIcon.userRemove(
|
||||
color: StreamChatTheme.of(context)
|
||||
.colorTheme.accentError,
|
||||
.colorTheme
|
||||
.accentError,
|
||||
size: 24.0,
|
||||
),
|
||||
'Remove From Group', () async {
|
||||
@@ -1010,8 +1009,8 @@ class _GroupInfoScreenState extends State<GroupInfoScreen> {
|
||||
}
|
||||
Navigator.pop(context);
|
||||
},
|
||||
color: StreamChatTheme.of(context)
|
||||
.colorTheme.accentError),
|
||||
color:
|
||||
StreamChatTheme.of(context).colorTheme.accentError),
|
||||
_buildModalListTile(
|
||||
context,
|
||||
StreamSvgIcon.closeSmall(
|
||||
|
||||
@@ -49,9 +49,13 @@ class _ThreadPageState extends State<ThreadPage> {
|
||||
initialScrollIndex: widget.initialScrollIndex,
|
||||
initialAlignment: widget.initialAlignment,
|
||||
onMessageSwiped: _reply,
|
||||
messageFilter: defaultFilter,
|
||||
messageBuilder: (context, details, messages, defaultMessage) {
|
||||
return defaultMessage.copyWith(
|
||||
onReplyTap: _reply,
|
||||
deletedBottomRowBuilder: (context, message) {
|
||||
return const VisibleFootnote();
|
||||
},
|
||||
);
|
||||
},
|
||||
pinPermissions: ['owner', 'admin', 'member'],
|
||||
@@ -71,4 +75,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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,8 +10,16 @@ dependencies:
|
||||
flutter_app_badger: ^1.2.0
|
||||
flutter:
|
||||
sdk: flutter
|
||||
stream_chat_flutter: ^2.0.0
|
||||
stream_chat_persistence: ^2.0.0
|
||||
stream_chat_flutter:
|
||||
git:
|
||||
url: https://github.com/GetStream/stream-chat-flutter.git
|
||||
ref: develop
|
||||
path: packages/stream_chat_flutter
|
||||
stream_chat_persistence:
|
||||
git:
|
||||
url: https://github.com/GetStream/stream-chat-flutter.git
|
||||
ref: develop
|
||||
path: packages/stream_chat_persistence
|
||||
flutter_local_notifications: ^5.0.0+4
|
||||
flutter_svg: ^0.22.0
|
||||
flutter_secure_storage: ^4.2.0
|
||||
@@ -24,6 +32,19 @@ dependencies:
|
||||
dev_dependencies:
|
||||
flutter_launcher_icons: ^0.9.0
|
||||
test: any
|
||||
|
||||
dependency_overrides:
|
||||
stream_chat:
|
||||
git:
|
||||
url: https://github.com/GetStream/stream-chat-flutter.git
|
||||
ref: develop
|
||||
path: packages/stream_chat
|
||||
stream_chat_flutter_core:
|
||||
git:
|
||||
url: https://github.com/GetStream/stream-chat-flutter.git
|
||||
ref: develop
|
||||
path: packages/stream_chat_flutter_core
|
||||
|
||||
flutter:
|
||||
assets:
|
||||
- assets/
|
||||
|
||||
Reference in New Issue
Block a user