Skip to content

Commit 2b30184

Browse files
alexmercerindesarbanis
authored andcommitted
refactor(ui): use FadeUpwardsPageTransitionsBuilder on GNU/Linux
1 parent 7e57e67 commit 2b30184

File tree

3 files changed

+47
-46
lines changed

3 files changed

+47
-46
lines changed

packages/stream_chat_flutter/lib/src/fullscreen_media/full_screen_media.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@ import 'dart:io';
44
import 'package:chewie/chewie.dart';
55
import 'package:flutter/material.dart';
66
import 'package:photo_view/photo_view.dart';
7-
import 'package:stream_chat_flutter/src/attachment/thumbnail/media_attachment_thumbnail.dart';
8-
import 'package:stream_chat_flutter/src/fullscreen_media/full_screen_media_widget.dart';
9-
import 'package:stream_chat_flutter/src/fullscreen_media/gallery_navigation_item.dart';
7+
import 'package:shimmer/shimmer.dart';
8+
import 'package:stream_chat_flutter/platform_widget_builder/platform_widget_builder.dart';
109
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
1110
import 'package:video_player/video_player.dart';
1211

1312
/// A full screen image widget
14-
class StreamFullScreenMedia extends FullScreenMediaWidget {
13+
class StreamFullScreenMedia extends StatefulWidget {
1514
/// Instantiate a new FullScreenImage
1615
const StreamFullScreenMedia({
1716
super.key,

packages/stream_chat_flutter/lib/src/fullscreen_media/full_screen_media_widget.dart

Lines changed: 0 additions & 10 deletions
This file was deleted.

packages/stream_chat_flutter/lib/src/stream_chat.dart

Lines changed: 44 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -116,40 +116,52 @@ class StreamChatState extends State<StreamChat> {
116116
@override
117117
Widget build(BuildContext context) {
118118
final theme = _getTheme(context, widget.streamChatThemeData);
119-
return Portal(
120-
child: StreamChatConfiguration(
121-
data: streamChatConfigData,
122-
child: StreamChatTheme(
123-
data: theme,
124-
child: Builder(
125-
builder: (context) {
126-
final materialTheme = Theme.of(context);
127-
final streamTheme = StreamChatTheme.of(context);
128-
return Theme(
129-
data: materialTheme.copyWith(
130-
primaryIconTheme: streamTheme.primaryIconTheme,
131-
colorScheme: materialTheme.colorScheme.copyWith(
132-
secondary: streamTheme.colorTheme.accentPrimary,
119+
return Theme(
120+
// package:media_kit or [Texture] can have issues with
121+
// [ZoomPageTransitionsBuilder] on GNU/Linux. Thus, we use use
122+
// [FadeUpwardsPageTransitionsBuilder] instead.
123+
data: Theme.of(context).copyWith(
124+
pageTransitionsTheme: const PageTransitionsTheme(
125+
builders: {
126+
TargetPlatform.linux: FadeUpwardsPageTransitionsBuilder(),
127+
},
128+
),
129+
),
130+
child: Portal(
131+
child: StreamChatConfiguration(
132+
data: streamChatConfigData,
133+
child: StreamChatTheme(
134+
data: theme,
135+
child: Builder(
136+
builder: (context) {
137+
final materialTheme = Theme.of(context);
138+
final streamTheme = StreamChatTheme.of(context);
139+
return Theme(
140+
data: materialTheme.copyWith(
141+
primaryIconTheme: streamTheme.primaryIconTheme,
142+
colorScheme: materialTheme.colorScheme.copyWith(
143+
secondary: streamTheme.colorTheme.accentPrimary,
144+
),
133145
),
134-
),
135-
child: StreamChatCore(
136-
client: client,
137-
onBackgroundEventReceived: widget.onBackgroundEventReceived,
138-
backgroundKeepAlive: widget.backgroundKeepAlive,
139-
connectivityStream: widget.connectivityStream,
140-
child: Builder(
141-
builder: (context) {
142-
StreamChatClient.additionalHeaders = {
143-
'X-Stream-Client':
144-
'${StreamChatClient.defaultUserAgent}-'
145-
'ui-${StreamChatClient.packageVersion}',
146-
};
147-
return widget.child ?? const Offstage();
148-
},
146+
child: StreamChatCore(
147+
client: client,
148+
onBackgroundEventReceived: widget.onBackgroundEventReceived,
149+
backgroundKeepAlive: widget.backgroundKeepAlive,
150+
connectivityStream: widget.connectivityStream,
151+
child: Builder(
152+
builder: (context) {
153+
StreamChatClient.additionalHeaders = {
154+
'X-Stream-Client':
155+
'${StreamChatClient.defaultUserAgent}-'
156+
'ui-${StreamChatClient.packageVersion}',
157+
};
158+
return widget.child ?? const Offstage();
159+
},
160+
),
149161
),
150-
),
151-
);
152-
},
162+
);
163+
},
164+
),
153165
),
154166
),
155167
),

0 commit comments

Comments
 (0)