diff --git a/lib/pages/chat/events/message.dart b/lib/pages/chat/events/message.dart index 02d219e3d..8919e6a7a 100644 --- a/lib/pages/chat/events/message.dart +++ b/lib/pages/chat/events/message.dart @@ -386,7 +386,6 @@ class Message extends StatelessWidget { (eventID) => eventID == event.eventId, ), depressed: !isButton, - enabled: isButton, borderRadius: borderRadius, onPressed: () { showToolbar(pangeaMessageEvent); diff --git a/lib/pangea/widgets/chat/message_toolbar_buttons.dart b/lib/pangea/widgets/chat/message_toolbar_buttons.dart index 25fef4c7d..bfa3ab746 100644 --- a/lib/pangea/widgets/chat/message_toolbar_buttons.dart +++ b/lib/pangea/widgets/chat/message_toolbar_buttons.dart @@ -103,7 +103,6 @@ class ToolbarButtons extends StatelessWidget { children: [ PressableButton( borderRadius: BorderRadius.circular(20), - enabled: enabled, depressed: !enabled || mode == overlayController.toolbarMode, color: color, diff --git a/lib/pangea/widgets/pressable_button.dart b/lib/pangea/widgets/pressable_button.dart index bfdeeb873..ae84bc486 100644 --- a/lib/pangea/widgets/pressable_button.dart +++ b/lib/pangea/widgets/pressable_button.dart @@ -7,10 +7,10 @@ import 'package:flutter/services.dart'; class PressableButton extends StatefulWidget { final BorderRadius borderRadius; final double buttonHeight; - final bool enabled; final bool depressed; final Color color; final Widget child; + final void Function()? onPressed; final Stream? triggerAnimation; @@ -20,7 +20,6 @@ class PressableButton extends StatefulWidget { required this.onPressed, required this.color, this.buttonHeight = 5, - this.enabled = true, this.depressed = false, this.triggerAnimation, super.key, @@ -46,7 +45,7 @@ class PressableButtonState extends State ); _tweenAnimation = Tween(begin: 0, end: widget.buttonHeight).animate(_controller); - if (widget.enabled) { + if (!widget.depressed) { _triggerAnimationSubscription = widget.triggerAnimation?.listen((_) { _animationCompleter = Completer(); _animateUp(); @@ -56,14 +55,14 @@ class PressableButtonState extends State } void _onTapDown(TapDownDetails? details) { - if (!widget.enabled) return; + if (widget.depressed) return; _animationCompleter = Completer(); if (!mounted) return; _animateUp(); } void _animateUp() { - if (!widget.enabled || !mounted) return; + if (widget.depressed || !mounted) return; _controller.forward().then((_) { _animationCompleter?.complete(); _animationCompleter = null; @@ -71,8 +70,8 @@ class PressableButtonState extends State } Future _onTapUp(TapUpDetails? details) async { - if (!widget.enabled || widget.depressed) return; widget.onPressed?.call(); + if (widget.depressed) return; await _animateDown(); } @@ -87,7 +86,7 @@ class PressableButtonState extends State } void _onTapCancel() { - if (!widget.enabled) return; + if (widget.depressed) return; if (mounted) _controller.reverse(); } @@ -116,7 +115,7 @@ class PressableButtonState extends State borderRadius: widget.borderRadius, ), padding: EdgeInsets.only( - bottom: widget.enabled && !widget.depressed + bottom: !widget.depressed ? widget.buttonHeight - _tweenAnimation.value : 0, ),