From a1ceee391a80c7e52dbb559e44679d41f3e34aee Mon Sep 17 00:00:00 2001 From: Freek van de Ven Date: Thu, 30 Nov 2023 06:15:51 +0100 Subject: [PATCH] feat: render html --- .../lib/src/screens/timeline_post_screen.dart | 25 ++++++++++++++++--- packages/flutter_timeline_view/pubspec.yaml | 1 + 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/packages/flutter_timeline_view/lib/src/screens/timeline_post_screen.dart b/packages/flutter_timeline_view/lib/src/screens/timeline_post_screen.dart index ff77b5f..e1d238e 100644 --- a/packages/flutter_timeline_view/lib/src/screens/timeline_post_screen.dart +++ b/packages/flutter_timeline_view/lib/src/screens/timeline_post_screen.dart @@ -7,6 +7,7 @@ import 'dart:typed_data'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_html/flutter_html.dart'; import 'package:flutter_image_picker/flutter_image_picker.dart'; import 'package:flutter_timeline_interface/flutter_timeline_interface.dart'; import 'package:flutter_timeline_view/src/config/timeline_options.dart'; @@ -273,9 +274,27 @@ class _TimelinePostScreenState extends State { overflow: TextOverflow.ellipsis, ), const SizedBox(height: 4), - Text( - post.content, - style: theme.textTheme.bodyMedium, + Html( + data: post.content, + style: { + 'body': Style( + padding: HtmlPaddings.zero, + margin: Margins.zero, + ), + '#': Style( + maxLines: 3, + textOverflow: TextOverflow.ellipsis, + ), + 'H1': Style( + margin: Margins.all(0), + ), + 'H2': Style( + margin: Margins.all(0), + ), + 'H3': Style( + margin: Margins.all(0), + ), + }, ), const SizedBox(height: 4), Text( diff --git a/packages/flutter_timeline_view/pubspec.yaml b/packages/flutter_timeline_view/pubspec.yaml index 4b880c1..3aec802 100644 --- a/packages/flutter_timeline_view/pubspec.yaml +++ b/packages/flutter_timeline_view/pubspec.yaml @@ -17,6 +17,7 @@ dependencies: intl: any cached_network_image: ^3.2.2 dotted_border: ^2.1.0 + flutter_html: ^3.0.0-beta.2 flutter_timeline_interface: git: