Parcourir la source

fix: fixed controls space

Victor Teles il y a 2 ans
Parent
commit
76c3e440e7

+ 2 - 0
frontend/app_flowy/lib/workspace/presentation/home/home_layout.dart

@@ -15,6 +15,7 @@ class HomeLayout {
   late double editPanelWidth;
   late double homePageLOffset;
   late double homePageROffset;
+  late double menuSpacing;
   late Duration animDuration;
 
   HomeLayout(BuildContext context, BoxConstraints homeScreenConstraint,
@@ -37,6 +38,7 @@ class HomeLayout {
     }
 
     homePageLOffset = showMenu ? menuWidth : 0.0;
+    menuSpacing = showMenu ? 0 : 80.0;
     animDuration = .35.seconds;
 
     editPanelWidth = HomeSizes.editPanelWidth;

+ 3 - 1
frontend/app_flowy/lib/workspace/presentation/home/home_screen.dart

@@ -87,7 +87,9 @@ class _HomeScreenState extends State<HomeScreen> {
     return LayoutBuilder(
       builder: (BuildContext context, BoxConstraints constraints) {
         final layout = HomeLayout(context, constraints, state.forceCollapse);
-        const homeStack = HomeStack();
+        final homeStack = HomeStack(
+          layout: layout,
+        );
         final menu = _buildHomeMenu(
           layout: layout,
           context: context,

+ 11 - 14
frontend/app_flowy/lib/workspace/presentation/home/home_stack.dart

@@ -17,11 +17,14 @@ import 'package:app_flowy/core/frameless_window.dart';
 import 'package:flowy_infra_ui/widget/spacing.dart';
 import 'package:flowy_infra_ui/style_widget/extension.dart';
 import 'package:flowy_infra/notifier.dart';
+import 'home_layout.dart';
 
 typedef NavigationCallback = void Function(String id);
 
 class HomeStack extends StatelessWidget {
-  const HomeStack({Key? key}) : super(key: key);
+  const HomeStack({Key? key, required this.layout}) : super(key: key);
+
+  final HomeLayout layout;
 
   @override
   Widget build(BuildContext context) {
@@ -30,7 +33,7 @@ class HomeStack extends StatelessWidget {
     return Column(
       mainAxisAlignment: MainAxisAlignment.start,
       children: [
-        getIt<HomeStackManager>().stackTopBar(),
+        getIt<HomeStackManager>().stackTopBar(layout: layout),
         Expanded(
           child: Container(
             color: theme.surface,
@@ -143,7 +146,7 @@ class HomeStackManager {
 
   void setStackWithId(String id) {}
 
-  Widget stackTopBar() {
+  Widget stackTopBar({required HomeLayout layout}) {
     return MultiProvider(
       providers: [
         ChangeNotifierProvider.value(value: _notifier),
@@ -151,7 +154,7 @@ class HomeStackManager {
       child: Selector<HomeStackNotifier, Widget>(
         selector: (context, notifier) => notifier.titleWidget,
         builder: (context, widget, child) {
-          return const MoveWindowDetector(child: HomeTopBar());
+          return MoveWindowDetector(child: HomeTopBar(layout: layout));
         },
       ),
     );
@@ -181,7 +184,9 @@ class HomeStackManager {
 }
 
 class HomeTopBar extends StatelessWidget {
-  const HomeTopBar({Key? key}) : super(key: key);
+  const HomeTopBar({Key? key, required this.layout}) : super(key: key);
+
+  final HomeLayout layout;
 
   @override
   Widget build(BuildContext context) {
@@ -192,15 +197,7 @@ class HomeTopBar extends StatelessWidget {
       child: Row(
         crossAxisAlignment: CrossAxisAlignment.center,
         children: [
-          BlocBuilder<HomeBloc, HomeState>(
-              buildWhen: ((previous, current) =>
-                  previous.isMenuCollapsed != current.isMenuCollapsed),
-              builder: (context, state) {
-                if (state.isMenuCollapsed && Platform.isMacOS) {
-                  return const HSpace(80);
-                }
-                return const HSpace(0);
-              }),
+          HSpace(layout.menuSpacing),
           const FlowyNavigation(),
           const HSpace(16),
           ChangeNotifierProvider.value(