Merge pull request #1433 from GetStream/fix/attachment-picker-mobile-web

This commit is contained in:
Sahil Kumar
2023-01-17 14:08:35 +05:30
committed by GitHub
2 changed files with 30 additions and 39 deletions
@@ -2,6 +2,7 @@
🐞 Fixed 🐞 Fixed
- [[#1424]](https://github.com/GetStream/stream-chat-flutter/issues/1424) Fixed a render issue when showing messages starting with 4 whitespaces. - [[#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 ## 5.2.0
@@ -1,7 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter/foundation.dart' show kIsWeb, defaultTargetPlatform;
import 'package:flutter/material.dart'; 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'; import 'package:stream_chat_flutter/stream_chat_flutter.dart';
/// Shows a modal material design bottom sheet. /// Shows a modal material design bottom sheet.
@@ -107,44 +107,34 @@ Future<T?> showStreamAttachmentPickerModalBottomSheet<T>({
controller: controller, controller: controller,
initialAttachments: initialAttachments, initialAttachments: initialAttachments,
builder: (context, controller, child) { builder: (context, controller, child) {
return PlatformWidget( final currentPlatform = defaultTargetPlatform;
web: (context) { final isWebOrDesktop = kIsWeb ||
return webOrDesktopAttachmentPickerBuilder.call( currentPlatform == TargetPlatform.macOS ||
context: context, currentPlatform == TargetPlatform.linux ||
controller: controller, currentPlatform == TargetPlatform.windows;
customOptions: customOptions?.map(
WebOrDesktopAttachmentPickerOption.fromAttachmentPickerOption, if (isWebOrDesktop) {
), return webOrDesktopAttachmentPickerBuilder.call(
attachmentThumbnailSize: attachmentThumbnailSize, context: context,
attachmentThumbnailFormat: attachmentThumbnailFormat, controller: controller,
attachmentThumbnailQuality: attachmentThumbnailQuality, customOptions: customOptions?.map(
attachmentThumbnailScale: attachmentThumbnailScale, WebOrDesktopAttachmentPickerOption.fromAttachmentPickerOption,
); ),
}, attachmentThumbnailSize: attachmentThumbnailSize,
mobile: (context) { attachmentThumbnailFormat: attachmentThumbnailFormat,
return mobileAttachmentPickerBuilder.call( attachmentThumbnailQuality: attachmentThumbnailQuality,
context: context, attachmentThumbnailScale: attachmentThumbnailScale,
controller: controller, );
customOptions: customOptions, }
attachmentThumbnailSize: attachmentThumbnailSize,
attachmentThumbnailFormat: attachmentThumbnailFormat, return mobileAttachmentPickerBuilder.call(
attachmentThumbnailQuality: attachmentThumbnailQuality, context: context,
attachmentThumbnailScale: attachmentThumbnailScale, controller: controller,
); customOptions: customOptions,
}, attachmentThumbnailSize: attachmentThumbnailSize,
desktop: (context) { attachmentThumbnailFormat: attachmentThumbnailFormat,
return webOrDesktopAttachmentPickerBuilder.call( attachmentThumbnailQuality: attachmentThumbnailQuality,
context: context, attachmentThumbnailScale: attachmentThumbnailScale,
controller: controller,
customOptions: customOptions?.map(
WebOrDesktopAttachmentPickerOption.fromAttachmentPickerOption,
),
attachmentThumbnailSize: attachmentThumbnailSize,
attachmentThumbnailFormat: attachmentThumbnailFormat,
attachmentThumbnailQuality: attachmentThumbnailQuality,
attachmentThumbnailScale: attachmentThumbnailScale,
);
},
); );
}, },
); );