From a4f4066dfac0e749d38e2347722b183912b6f428 Mon Sep 17 00:00:00 2001 From: appflowy Date: Mon, 26 Jul 2021 15:25:30 +0800 Subject: [PATCH] config view list ui --- app_flowy/assets/images/file_icon.jpg | Bin 0 -> 18201 bytes .../presentation/app/app_widget.dart | 101 +++++++++--------- .../workspace/presentation/app/view_list.dart | 18 ++-- .../presentation/view/view_widget.dart | 15 +-- 4 files changed, 69 insertions(+), 65 deletions(-) create mode 100644 app_flowy/assets/images/file_icon.jpg diff --git a/app_flowy/assets/images/file_icon.jpg b/app_flowy/assets/images/file_icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..88865fa0042ec5d7b3d9ef9e38ef74d18096afca GIT binary patch literal 18201 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 giTr=?ClM!p%Mv5}ek$j8CiB + expandedIconSize * scale + expandedIconRightSpace; +} + class AppWidget extends MenuItem { final App app; AppWidget(this.app, {Key? key}) : super(key: ValueKey(app.id)); @@ -54,27 +65,24 @@ class AppWidget extends MenuItem { child: ScrollOnExpand( scrollOnExpand: true, scrollOnCollapse: false, - child: Card( - clipBehavior: Clip.antiAlias, - child: Column( - children: [ - ExpandablePanel( - theme: const ExpandableThemeData( - headerAlignment: ExpandablePanelHeaderAlignment.center, - tapBodyToExpand: false, - tapBodyToCollapse: false, - iconPadding: EdgeInsets.zero, - hasIcon: false, - ), - header: AppHeader(app), - expanded: Padding( - padding: EdgeInsets.only(left: Sizes.iconMed), - child: child, - ), - collapsed: const SizedBox(), + child: Column( + children: [ + ExpandablePanel( + theme: const ExpandableThemeData( + headerAlignment: ExpandablePanelHeaderAlignment.center, + tapBodyToExpand: false, + tapBodyToCollapse: false, + iconPadding: EdgeInsets.zero, + hasIcon: false, ), - ], - ), + header: AppHeader(app), + expanded: Padding( + padding: EdgeInsets.only(left: AppWidgetSize.expandedPadding), + child: child, + ), + collapsed: const SizedBox(), + ), + ], ), ), ); @@ -93,40 +101,35 @@ class AppHeader extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( - color: Colors.white, - child: Padding( - padding: EdgeInsets.symmetric(vertical: Insets.m), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - ExpandableIcon( - theme: const ExpandableThemeData( - expandIcon: Icons.arrow_right, - collapseIcon: Icons.arrow_drop_down, - iconColor: Colors.black, - iconSize: 24, - iconPadding: EdgeInsets.zero, - hasIcon: false, - ), - ), - Expanded( - child: Text(app.name), - ), - SizedBox( - height: 30, - child: createViewPopupMenu(context), - ), - ], + return Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + ExpandableIcon( + theme: ExpandableThemeData( + expandIcon: Icons.arrow_drop_up, + collapseIcon: Icons.arrow_drop_down, + iconColor: Colors.black, + iconSize: AppWidgetSize.expandedIconSize, + iconPadding: EdgeInsets.zero, + hasIcon: false, + ), ), - ), + HSpace(AppWidgetSize.expandedIconRightSpace), + Expanded( + child: Text( + app.name, + style: const TextStyle(fontSize: 18), + ), + ), + _renderPopupMenu(context), + ], ); } - Widget createViewPopupMenu(BuildContext context) { + Widget _renderPopupMenu(BuildContext context) { return PopupMenuButton( - iconSize: 24, + iconSize: 20, tooltip: 'create new view', icon: const Icon(Icons.add), padding: EdgeInsets.zero, diff --git a/app_flowy/lib/workspace/presentation/app/view_list.dart b/app_flowy/lib/workspace/presentation/app/view_list.dart index d4dde80159..c9570abd39 100644 --- a/app_flowy/lib/workspace/presentation/app/view_list.dart +++ b/app_flowy/lib/workspace/presentation/app/view_list.dart @@ -15,22 +15,22 @@ class ViewList extends StatelessWidget { Widget build(BuildContext context) { Log.info('ViewList build'); return views.fold( - () => const SizedBox( - height: 10, - ), + () => const SizedBox(), (views) { return Column( - children: buildViewWidgets(views), - ).padding(vertical: Insets.sm); + children: _renderViewWidgets(views), + ); }, ); } - List buildViewWidgets(List views) { + List _renderViewWidgets(List views) { var targetViews = views.map((view) { - return ViewWidget( - icon: const Icon(Icons.file_copy), - view: view, + return Padding( + padding: const EdgeInsets.symmetric(vertical: 6), + child: ViewWidget( + view: view, + ), ); }).toList(growable: true); return targetViews; diff --git a/app_flowy/lib/workspace/presentation/view/view_widget.dart b/app_flowy/lib/workspace/presentation/view/view_widget.dart index 5e70770038..6deba74c1b 100644 --- a/app_flowy/lib/workspace/presentation/view/view_widget.dart +++ b/app_flowy/lib/workspace/presentation/view/view_widget.dart @@ -1,13 +1,12 @@ import 'package:app_flowy/startup/startup.dart'; import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart'; +import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart'; import 'package:flutter/material.dart'; class ViewWidget extends StatelessWidget { final View view; - final Widget icon; - const ViewWidget({Key? key, required this.view, required this.icon}) - : super(key: key); + const ViewWidget({Key? key, required this.view}) : super(key: key); @override Widget build(BuildContext context) { @@ -17,10 +16,12 @@ class ViewWidget extends StatelessWidget { Row buildContent() { return Row( children: [ - icon, - const SizedBox( - width: 4, - ), + const Image( + fit: BoxFit.cover, + width: 20, + height: 20, + image: AssetImage('assets/images/file_icon.jpg')), + const HSpace(6), Text( view.name, textAlign: TextAlign.start,