fix scrollview

This commit is contained in:
Salvatore Giordano
2020-10-27 17:11:57 +01:00
parent e9572d48b9
commit d2801b2b13
3 changed files with 128 additions and 124 deletions
+76 -73
View File
@@ -48,88 +48,91 @@ class MessageActionsModal extends StatelessWidget {
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
}, },
child: SingleChildScrollView( child: Center(
padding: const EdgeInsets.only(top: 160), child: SingleChildScrollView(
child: Stack( child: Stack(
children: [ children: [
Positioned.fill( Positioned.fill(
child: BackdropFilter( child: BackdropFilter(
filter: ImageFilter.blur( filter: ImageFilter.blur(
sigmaX: 10, sigmaX: 10,
sigmaY: 10, sigmaY: 10,
), ),
child: Container( child: Container(
color: Colors.transparent, color: Colors.transparent,
),
), ),
), ),
), Padding(
Padding( padding: const EdgeInsets.symmetric(vertical: 8.0),
padding: const EdgeInsets.symmetric(vertical: 8.0), child: Column(
child: Column( mainAxisAlignment: MainAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch,
crossAxisAlignment: CrossAxisAlignment.stretch, children: <Widget>[
children: <Widget>[ if (showReactions &&
if (showReactions && (message.status == MessageSendingStatus.SENT ||
(message.status == MessageSendingStatus.SENT || message.status == null))
message.status == null)) Center(
Center( child: ReactionPicker(
child: ReactionPicker( message: message,
message: message, messageTheme: messageTheme,
),
),
IgnorePointer(
child: MessageWidget(
key: Key('MessageWidget'),
reverse: reverse,
message: message.copyWith(
text: message.text.length > 200
? '${message.text.substring(0, 200)}...'
: message.text,
),
messageTheme: messageTheme, messageTheme: messageTheme,
showReactions: false,
showUsername: false,
showReplyIndicator: false,
showTimestamp: false,
showSendingIndicator: DisplayWidget.gone,
shape: messageShape,
), ),
), ),
IgnorePointer( SizedBox(
child: MessageWidget( height: 8,
key: Key('MessageWidget'),
reverse: reverse,
message: message.copyWith(
text: message.text.length > 200
? '${message.text.substring(0, 200)}...'
: message.text,
),
messageTheme: messageTheme,
showReactions: false,
showUsername: false,
showReplyIndicator: false,
showTimestamp: false,
showSendingIndicator: DisplayWidget.gone,
shape: messageShape,
), ),
), Padding(
SizedBox( padding: const EdgeInsets.symmetric(
height: 8, horizontal: 48.0,
),
Padding(
padding: const EdgeInsets.symmetric(
horizontal: 48.0,
),
child: Material(
clipBehavior: Clip.hardEdge,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
), ),
child: Column( child: Material(
crossAxisAlignment: CrossAxisAlignment.stretch, clipBehavior: Clip.hardEdge,
children: ListTile.divideTiles( shape: RoundedRectangleBorder(
context: context, borderRadius: BorderRadius.circular(16),
tiles: [ ),
if (showReply && child: Column(
(message.status == MessageSendingStatus.SENT || crossAxisAlignment: CrossAxisAlignment.stretch,
message.status == null) && children: ListTile.divideTiles(
message.parentId == null) context: context,
_buildReplyButton(context), tiles: [
if (showEditMessage) _buildEditMessage(context), if (showReply &&
if (showDeleteMessage) _buildDeleteButton(context), (message.status ==
if (showCopyMessage) _buildCopyButton(context), MessageSendingStatus.SENT ||
], message.status == null) &&
).toList(), message.parentId == null)
_buildReplyButton(context),
if (showEditMessage) _buildEditMessage(context),
if (showDeleteMessage)
_buildDeleteButton(context),
if (showCopyMessage) _buildCopyButton(context),
],
).toList(),
),
), ),
), )
) ],
], ),
), ),
), ],
], ),
), ),
), ),
); );
+51 -50
View File
@@ -39,63 +39,64 @@ class MessageReactionsModal extends StatelessWidget {
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
}, },
child: SingleChildScrollView( child: Center(
padding: const EdgeInsets.only(top: 160), child: SingleChildScrollView(
child: Stack( child: Stack(
children: [ children: [
Positioned.fill( Positioned.fill(
child: BackdropFilter( child: BackdropFilter(
filter: ImageFilter.blur( filter: ImageFilter.blur(
sigmaX: 10, sigmaX: 10,
sigmaY: 10, sigmaY: 10,
), ),
child: Container( child: Container(
color: Colors.transparent, color: Colors.transparent,
),
), ),
), ),
), Padding(
Padding( padding: const EdgeInsets.symmetric(vertical: 8.0),
padding: const EdgeInsets.symmetric(vertical: 8.0), child: Column(
child: Column( mainAxisAlignment: MainAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch,
crossAxisAlignment: CrossAxisAlignment.stretch, children: <Widget>[
children: <Widget>[ if (showReactions &&
if (showReactions && (message.status == MessageSendingStatus.SENT ||
(message.status == MessageSendingStatus.SENT || message.status == null))
message.status == null)) Center(
Center( child: ReactionPicker(
child: ReactionPicker( message: message,
message: message, messageTheme: messageTheme,
),
),
IgnorePointer(
child: MessageWidget(
key: Key('MessageWidget'),
reverse: reverse,
message: message.copyWith(
text: message.text.length > 200
? '${message.text.substring(0, 200)}...'
: message.text,
),
messageTheme: messageTheme, messageTheme: messageTheme,
showReactions: false,
showUsername: false,
showReplyIndicator: false,
showTimestamp: false,
showSendingIndicator: DisplayWidget.gone,
shape: messageShape,
), ),
), ),
IgnorePointer( SizedBox(
child: MessageWidget( height: 16,
key: Key('MessageWidget'),
reverse: reverse,
message: message.copyWith(
text: message.text.length > 200
? '${message.text.substring(0, 200)}...'
: message.text,
),
messageTheme: messageTheme,
showReactions: false,
showUsername: false,
showReplyIndicator: false,
showTimestamp: false,
showSendingIndicator: DisplayWidget.gone,
shape: messageShape,
), ),
), if (message.latestReactions?.isNotEmpty == true)
SizedBox( _buildReactionCard(context),
height: 16, ],
), ),
if (message.latestReactions?.isNotEmpty == true)
_buildReactionCard(context),
],
), ),
), ],
], ),
), ),
), ),
); );
+1 -1
View File
@@ -241,7 +241,7 @@ class _MessageWidgetState extends State<MessageWidget> {
Flexible( Flexible(
child: PortalEntry( child: PortalEntry(
portal: Container( portal: Container(
transform: Matrix4.translationValues(-16, 0, 0), transform: Matrix4.translationValues(-16, 2, 0),
child: _buildReactionIndicator(context), child: _buildReactionIndicator(context),
constraints: BoxConstraints(maxWidth: 22 * 6.0), constraints: BoxConstraints(maxWidth: 22 * 6.0),
), ),