ExteraNext/lib/utils/file_description.dart

35 lines
952 B
Dart

import 'package:matrix/matrix.dart';
extension FileDescriptionExtension on Event {
String? get fileDescription {
if (!{
MessageTypes.File,
MessageTypes.Image,
MessageTypes.Audio,
MessageTypes.Video,
}.contains(messageType)) {
return null;
}
final formattedBody = content.tryGet<String>('formatted_body');
if (formattedBody != null) return formattedBody;
final filename = content.tryGet<String>('filename');
final body = content.tryGet<String>('body');
if (filename != body && body != null && filename != null) return body;
return null;
}
bool get isRichFileDescription {
if (!{
MessageTypes.File,
MessageTypes.Image,
MessageTypes.Audio,
MessageTypes.Video,
}.contains(messageType)) {
return false;
}
final formattedBody = content.tryGet<String>('formatted_body');
if (formattedBody != null) return true;
return false;
}
}