Browse Source

feat: customizes quoted text style

Lucas.Xu 2 years ago
parent
commit
25387cd0b0

+ 8 - 6
frontend/app_flowy/packages/flowy_editor/lib/infra/flowy_svg.dart

@@ -18,12 +18,14 @@ class FlowySvg extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     if (name != null) {
-      return SvgPicture.asset(
-        'assets/images/$name.svg',
-        color: color,
-        package: 'flowy_editor',
-        width: size.width,
-        height: size.width,
+      return SizedBox.fromSize(
+        size: size,
+        child: SvgPicture.asset(
+          'assets/images/$name.svg',
+          color: color,
+          package: 'flowy_editor',
+          fit: BoxFit.fill,
+        ),
       );
     } else if (number != null) {
       final numberText =

+ 1 - 0
frontend/app_flowy/packages/flowy_editor/lib/render/rich_text/flowy_rich_text.dart

@@ -158,6 +158,7 @@ class _FlowyRichTextState extends State<FlowyRichText> with Selectable {
             color: widget.textNode.toRawString().isNotEmpty
                 ? Colors.transparent
                 : Colors.grey,
+            fontSize: baseFontSize,
           ),
         ),
       ],

+ 10 - 1
frontend/app_flowy/packages/flowy_editor/lib/render/rich_text/quoted_text.dart

@@ -59,7 +59,10 @@ class _QuotedTextNodeWidgetState extends State<QuotedTextNodeWidget>
     return Row(
       children: [
         FlowySvg(
-          size: Size.square(leftPadding),
+          size: Size(
+            leftPadding,
+            _quoteHeight,
+          ),
           name: 'quote',
         ),
         FlowyRichText(
@@ -71,4 +74,10 @@ class _QuotedTextNodeWidgetState extends State<QuotedTextNodeWidget>
       ],
     );
   }
+
+  double get _quoteHeight {
+    final lines =
+        widget.textNode.toRawString().characters.where((c) => c == '\n').length;
+    return (lines + 1) * leftPadding;
+  }
 }