fix: fixed controls space

This commit is contained in:
Victor Teles 2022-08-10 02:17:27 -03:00
parent 7f249ebae2
commit 76c3e440e7
3 changed files with 16 additions and 15 deletions

View File

@ -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;

View File

@ -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,

View File

@ -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(