Explorar o código

Merge pull request #906 from AppFlowy-IO/feat/board_text_cell_max_height

chore: add max height constraint for board text cell
Nathan.fooo %!s(int64=2) %!d(string=hai) anos
pai
achega
9fe7c9128d

+ 6 - 5
frontend/app_flowy/lib/plugins/board/presentation/card/board_text_cell.dart

@@ -40,11 +40,12 @@ class _BoardTextCellState extends State<BoardTextCell> {
             return Align(
               alignment: Alignment.centerLeft,
               child: Padding(
-                padding:
-                    EdgeInsets.symmetric(vertical: BoardSizes.cardCellVPadding),
-                child: FlowyText.medium(
-                  state.content,
-                  fontSize: 14,
+                padding: EdgeInsets.symmetric(
+                  vertical: BoardSizes.cardCellVPadding,
+                ),
+                child: ConstrainedBox(
+                  constraints: const BoxConstraints(maxHeight: 120),
+                  child: FlowyText.medium(state.content, fontSize: 14),
                 ),
               ),
             );

+ 17 - 30
frontend/app_flowy/packages/flowy_infra_ui/lib/style_widget/text.dart

@@ -4,15 +4,16 @@ import 'package:provider/provider.dart';
 
 class FlowyText extends StatelessWidget {
   final String title;
-  final TextOverflow overflow;
+  final TextOverflow? overflow;
   final double fontSize;
   final FontWeight fontWeight;
   final TextAlign? textAlign;
   final Color? color;
+
   const FlowyText(
     this.title, {
     Key? key,
-    this.overflow = TextOverflow.ellipsis,
+    this.overflow = TextOverflow.clip,
     this.fontSize = 16,
     this.fontWeight = FontWeight.w400,
     this.textAlign,
@@ -20,47 +21,33 @@ class FlowyText extends StatelessWidget {
   }) : super(key: key);
 
   const FlowyText.semibold(this.title,
-      {Key? key,
-      this.fontSize = 16,
-      TextOverflow? overflow,
-      this.color,
-      this.textAlign})
+      {Key? key, this.fontSize = 16, this.overflow, this.color, this.textAlign})
       : fontWeight = FontWeight.w600,
-        overflow = overflow ?? TextOverflow.ellipsis,
         super(key: key);
 
   const FlowyText.medium(this.title,
-      {Key? key,
-      this.fontSize = 16,
-      TextOverflow? overflow,
-      this.color,
-      this.textAlign})
+      {Key? key, this.fontSize = 16, this.overflow, this.color, this.textAlign})
       : fontWeight = FontWeight.w500,
-        overflow = overflow ?? TextOverflow.ellipsis,
         super(key: key);
 
   const FlowyText.regular(this.title,
-      {Key? key,
-      this.fontSize = 16,
-      TextOverflow? overflow,
-      this.color,
-      this.textAlign})
+      {Key? key, this.fontSize = 16, this.overflow, this.color, this.textAlign})
       : fontWeight = FontWeight.w400,
-        overflow = overflow ?? TextOverflow.ellipsis,
         super(key: key);
 
   @override
   Widget build(BuildContext context) {
     final theme = context.watch<AppTheme>();
-    return Text(title,
-        softWrap: false,
-        textAlign: textAlign,
-        overflow: overflow,
-        style: TextStyle(
-          color: color ?? theme.textColor,
-          fontWeight: fontWeight,
-          fontSize: fontSize,
-          fontFamily: 'Mulish',
-        ));
+    return Text(
+      title,
+      textAlign: textAlign,
+      overflow: overflow ?? TextOverflow.clip,
+      style: TextStyle(
+        color: color ?? theme.textColor,
+        fontWeight: fontWeight,
+        fontSize: fontSize,
+        fontFamily: 'Mulish',
+      ),
+    );
   }
 }