diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index c1ec13ac..dfb83a73 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -2,6 +2,7 @@ 🐞 Fixed - [[#1424]](https://github.com/GetStream/stream-chat-flutter/issues/1424) Fixed a render issue when showing messages starting with 4 whitespaces. +- Fixed a bug where the `AttachmentPickerBottomSheet` was not able to identify the mobile browser. ## 5.2.0 diff --git a/packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker_bottom_sheet.dart b/packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker_bottom_sheet.dart index 3113feb1..11fb966b 100644 --- a/packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker_bottom_sheet.dart +++ b/packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker_bottom_sheet.dart @@ -1,7 +1,7 @@ import 'dart:async'; +import 'package:flutter/foundation.dart' show kIsWeb, defaultTargetPlatform; import 'package:flutter/material.dart'; -import 'package:stream_chat_flutter/platform_widget_builder/src/platform_widget.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; /// Shows a modal material design bottom sheet. @@ -107,44 +107,34 @@ Future showStreamAttachmentPickerModalBottomSheet({ controller: controller, initialAttachments: initialAttachments, builder: (context, controller, child) { - return PlatformWidget( - web: (context) { - return webOrDesktopAttachmentPickerBuilder.call( - context: context, - controller: controller, - customOptions: customOptions?.map( - WebOrDesktopAttachmentPickerOption.fromAttachmentPickerOption, - ), - attachmentThumbnailSize: attachmentThumbnailSize, - attachmentThumbnailFormat: attachmentThumbnailFormat, - attachmentThumbnailQuality: attachmentThumbnailQuality, - attachmentThumbnailScale: attachmentThumbnailScale, - ); - }, - mobile: (context) { - return mobileAttachmentPickerBuilder.call( - context: context, - controller: controller, - customOptions: customOptions, - attachmentThumbnailSize: attachmentThumbnailSize, - attachmentThumbnailFormat: attachmentThumbnailFormat, - attachmentThumbnailQuality: attachmentThumbnailQuality, - attachmentThumbnailScale: attachmentThumbnailScale, - ); - }, - desktop: (context) { - return webOrDesktopAttachmentPickerBuilder.call( - context: context, - controller: controller, - customOptions: customOptions?.map( - WebOrDesktopAttachmentPickerOption.fromAttachmentPickerOption, - ), - attachmentThumbnailSize: attachmentThumbnailSize, - attachmentThumbnailFormat: attachmentThumbnailFormat, - attachmentThumbnailQuality: attachmentThumbnailQuality, - attachmentThumbnailScale: attachmentThumbnailScale, - ); - }, + final currentPlatform = defaultTargetPlatform; + final isWebOrDesktop = kIsWeb || + currentPlatform == TargetPlatform.macOS || + currentPlatform == TargetPlatform.linux || + currentPlatform == TargetPlatform.windows; + + if (isWebOrDesktop) { + return webOrDesktopAttachmentPickerBuilder.call( + context: context, + controller: controller, + customOptions: customOptions?.map( + WebOrDesktopAttachmentPickerOption.fromAttachmentPickerOption, + ), + attachmentThumbnailSize: attachmentThumbnailSize, + attachmentThumbnailFormat: attachmentThumbnailFormat, + attachmentThumbnailQuality: attachmentThumbnailQuality, + attachmentThumbnailScale: attachmentThumbnailScale, + ); + } + + return mobileAttachmentPickerBuilder.call( + context: context, + controller: controller, + customOptions: customOptions, + attachmentThumbnailSize: attachmentThumbnailSize, + attachmentThumbnailFormat: attachmentThumbnailFormat, + attachmentThumbnailQuality: attachmentThumbnailQuality, + attachmentThumbnailScale: attachmentThumbnailScale, ); }, );