mappedMessagesProvider top-level property
Implementation
final mappedMessagesProvider = Provider.autoDispose<List<QMessage>>((ref) {
var messages = ref.watch(sortedMessagesProvider);
var showSystemMessage = ref.watch(systemEventVisibleConfigProvider);
return messages.map((it) {
QMessage? message;
message ??= QMessageSystem.tryParse(it);
message ??= QMessageImage.tryParse(it);
message ??= QMessageVideo.tryParse(it);
message ??= QMessageFile.tryParse(it);
// Not yet mature
message ??= QMessageButton.tryParse(it);
message ??= QMessageCarousel.tryParse(it);
message ??= QMessageReply.tryParse(it);
message ??= it;
return message;
}).where((m) {
if (m is QMessageSystem) return showSystemMessage;
return true;
}).toList();
});