Skip to content

Commit 2f67cf7

Browse files
authored
refactor(ui): replace SizedBox.shrink(), Container() with Empty widget (#2149)
* refactor(ui): replace SizedBox.shrink(), Container() with Empty widget * chore: replace offstage with empty
1 parent 843b4b4 commit 2f67cf7

File tree

47 files changed

+140
-76
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+140
-76
lines changed

packages/stream_chat_flutter/lib/platform_widget_builder/src/desktop_widget.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:flutter/widgets.dart';
22
import 'package:stream_chat_flutter/platform_widget_builder/src/desktop_widget_base.dart';
3+
import 'package:stream_chat_flutter/src/misc/empty_widget.dart';
34

45
/// A widget that will only be built for the specified desktop Platforms.
56
///
@@ -26,13 +27,13 @@ class DesktopWidget extends DesktopWidgetBase<Widget, Widget, Widget> {
2627

2728
@override
2829
Widget createMacosWidget(BuildContext context) =>
29-
macOS?.call(context) ?? const SizedBox.shrink();
30+
macOS?.call(context) ?? const Empty();
3031

3132
@override
3233
Widget createWindowsWidget(BuildContext context) =>
33-
windows?.call(context) ?? const SizedBox.shrink();
34+
windows?.call(context) ?? const Empty();
3435

3536
@override
3637
Widget createLinuxWidget(BuildContext context) =>
37-
linux?.call(context) ?? const SizedBox.shrink();
38+
linux?.call(context) ?? const Empty();
3839
}

packages/stream_chat_flutter/lib/platform_widget_builder/src/platform_widget.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:flutter/widgets.dart';
22
import 'package:stream_chat_flutter/platform_widget_builder/src/platform_widget_base.dart';
3+
import 'package:stream_chat_flutter/src/misc/empty_widget.dart';
34

45
/// A widget that will only be built for the specific Platforms:
56
///
@@ -26,13 +27,13 @@ class PlatformWidget extends PlatformWidgetBase<Widget, Widget, Widget> {
2627

2728
@override
2829
Widget createDesktopWidget(BuildContext context) =>
29-
desktop?.call(context) ?? const SizedBox.shrink();
30+
desktop?.call(context) ?? const Empty();
3031

3132
@override
3233
Widget createMobileWidget(BuildContext context) =>
33-
mobile?.call(context) ?? const SizedBox.shrink();
34+
mobile?.call(context) ?? const Empty();
3435

3536
@override
3637
Widget createWebWidget(BuildContext context) =>
37-
web?.call(context) ?? const SizedBox.shrink();
38+
web?.call(context) ?? const Empty();
3839
}

packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:flutter/material.dart';
2+
import 'package:stream_chat_flutter/src/misc/empty_widget.dart';
23
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
34

45
/// {@template streamAttachmentUploadStateBuilder}
@@ -37,7 +38,7 @@ class StreamAttachmentUploadStateBuilder extends StatelessWidget {
3738
@override
3839
Widget build(BuildContext context) {
3940
if (message.state.isCompleted) {
40-
return const Offstage();
41+
return const Empty();
4142
}
4243

4344
final messageId = message.id;

packages/stream_chat_flutter/lib/src/attachment/builder/attachment_widget_builder.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:flutter/material.dart';
2+
import 'package:stream_chat_flutter/src/misc/empty_widget.dart';
23
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
34

45
part 'fallback_attachment_builder.dart';

packages/stream_chat_flutter/lib/src/attachment/builder/fallback_attachment_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ class FallbackAttachmentBuilder extends StreamAttachmentWidgetBuilder {
2828
) {
2929
// Returns an empty widget because this builder will be used as a fallback
3030
// when no other builder can handle the attachments.
31-
return const SizedBox.shrink();
31+
return const Empty();
3232
}
3333
}

packages/stream_chat_flutter/lib/src/attachment/builder/voice_recording_attachment_builder/stream_voice_recording_player.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
77
import 'package:just_audio/just_audio.dart';
88
import 'package:rxdart/rxdart.dart';
99
import 'package:stream_chat_flutter/src/attachment/builder/voice_recording_attachment_builder/stream_voice_recording_slider.dart';
10+
import 'package:stream_chat_flutter/src/misc/empty_widget.dart';
1011
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
1112

1213
/// {@template StreamVoiceRecordingPlayer}
@@ -222,7 +223,7 @@ class _StreamVoiceRecordingPlayerState
222223
style: theme.fileSizeTextStyle,
223224
);
224225
} else {
225-
return const SizedBox.shrink();
226+
return const Empty();
226227
}
227228
}
228229

packages/stream_chat_flutter/lib/src/attachment/voice_recording_attachment_playlist.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:collection/collection.dart';
22
import 'package:flutter/material.dart';
33
import 'package:stream_chat_flutter/src/attachment/voice_recording_attachment.dart';
44
import 'package:stream_chat_flutter/src/audio/audio_playlist_controller.dart';
5+
import 'package:stream_chat_flutter/src/misc/empty_widget.dart';
56

67
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
78

@@ -52,7 +53,7 @@ class StreamVoiceRecordingAttachmentPlaylist extends StatefulWidget {
5253
BuildContext context,
5354
int index,
5455
) {
55-
return const SizedBox.shrink();
56+
return const Empty();
5657
}
5758

5859
@override

packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ class StreamAutocomplete extends StatefulWidget {
228228
/// place the text field in the AppBar and the options below in the main body.
229229
///
230230
/// When following this pattern, [fieldViewBuilder] can return
231-
/// `SizedBox.shrink()` so that nothing is drawn where the text field would
231+
/// `EmptyWidget()` so that nothing is drawn where the text field would
232232
/// normally be. A separate text field can be created elsewhere, and a
233233
/// FocusNode and StreamMessageEditingController can be passed both to that
234234
/// text field and to StreamAutocomplete.

packages/stream_chat_flutter/lib/src/autocomplete/stream_command_autocomplete_options.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:flutter/material.dart';
2+
import 'package:stream_chat_flutter/src/misc/empty_widget.dart';
23
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
34

45
/// {@template commands_overlay}
@@ -31,7 +32,7 @@ class StreamCommandAutocompleteOptions extends StatelessWidget {
3132
return normalizedName.contains(normalizedQuery);
3233
});
3334

34-
if (commands == null || commands.isEmpty) return const SizedBox.shrink();
35+
if (commands == null || commands.isEmpty) return const Empty();
3536

3637
final streamChatTheme = StreamChatTheme.of(context);
3738
final colorTheme = streamChatTheme.colorTheme;

packages/stream_chat_flutter/lib/src/autocomplete/stream_mention_autocomplete_options.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:flutter/material.dart';
2+
import 'package:stream_chat_flutter/src/misc/empty_widget.dart';
23
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
34

45
/// {@template user_mentions_overlay}
@@ -78,8 +79,8 @@ class _StreamMentionAutocompleteOptionsState
7879
return FutureBuilder<List<User>>(
7980
future: userMentionsFuture,
8081
builder: (context, snapshot) {
81-
if (snapshot.hasError) return const SizedBox.shrink();
82-
if (!snapshot.hasData) return const SizedBox.shrink();
82+
if (snapshot.hasError) return const Empty();
83+
if (!snapshot.hasData) return const Empty();
8384
final users = snapshot.data!;
8485

8586
return StreamAutocompleteOptions<User>(

0 commit comments

Comments
 (0)