Skip to content

Commit 5605ecc

Browse files
authored
Merge pull request #901 from AppFlowy-IO/feat/board_ui_adjust
feat: Adjust UI details
2 parents 0d39afc + 50e772e commit 5605ecc

File tree

18 files changed

+173
-70
lines changed

18 files changed

+173
-70
lines changed

frontend/app_flowy/lib/plugins/board/presentation/board_page.dart

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import 'package:app_flowy/plugins/grid/application/row/row_data_controller.dart'
99
import 'package:app_flowy/plugins/grid/presentation/widgets/cell/cell_builder.dart';
1010
import 'package:app_flowy/plugins/grid/presentation/widgets/row/row_detail.dart';
1111
import 'package:appflowy_board/appflowy_board.dart';
12+
import 'package:flowy_infra/image.dart';
13+
import 'package:flowy_infra/theme.dart';
14+
import 'package:flowy_infra_ui/style_widget/text.dart';
1215
import 'package:flowy_infra_ui/widget/error_page.dart';
1316
import 'package:flowy_sdk/protobuf/flowy-folder/view.pb.dart';
1417
import 'package:flowy_sdk/protobuf/flowy-grid/block_entities.pb.dart';
@@ -81,21 +84,47 @@ class BoardContent extends StatelessWidget {
8184
Widget _buildHeader(
8285
BuildContext context, AFBoardColumnHeaderData headerData) {
8386
return AppFlowyColumnHeader(
84-
icon: const Icon(Icons.lightbulb_circle),
85-
title: Text(headerData.columnName),
86-
addIcon: const Icon(Icons.add, size: 20),
87-
moreIcon: const Icon(Icons.more_horiz, size: 20),
87+
// icon: const Icon(Icons.lightbulb_circle),
88+
title: Flexible(
89+
fit: FlexFit.tight,
90+
child: FlowyText.medium(
91+
headerData.columnName,
92+
fontSize: 14,
93+
overflow: TextOverflow.clip,
94+
color: context.read<AppTheme>().textColor,
95+
),
96+
),
97+
// addIcon: const Icon(Icons.add, size: 20),
98+
moreIcon: SizedBox(
99+
width: 20,
100+
height: 20,
101+
child: svgWidget(
102+
'grid/details',
103+
color: context.read<AppTheme>().iconColor,
104+
),
105+
),
88106
height: 50,
89-
margin: config.columnItemPadding,
107+
margin: config.headerPadding,
90108
);
91109
}
92110

93111
Widget _buildFooter(BuildContext context, AFBoardColumnData columnData) {
94112
return AppFlowyColumnFooter(
95-
icon: const Icon(Icons.add, size: 20),
96-
title: const Text('New'),
113+
icon: SizedBox(
114+
height: 20,
115+
width: 20,
116+
child: svgWidget(
117+
"home/add",
118+
color: context.read<AppTheme>().iconColor,
119+
),
120+
),
121+
title: FlowyText.medium(
122+
"New",
123+
fontSize: 14,
124+
color: context.read<AppTheme>().textColor,
125+
),
97126
height: 50,
98-
margin: config.columnItemPadding,
127+
margin: config.footerPadding,
99128
onAddButtonClick: () {
100129
context.read<BoardBloc>().add(BoardEvent.createRow(columnData.id));
101130
});
@@ -124,6 +153,8 @@ class BoardContent extends StatelessWidget {
124153

125154
return AppFlowyColumnItemCard(
126155
key: ObjectKey(item),
156+
margin: config.cardPadding,
157+
decoration: _makeBoxDecoration(context),
127158
child: BoardCard(
128159
gridId: gridId,
129160
isEditing: isEditing,
@@ -143,6 +174,16 @@ class BoardContent extends StatelessWidget {
143174
);
144175
}
145176

177+
BoxDecoration _makeBoxDecoration(BuildContext context) {
178+
final theme = context.read<AppTheme>();
179+
final borderSide = BorderSide(color: theme.shader6, width: 1.0);
180+
return BoxDecoration(
181+
color: theme.surface,
182+
border: Border.fromBorderSide(borderSide),
183+
borderRadius: const BorderRadius.all(Radius.circular(6)),
184+
);
185+
}
186+
146187
void _openCard(String gridId, GridFieldCache fieldCache, RowPB rowPB,
147188
GridRowCache rowCache, BuildContext context) {
148189
final rowInfo = RowInfo(

frontend/app_flowy/lib/plugins/board/presentation/card/board_checkbox_cell.dart

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import 'package:flowy_infra_ui/style_widget/icon_button.dart';
55
import 'package:flutter/material.dart';
66
import 'package:flutter_bloc/flutter_bloc.dart';
77

8+
import 'define.dart';
9+
810
class BoardCheckboxCell extends StatefulWidget {
911
final GridCellControllerBuilder cellControllerBuilder;
1012

@@ -38,12 +40,17 @@ class _BoardCheckboxCellState extends State<BoardCheckboxCell> {
3840
final icon = state.isSelected
3941
? svgWidget('editor/editor_check')
4042
: svgWidget('editor/editor_uncheck');
41-
return Align(
42-
alignment: Alignment.centerLeft,
43-
child: FlowyIconButton(
44-
iconPadding: EdgeInsets.zero,
45-
icon: icon,
46-
width: 20,
43+
return Padding(
44+
padding: EdgeInsets.symmetric(
45+
vertical: BoardSizes.cardCellVPading,
46+
),
47+
child: Align(
48+
alignment: Alignment.centerLeft,
49+
child: FlowyIconButton(
50+
iconPadding: EdgeInsets.zero,
51+
icon: icon,
52+
width: 20,
53+
),
4754
),
4855
);
4956
},

frontend/app_flowy/lib/plugins/board/presentation/card/board_date_cell.dart

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
import 'package:app_flowy/plugins/board/application/card/board_date_cell_bloc.dart';
22
import 'package:app_flowy/plugins/grid/application/cell/cell_service/cell_service.dart';
3+
import 'package:flowy_infra/theme.dart';
34
import 'package:flowy_infra_ui/style_widget/text.dart';
45
import 'package:flutter/material.dart';
56
import 'package:flutter_bloc/flutter_bloc.dart';
67

8+
import 'define.dart';
9+
710
class BoardDateCell extends StatefulWidget {
811
final GridCellControllerBuilder cellControllerBuilder;
912

@@ -40,9 +43,15 @@ class _BoardDateCellState extends State<BoardDateCell> {
4043
} else {
4144
return Align(
4245
alignment: Alignment.centerLeft,
43-
child: FlowyText.regular(
44-
state.dateStr,
45-
fontSize: 14,
46+
child: Padding(
47+
padding: EdgeInsets.symmetric(
48+
vertical: BoardSizes.cardCellVPading,
49+
),
50+
child: FlowyText.regular(
51+
state.dateStr,
52+
fontSize: 13,
53+
color: context.read<AppTheme>().shader3,
54+
),
4655
),
4756
);
4857
}

frontend/app_flowy/lib/plugins/board/presentation/card/board_number_cell.dart

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import 'package:flowy_infra_ui/style_widget/text.dart';
44
import 'package:flutter/material.dart';
55
import 'package:flutter_bloc/flutter_bloc.dart';
66

7+
import 'define.dart';
8+
79
class BoardNumberCell extends StatefulWidget {
810
final GridCellControllerBuilder cellControllerBuilder;
911

@@ -38,11 +40,15 @@ class _BoardNumberCellState extends State<BoardNumberCell> {
3840
if (state.content.isEmpty) {
3941
return const SizedBox();
4042
} else {
41-
return Align(
42-
alignment: Alignment.centerLeft,
43-
child: FlowyText.regular(
44-
state.content,
45-
fontSize: 14,
43+
return Padding(
44+
padding:
45+
EdgeInsets.symmetric(vertical: BoardSizes.cardCellVPading),
46+
child: Align(
47+
alignment: Alignment.centerLeft,
48+
child: FlowyText.medium(
49+
state.content,
50+
fontSize: 14,
51+
),
4652
),
4753
);
4854
}

frontend/app_flowy/lib/plugins/board/presentation/card/board_select_option_cell.dart

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import 'package:app_flowy/plugins/grid/presentation/widgets/cell/select_option_c
44
import 'package:flutter/material.dart';
55
import 'package:flutter_bloc/flutter_bloc.dart';
66

7+
import 'define.dart';
8+
79
class BoardSelectOptionCell extends StatefulWidget {
810
final GridCellControllerBuilder cellControllerBuilder;
911

@@ -42,10 +44,13 @@ class _BoardSelectOptionCellState extends State<BoardSelectOptionCell> {
4244
),
4345
)
4446
.toList();
45-
return Align(
46-
alignment: Alignment.centerLeft,
47-
child: AbsorbPointer(
48-
child: Wrap(children: children, spacing: 4, runSpacing: 2),
47+
return Padding(
48+
padding: EdgeInsets.symmetric(vertical: BoardSizes.cardCellVPading),
49+
child: Align(
50+
alignment: Alignment.centerLeft,
51+
child: AbsorbPointer(
52+
child: Wrap(children: children, spacing: 4, runSpacing: 2),
53+
),
4954
),
5055
);
5156
},

frontend/app_flowy/lib/plugins/board/presentation/card/board_text_cell.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import 'package:flowy_infra_ui/style_widget/text.dart';
44
import 'package:flutter/material.dart';
55
import 'package:flutter_bloc/flutter_bloc.dart';
66

7+
import 'define.dart';
8+
79
class BoardTextCell extends StatefulWidget {
810
final GridCellControllerBuilder cellControllerBuilder;
911
const BoardTextCell({required this.cellControllerBuilder, Key? key})
@@ -37,11 +39,10 @@ class _BoardTextCellState extends State<BoardTextCell> {
3739
} else {
3840
return Align(
3941
alignment: Alignment.centerLeft,
40-
child: ConstrainedBox(
41-
constraints: BoxConstraints.loose(
42-
const Size(double.infinity, 100),
43-
),
44-
child: FlowyText.regular(
42+
child: Padding(
43+
padding:
44+
EdgeInsets.symmetric(vertical: BoardSizes.cardCellVPading),
45+
child: FlowyText.medium(
4546
state.content,
4647
fontSize: 14,
4748
),

frontend/app_flowy/lib/plugins/board/presentation/card/board_url_cell.dart

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import 'package:flowy_infra/theme.dart';
44
import 'package:flutter/material.dart';
55
import 'package:flutter_bloc/flutter_bloc.dart';
66

7+
import 'define.dart';
8+
79
class BoardUrlCell extends StatefulWidget {
810
final GridCellControllerBuilder cellControllerBuilder;
911

@@ -38,16 +40,20 @@ class _BoardUrlCellState extends State<BoardUrlCell> {
3840
if (state.content.isEmpty) {
3941
return const SizedBox();
4042
} else {
41-
return Align(
42-
alignment: Alignment.centerLeft,
43-
child: RichText(
44-
textAlign: TextAlign.left,
45-
text: TextSpan(
46-
text: state.content,
47-
style: TextStyle(
48-
color: theme.main2,
49-
fontSize: 14,
50-
decoration: TextDecoration.underline,
43+
return Padding(
44+
padding:
45+
EdgeInsets.symmetric(vertical: BoardSizes.cardCellVPading),
46+
child: Align(
47+
alignment: Alignment.centerLeft,
48+
child: RichText(
49+
textAlign: TextAlign.left,
50+
text: TextSpan(
51+
text: state.content,
52+
style: TextStyle(
53+
color: theme.main2,
54+
fontSize: 14,
55+
decoration: TextDecoration.underline,
56+
),
5157
),
5258
),
5359
),

frontend/app_flowy/lib/plugins/board/presentation/card/card.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class _BoardCardState extends State<BoardCard> {
7373
(cellId) {
7474
final child = widget.cellBuilder.buildCell(cellId);
7575
return Padding(
76-
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 5),
76+
padding: const EdgeInsets.symmetric(horizontal: 6),
7777
child: child,
7878
);
7979
},
@@ -92,7 +92,7 @@ class _CardMoreOption extends StatelessWidget with CardAccessory {
9292

9393
@override
9494
Widget build(BuildContext context) {
95-
return svgWidget('home/details', color: context.read<AppTheme>().iconColor);
95+
return svgWidget('grid/details', color: context.read<AppTheme>().iconColor);
9696
}
9797

9898
@override

frontend/app_flowy/lib/plugins/board/presentation/card/card_container.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ class _CardEnterRegion extends StatelessWidget {
116116
.onEnter = false,
117117
child: IntrinsicHeight(
118118
child: Stack(
119-
alignment: AlignmentDirectional.center,
119+
alignment: AlignmentDirectional.topEnd,
120120
fit: StackFit.expand,
121121
children: children,
122122
)),
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class BoardSizes {
2+
static double get cardCellVPading => 4;
3+
}

0 commit comments

Comments
 (0)