hide overlay on delete message

This commit is contained in:
Salvatore Giordano
2021-01-18 12:26:48 +01:00
parent ca1101ac8a
commit 4044e1bcdc
@@ -61,6 +61,8 @@ class MessageActionsModal extends StatefulWidget {
} }
class _MessageActionsModalState extends State<MessageActionsModal> { class _MessageActionsModalState extends State<MessageActionsModal> {
bool _showActions = true;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return _showMessageOptionsModal(); return _showMessageOptionsModal();
@@ -87,13 +89,9 @@ class _MessageActionsModalState extends State<MessageActionsModal> {
? 1 ? 1
: (roughSentenceSize == 0 ? 1 : (roughSentenceSize / roughMaxSize)); : (roughSentenceSize == 0 ? 1 : (roughSentenceSize / roughMaxSize));
return TweenAnimationBuilder<double>(
tween: Tween(begin: 0.0, end: 1.0),
duration: Duration(milliseconds: 300),
curve: Curves.easeInOutBack,
builder: (context, val, snapshot) {
final hasFileAttachment = final hasFileAttachment =
widget.message.attachments?.any((it) => it.type == 'file') == true; widget.message.attachments?.any((it) => it.type == 'file') == true;
return GestureDetector( return GestureDetector(
behavior: HitTestBehavior.translucent, behavior: HitTestBehavior.translucent,
onTap: () => Navigator.maybePop(context), onTap: () => Navigator.maybePop(context),
@@ -110,7 +108,13 @@ class _MessageActionsModalState extends State<MessageActionsModal> {
), ),
), ),
), ),
Transform.scale( if (_showActions)
TweenAnimationBuilder<double>(
tween: Tween(begin: 0.0, end: 1.0),
duration: Duration(milliseconds: 300),
curve: Curves.easeInOutBack,
builder: (context, val, snapshot) {
return Transform.scale(
scale: val, scale: val,
child: Center( child: Center(
child: SingleChildScrollView( child: SingleChildScrollView(
@@ -164,8 +168,9 @@ class _MessageActionsModalState extends State<MessageActionsModal> {
padding: const EdgeInsets.all(0), padding: const EdgeInsets.all(0),
textPadding: EdgeInsets.symmetric( textPadding: EdgeInsets.symmetric(
vertical: 8.0, vertical: 8.0,
horizontal: horizontal: widget.message.text.isOnlyEmoji
widget.message.text.isOnlyEmoji ? 0 : 16.0, ? 0
: 16.0,
), ),
showReactionPickerIndicator: showReactionPickerIndicator:
widget.showReactions && widget.showReactions &&
@@ -236,12 +241,12 @@ class _MessageActionsModalState extends State<MessageActionsModal> {
), ),
), ),
), ),
);
},
), ),
], ],
), ),
); );
},
);
} }
void _showFlagDialog() async { void _showFlagDialog() async {
@@ -273,6 +278,9 @@ class _MessageActionsModalState extends State<MessageActionsModal> {
} }
void _showDeleteDialog() async { void _showDeleteDialog() async {
setState(() {
_showActions = false;
});
var answer = await showConfirmationDialog(context, var answer = await showConfirmationDialog(context,
title: 'Delete message', title: 'Delete message',
icon: StreamSvgIcon.flag( icon: StreamSvgIcon.flag(
@@ -293,6 +301,10 @@ class _MessageActionsModalState extends State<MessageActionsModal> {
} catch (err) { } catch (err) {
_showErrorAlert(); _showErrorAlert();
} }
} else {
setState(() {
_showActions = true;
});
} }
} }