💄 Better macos window
This commit is contained in:
		| @@ -59,9 +59,6 @@ Future<void> _initializePlatformComponents() async { | ||||
|     if (PlatformInfo.isMacOS) { | ||||
|       await Future.wait([ | ||||
|         Window.hideTitle(), | ||||
|         Window.hideCloseButton(), | ||||
|         Window.hideMiniaturizeButton(), | ||||
|         Window.hideZoomButton(), | ||||
|         Window.makeTitlebarTransparent(), | ||||
|         Window.enableFullSizeContentView(), | ||||
|       ]); | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:flutter_animate/flutter_animate.dart'; | ||||
| import 'package:go_router/go_router.dart'; | ||||
| import 'package:solian/platform.dart'; | ||||
| import 'package:solian/router.dart'; | ||||
| import 'package:solian/theme.dart'; | ||||
| import 'package:solian/widgets/navigation/app_navigation.dart'; | ||||
| @@ -31,33 +32,49 @@ class RootShell extends StatelessWidget { | ||||
|         AppNavigation.destinationPages.contains(routeName); | ||||
|  | ||||
|     return Scaffold( | ||||
|       body: SolianTheme.isLargeScreen(context) | ||||
|           ? Row( | ||||
|               children: [ | ||||
|                 if (showNavigation) const AppNavigationRail(), | ||||
|                 if (showNavigation) | ||||
|                   const VerticalDivider(thickness: 0.3, width: 1), | ||||
|                 Expanded(child: child), | ||||
|               ], | ||||
|             ) | ||||
|           : Stack( | ||||
|               children: [ | ||||
|                 child, | ||||
|                 Positioned( | ||||
|                   bottom: 0, | ||||
|                   left: 0, | ||||
|                   right: 0, | ||||
|                   child: const AppNavigationBottomBar() | ||||
|                       .animate(target: showBottom ? 0 : 1) | ||||
|                       .slideY( | ||||
|                         duration: 250.ms, | ||||
|                         begin: 0, | ||||
|                         end: 1, | ||||
|                         curve: Curves.easeInToLinear, | ||||
|                       ), | ||||
|                 ), | ||||
|               ], | ||||
|       body: Column( | ||||
|         children: [ | ||||
|           if (PlatformInfo.isMacOS) | ||||
|             Container( | ||||
|               height: 28, | ||||
|               color: Theme.of(context).colorScheme.surface, | ||||
|             ), | ||||
|           if (PlatformInfo.isMacOS) | ||||
|             const Divider( | ||||
|               thickness: 0.3, | ||||
|               height: 0.3, | ||||
|             ), | ||||
|           Expanded( | ||||
|             child: SolianTheme.isLargeScreen(context) | ||||
|                 ? Row( | ||||
|                     children: [ | ||||
|                       if (showNavigation) const AppNavigationRail(), | ||||
|                       if (showNavigation) | ||||
|                         const VerticalDivider(thickness: 0.3, width: 1), | ||||
|                       Expanded(child: child), | ||||
|                     ], | ||||
|                   ) | ||||
|                 : Stack( | ||||
|                     children: [ | ||||
|                       child, | ||||
|                       Positioned( | ||||
|                         bottom: 0, | ||||
|                         left: 0, | ||||
|                         right: 0, | ||||
|                         child: const AppNavigationBottomBar() | ||||
|                             .animate(target: showBottom ? 0 : 1) | ||||
|                             .slideY( | ||||
|                               duration: 250.ms, | ||||
|                               begin: 0, | ||||
|                               end: 1, | ||||
|                               curve: Curves.easeInToLinear, | ||||
|                             ), | ||||
|                       ), | ||||
|                     ], | ||||
|                   ), | ||||
|           ), | ||||
|         ], | ||||
|       ), | ||||
|     ); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -330,16 +330,16 @@ | ||||
|             </items> | ||||
|             <point key="canvasLocation" x="142" y="-258"/> | ||||
|         </menu> | ||||
|         <window title="Solian" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Solian" customModuleProvider="target"> | ||||
|             <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/> | ||||
|             <rect key="contentRect" x="335" y="390" width="960" height="540"/> | ||||
|         <window title="Solian" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" titlebarAppearsTransparent="YES" titleVisibility="hidden" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Solian" customModuleProvider="target"> | ||||
|             <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" fullSizeContentView="YES"/> | ||||
|             <rect key="contentRect" x="335" y="390" width="1280" height="800"/> | ||||
|             <rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/> | ||||
|             <value key="minSize" type="size" width="380" height="540"/> | ||||
|             <view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ"> | ||||
|                 <rect key="frame" x="0.0" y="0.0" width="960" height="540"/> | ||||
|                 <rect key="frame" x="0.0" y="0.0" width="1280" height="800"/> | ||||
|                 <autoresizingMask key="autoresizingMask"/> | ||||
|             </view> | ||||
|             <point key="canvasLocation" x="266" y="141.5"/> | ||||
|             <point key="canvasLocation" x="262" y="95"/> | ||||
|         </window> | ||||
|     </objects> | ||||
| </document> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user