fix scrollview
This commit is contained in:
@@ -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(),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
)
|
||||||
)
|
],
|
||||||
],
|
),
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
],
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
],
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user