diff --git a/lib/modules/dashboard/main_dashboard_page.dart b/lib/modules/dashboard/main_dashboard_page.dart index 6d1590c..fdb56b7 100644 --- a/lib/modules/dashboard/main_dashboard_page.dart +++ b/lib/modules/dashboard/main_dashboard_page.dart @@ -60,16 +60,25 @@ class MainDashboardPage extends TbContextWidget { +class _MainDashboardPageState extends TbContextState with TickerProviderStateMixin { late ValueNotifier dashboardTitleValue; final ValueNotifier hasRightLayout = ValueNotifier(false); - final ValueNotifier rightLayoutOpened = ValueNotifier(false); DashboardController? _dashboardController; + late final Animation rightLayoutMenuAnimation; + late final AnimationController rightLayoutMenuController; @override void initState() { super.initState(); + rightLayoutMenuController = AnimationController( + vsync: this, + duration: Duration(milliseconds: 200), + ); + rightLayoutMenuAnimation = CurvedAnimation( + curve: Curves.linear, + parent: rightLayoutMenuController + ); if (widget._controller != null) { widget._controller!._setMainDashboardPageState(this); } @@ -78,6 +87,7 @@ class _MainDashboardPageState extends TbContextState _dashboardController?.toggleRightLayout(), - icon: ValueListenableBuilder( - valueListenable: rightLayoutOpened, - builder: (context, _rightLayoutOpened, widget) { - return Icon(_rightLayoutOpened ? Icons.arrow_back : Icons.menu); - } + icon: AnimatedIcon( + progress: rightLayoutMenuAnimation, + icon: AnimatedIcons.menu_close ) ); } else { @@ -143,7 +151,11 @@ class _MainDashboardPageState extends TbContextState