filePreview function
Widget
filePreview(
{ - Key? key,
- required RoomClient room,
- required String filename,
- required Uri url,
- BoxFit fit = BoxFit.cover,
})
Implementation
Widget filePreview({Key? key, required RoomClient room, required String filename, required Uri url, BoxFit fit = BoxFit.cover}) {
// assuming URL has extension, which is generally bad
final extension = basename(filename).split(".").last.toLowerCase();
if (imageExtensions.contains(extension)) {
return ImagePreview(url: url, key: key, fit: fit);
} else if (videoExtensions.contains(extension)) {
return VideoPreview(url: url, key: key, fit: fit);
} else if (audioExtensions.contains(extension)) {
return AudioPreview(url: url, key: key);
} else if (pdfExtensions.contains(extension)) {
return PdfPreview(url: url, key: key, fit: fit);
} else if (customViewers.containsKey(extension)) {
return customViewers[extension]!(key: key, room: room, filename: filename, url: url);
} else {
return Text(url.pathSegments.last);
}
}