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,
|
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,
|
||||||
@@ -135,6 +136,9 @@ class _ChannelPageState extends State<ChannelPage> {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
deletedBottomRowBuilder: (context, message) {
|
||||||
|
return const VisibleFootnote();
|
||||||
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
threadBuilder: (_, parentMessage) {
|
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(
|
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,9 +49,13 @@ 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,
|
||||||
|
deletedBottomRowBuilder: (context, message) {
|
||||||
|
return const VisibleFootnote();
|
||||||
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
pinPermissions: ['owner', 'admin', 'member'],
|
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_app_badger: ^1.2.0
|
||||||
flutter:
|
flutter:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
stream_chat_flutter: ^2.0.0
|
stream_chat_flutter:
|
||||||
stream_chat_persistence: ^2.0.0
|
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_local_notifications: ^5.0.0+4
|
||||||
flutter_svg: ^0.22.0
|
flutter_svg: ^0.22.0
|
||||||
flutter_secure_storage: ^4.2.0
|
flutter_secure_storage: ^4.2.0
|
||||||
@@ -24,6 +32,19 @@ dependencies:
|
|||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_launcher_icons: ^0.9.0
|
flutter_launcher_icons: ^0.9.0
|
||||||
test: any
|
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:
|
flutter:
|
||||||
assets:
|
assets:
|
||||||
- assets/
|
- assets/
|
||||||
|
|||||||
Reference in New Issue
Block a user