From a066f77639a164e82282893dd31a513aeab54a2d Mon Sep 17 00:00:00 2001 From: sneurlax <sneurlax@gmail.com> Date: Fri, 5 Jul 2024 14:46:14 -0500 Subject: [PATCH] fix attempt to toggle enableExchange while desktop menu minimized --- lib/pages_desktop_specific/desktop_menu.dart | 22 ++++++++++--------- .../desktop_menu_item.dart | 12 +++++++++- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/lib/pages_desktop_specific/desktop_menu.dart b/lib/pages_desktop_specific/desktop_menu.dart index 2e3b4e74d..2e9f43782 100644 --- a/lib/pages_desktop_specific/desktop_menu.dart +++ b/lib/pages_desktop_specific/desktop_menu.dart @@ -61,6 +61,7 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> { late final DMIController torButtonController; double _width = expandedWidth; + bool _isMinimized = false; void updateSelectedMenuItem(DesktopMenuItemId idKey) { widget.onSelectionWillChange?.call(idKey); @@ -81,24 +82,25 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> { setState(() { _width = expanded ? minimizedWidth : expandedWidth; + _isMinimized = !_isMinimized; }); } @override void initState() { controllers = [ - DMIController(), - DMIController(), - DMIController(), - DMIController(), - DMIController(), - DMIController(), - DMIController(), - DMIController(), - DMIController(), + DMIController(isMinimized: _isMinimized), + DMIController(isMinimized: _isMinimized), + DMIController(isMinimized: _isMinimized), + DMIController(isMinimized: _isMinimized), + DMIController(isMinimized: _isMinimized), + DMIController(isMinimized: _isMinimized), + DMIController(isMinimized: _isMinimized), + DMIController(isMinimized: _isMinimized), + DMIController(isMinimized: _isMinimized), ]; - torButtonController = DMIController(); + torButtonController = DMIController(isMinimized: _isMinimized); super.initState(); } diff --git a/lib/pages_desktop_specific/desktop_menu_item.dart b/lib/pages_desktop_specific/desktop_menu_item.dart index 1fde1281c..e36282f44 100644 --- a/lib/pages_desktop_specific/desktop_menu_item.dart +++ b/lib/pages_desktop_specific/desktop_menu_item.dart @@ -24,6 +24,10 @@ import 'desktop_menu.dart'; class DMIController { VoidCallback? toggle; + final bool isMinimized; + + DMIController({required this.isMinimized}); + void dispose() { toggle = null; } @@ -287,11 +291,17 @@ class _DesktopMenuItemState<T> extends ConsumerState<DesktopMenuItem<T>> labelLength = widget.labelLength; controller = widget.controller; + _iconOnly = controller?.isMinimized ?? false; controller?.toggle = toggle; animationController = AnimationController( vsync: this, duration: duration, - )..forward(); + ); + if (_iconOnly) { + animationController.reverse(); + } else { + animationController.forward(); + } super.initState(); }