|
1 | | -import 'package:flutter/cupertino.dart'; |
2 | 1 | import 'package:flutter/material.dart'; |
3 | | -import 'package:flutter_highlight/themes/paraiso-dark.dart'; |
4 | 2 | import 'package:habr_app/stores/app_settings.dart'; |
5 | 3 | import 'package:provider/provider.dart'; |
6 | 4 | import 'package:itertools/itertools.dart'; |
@@ -61,6 +59,13 @@ class BuildParams { |
61 | 59 | required this.imagesWithPadding, |
62 | 60 | this.padding, |
63 | 61 | }); |
| 62 | + |
| 63 | + BuildParams withoutPadding() { |
| 64 | + return BuildParams( |
| 65 | + textAlign: textAlign, |
| 66 | + imagesWithPadding: false, |
| 67 | + ); |
| 68 | + } |
64 | 69 | } |
65 | 70 |
|
66 | 71 | Widget wrapPadding(Widget child, BuildParams params) => params.padding != null |
@@ -155,13 +160,23 @@ Widget? buildTree( |
155 | 160 | themeNameLight: appSettings.lightCodeTheme, |
156 | 161 | ); |
157 | 162 | } else if (element is view.BlockQuote) { |
158 | | - widget = BlockQuote(child: buildTree(element.child, context, params)); |
| 163 | + widget = BlockQuote( |
| 164 | + child: buildTree( |
| 165 | + element.child, |
| 166 | + context, |
| 167 | + params.withoutPadding(), |
| 168 | + ), |
| 169 | + ); |
159 | 170 | widget = wrapPadding(widget, params); |
160 | 171 | } else if (element is view.BlockList) { |
161 | 172 | // TODO: ordered list |
162 | 173 | widget = UnorderedList( |
163 | 174 | children: element.children |
164 | | - .map<Widget?>((li) => buildTree(li, context, params)) |
| 175 | + .map<Widget?>((li) => buildTree( |
| 176 | + li, |
| 177 | + context, |
| 178 | + params.withoutPadding(), |
| 179 | + )) |
165 | 180 | .notNull |
166 | 181 | .toList()); |
167 | 182 | widget = wrapPadding(widget, params); |
|
0 commit comments