TF-3601 Fix content gone blank in composer on IOS

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-04-03 15:27:55 +07:00
committed by Dat H. Pham
parent d6711ba93b
commit 0703d14761
16 changed files with 274 additions and 88 deletions
@@ -1,4 +1,5 @@
import 'package:core/presentation/constants/constants_ui.dart';
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/views/html_viewer/html_content_viewer_on_web_widget.dart';
@@ -72,6 +73,9 @@ class EventBodyContentWidget extends StatelessWidget {
return HtmlContentViewer(
contentHtml: content,
initialWidth: constraints.maxWidth,
maxHtmlContentHeight: PlatformInfo.isIOS
? ConstantsUI.htmlContentMaxHeight
: null,
direction: AppUtils.getCurrentDirection(context),
onMailtoDelegateAction: onMailtoDelegateAction
);
@@ -0,0 +1,54 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/views/button/tmail_button_widget.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class ViewEntireMessageWithMessageClippedWidget extends StatelessWidget {
final String buttonActionName;
final VoidCallback onViewEntireMessageAction;
final double? topPadding;
const ViewEntireMessageWithMessageClippedWidget({
super.key,
required this.buttonActionName,
required this.onViewEntireMessageAction,
this.topPadding,
});
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (topPadding != null)
SizedBox(height: topPadding),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Text(
AppLocalizations.of(context).messageClipped,
style: Theme.of(context).textTheme.bodySmall?.copyWith(
color: AppColor.steelGray400,
),
),
),
TMailButtonWidget.fromText(
text: buttonActionName,
textStyle: Theme.of(context).textTheme.bodyLarge?.copyWith(
color: AppColor.primaryColor,
fontSize: 14,
),
margin: const EdgeInsetsDirectional.only(
start: 8,
end: 8,
bottom: 24,
),
backgroundColor: Colors.transparent,
onTapActionCallback: onViewEntireMessageAction,
),
],
);
}
}