Browse Source

feat: unify styles

Vincent Chan 3 years ago
parent
commit
84b5762017

+ 0 - 1
frontend/app_flowy/lib/plugins/grid/presentation/widgets/row/row_detail.dart

@@ -4,7 +4,6 @@ import 'package:app_flowy/plugins/grid/application/row/row_data_controller.dart'
 import 'package:app_flowy/plugins/grid/application/row/row_detail_bloc.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra/theme.dart';
-import 'package:flowy_infra_ui/src/flowy_overlay/flowy_dialog.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
 import 'package:flowy_infra_ui/style_widget/icon_button.dart';
 import 'package:flowy_infra_ui/style_widget/scrolling/styled_scroll_bar.dart';

+ 36 - 31
frontend/app_flowy/lib/workspace/presentation/settings/settings_dialog.dart

@@ -6,6 +6,7 @@ import 'package:app_flowy/workspace/presentation/settings/widgets/settings_langu
 import 'package:app_flowy/workspace/presentation/settings/widgets/settings_user_view.dart';
 import 'package:app_flowy/workspace/presentation/settings/widgets/settings_menu.dart';
 import 'package:app_flowy/workspace/application/settings/settings_dialog_bloc.dart';
+import 'package:flowy_infra_ui/flowy_infra_ui.dart';
 import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flutter/material.dart';
@@ -28,46 +29,50 @@ class SettingsDialog extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     return BlocProvider<SettingsDialogBloc>(
-        create: (context) => getIt<SettingsDialogBloc>(param1: user)..add(const SettingsDialogEvent.initial()),
+        create: (context) => getIt<SettingsDialogBloc>(param1: user)
+          ..add(const SettingsDialogEvent.initial()),
         child: BlocBuilder<SettingsDialogBloc, SettingsDialogState>(
             builder: (context, state) => ChangeNotifierProvider.value(
-                  value: Provider.of<AppearanceSettingModel>(context, listen: true),
-                  child: AlertDialog(
-                    shape: RoundedRectangleBorder(
-                      borderRadius: BorderRadius.circular(10),
-                    ),
+                  value: Provider.of<AppearanceSettingModel>(context,
+                      listen: true),
+                  child: FlowyDialog(
                     title: Text(
                       LocaleKeys.settings_title.tr(),
                       style: const TextStyle(
                         fontWeight: FontWeight.bold,
                       ),
                     ),
-                    content: ConstrainedBox(
-                      constraints: const BoxConstraints(
-                        maxHeight: 600,
-                        minWidth: 600,
-                        maxWidth: 1000,
-                      ),
-                      child: Row(
-                        crossAxisAlignment: CrossAxisAlignment.start,
-                        children: [
-                          SizedBox(
-                            width: 200,
-                            child: SettingsMenu(
-                              changeSelectedIndex: (index) {
-                                context.read<SettingsDialogBloc>().add(SettingsDialogEvent.setViewIndex(index));
-                              },
-                              currentIndex: context.read<SettingsDialogBloc>().state.viewIndex,
-                            ),
+                    child: Row(
+                      crossAxisAlignment: CrossAxisAlignment.start,
+                      children: [
+                        SizedBox(
+                          width: 200,
+                          child: SettingsMenu(
+                            changeSelectedIndex: (index) {
+                              context
+                                  .read<SettingsDialogBloc>()
+                                  .add(SettingsDialogEvent.setViewIndex(index));
+                            },
+                            currentIndex: context
+                                .read<SettingsDialogBloc>()
+                                .state
+                                .viewIndex,
                           ),
-                          const VerticalDivider(),
-                          const SizedBox(width: 10),
-                          Expanded(
-                            child: getSettingsView(context.read<SettingsDialogBloc>().state.viewIndex,
-                                context.read<SettingsDialogBloc>().state.userProfile),
-                          )
-                        ],
-                      ),
+                        ),
+                        const VerticalDivider(),
+                        const SizedBox(width: 10),
+                        Expanded(
+                          child: getSettingsView(
+                              context
+                                  .read<SettingsDialogBloc>()
+                                  .state
+                                  .viewIndex,
+                              context
+                                  .read<SettingsDialogBloc>()
+                                  .state
+                                  .userProfile),
+                        )
+                      ],
                     ),
                   ),
                 )));

+ 1 - 0
frontend/app_flowy/packages/flowy_infra_ui/lib/flowy_infra_ui.dart

@@ -8,3 +8,4 @@ export 'src/keyboard/keyboard_visibility_detector.dart';
 export 'src/flowy_overlay/flowy_overlay.dart';
 export 'src/flowy_overlay/list_overlay.dart';
 export 'src/flowy_overlay/option_overlay.dart';
+export 'src/flowy_overlay/flowy_dialog.dart';

+ 21 - 15
frontend/app_flowy/packages/flowy_infra_ui/lib/src/flowy_overlay/flowy_dialog.dart

@@ -1,20 +1,22 @@
 import 'package:flutter/material.dart';
 import 'dart:math';
 
-const overlayContainerPadding = EdgeInsets.all(12);
+const _overlayContainerPadding = EdgeInsets.all(12);
 const overlayContainerMaxWidth = 760.0;
 const overlayContainerMinWidth = 320.0;
 
 class FlowyDialog extends StatelessWidget {
   final Widget? title;
+  final ShapeBorder? shape;
   final Widget child;
   final BoxConstraints? constraints;
   final EdgeInsets padding;
   const FlowyDialog({
     required this.child,
     this.title,
+    this.shape,
     this.constraints,
-    this.padding = overlayContainerPadding,
+    this.padding = _overlayContainerPadding,
     Key? key,
   }) : super(key: key);
 
@@ -22,18 +24,22 @@ class FlowyDialog extends StatelessWidget {
   Widget build(BuildContext context) {
     final windowSize = MediaQuery.of(context).size;
     final size = windowSize * 0.7;
-    return SimpleDialog(title: title, children: [
-      Material(
-        type: MaterialType.transparency,
-        child: Container(
-          padding: padding,
-          height: size.height,
-          width: max(min(size.width, overlayContainerMaxWidth),
-              overlayContainerMinWidth),
-          constraints: constraints,
-          child: child,
-        ),
-      )
-    ]);
+    return SimpleDialog(
+        title: title,
+        shape: shape ??
+            RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
+        children: [
+          Material(
+            type: MaterialType.transparency,
+            child: Container(
+              padding: padding,
+              height: size.height,
+              width: max(min(size.width, overlayContainerMaxWidth),
+                  overlayContainerMinWidth),
+              constraints: constraints,
+              child: child,
+            ),
+          )
+        ]);
   }
 }