Merge pull request #1381 from GetStream/fix/image-attachment-web

This commit is contained in:
Sahil Kumar
2022-12-06 14:25:14 +05:30
committed by GitHub
2 changed files with 34 additions and 15 deletions
@@ -1,7 +1,9 @@
## Upcomming ## Upcomming
🐞 Fixed 🐞 Fixed
- [[#1379]](https://github.com/GetStream/stream-chat-flutter/issues/1379) Fixed "Issues with photo attachments on web", where the cached image attachment would not render while uploading.
- Fix render overflow issue with `MessageSearchListTileTitle`. It now uses `Text.rich` instead of `Row`. Better default behaviour and allows `TextOverflow`. - Fix render overflow issue with `MessageSearchListTileTitle`. It now uses `Text.rich` instead of `Row`. Better default behaviour and allows `TextOverflow`.
## 5.1.0 ## 5.1.0
🐞 Fixed 🐞 Fixed
@@ -56,22 +56,33 @@ class StreamImageAttachment extends StreamAttachmentWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return source.when( return source.when(
local: () { local: () {
if (attachment.localUri == null || attachment.file?.bytes == null) { if (attachment.file?.bytes != null) {
return AttachmentError(constraints: constraints); return _buildImageAttachment(
} context,
return _buildImageAttachment( Image.memory(
context, attachment.file!.bytes!,
Image.memory( height: constraints?.maxHeight,
attachment.file!.bytes!, width: constraints?.maxWidth,
height: constraints?.maxHeight, fit: BoxFit.cover,
width: constraints?.maxWidth, errorBuilder: _imageErrorBuilder,
fit: BoxFit.cover,
errorBuilder: (context, _, __) => Image.asset(
'images/placeholder.png',
package: 'stream_chat_flutter',
), ),
), );
); } else if (attachment.localUri != null) {
return _buildImageAttachment(
context,
Image.asset(
attachment.localUri!.path,
height: constraints?.maxHeight,
width: constraints?.maxWidth,
fit: BoxFit.cover,
errorBuilder: _imageErrorBuilder,
),
);
} else {
return AttachmentError(
constraints: constraints,
);
}
}, },
network: () { network: () {
var imageUrl = var imageUrl =
@@ -116,6 +127,12 @@ class StreamImageAttachment extends StreamAttachmentWidget {
); );
} }
Widget _imageErrorBuilder(BuildContext _, Object __, StackTrace? ___) =>
Image.asset(
'images/placeholder.png',
package: 'stream_chat_flutter',
);
Widget _buildImageAttachment(BuildContext context, Widget imageWidget) { Widget _buildImageAttachment(BuildContext context, Widget imageWidget) {
return Container( return Container(
constraints: constraints, constraints: constraints,