From 1eb2e4527ccbee3e7a6a60bf71538842adc9963e Mon Sep 17 00:00:00 2001 From: ssbg04 Date: Mon, 12 Oct 2026 01:08:52 +0800 Subject: [PATCH] style(windows): use split panel dock icon with subtle slide & fade animation --- .../ui/layouts/windows_sidebar_layout.dart | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/frontend/lib/ui/layouts/windows_sidebar_layout.dart b/frontend/lib/ui/layouts/windows_sidebar_layout.dart index 1d8b545..1dad7df 100644 --- a/frontend/lib/ui/layouts/windows_sidebar_layout.dart +++ b/frontend/lib/ui/layouts/windows_sidebar_layout.dart @@ -182,21 +182,34 @@ class _WindowsSidebarLayoutState extends ConsumerState borderRadius: BorderRadius.circular(8), ), child: AnimatedSwitcher( - duration: const Duration(milliseconds: 250), - transitionBuilder: (child, animation) => ScaleTransition( - scale: animation, - child: FadeTransition(opacity: animation, child: child), - ), + duration: const Duration(milliseconds: 240), + transitionBuilder: (child, animation) { + final inAnimation = Tween( + begin: Offset(_isMinimized ? -0.15 : 0.15, 0.0), + end: Offset.zero, + ).animate( + CurvedAnimation( + parent: animation, + curve: Curves.easeOutCubic, + ), + ); + return SlideTransition( + position: inAnimation, + child: FadeTransition(opacity: animation, child: child), + ); + }, child: Icon( _isMinimized - ? Icons.keyboard_double_arrow_right_rounded - : Icons.keyboard_double_arrow_left_rounded, + ? Icons.view_sidebar_outlined + : Icons.view_sidebar_rounded, key: ValueKey(_isMinimized), - color: Theme.of(context) - .colorScheme - .onSurface - .withValues(alpha: 0.85), - size: 22, + color: _isMinimized + ? Theme.of(context) + .colorScheme + .onSurface + .withValues(alpha: 0.80) + : AppColors.primaryGreen, + size: 21, ), ), ),