ActionSheet: Support for body highlight

This commit is contained in:
Neeraj Gupta 2023-01-06 11:14:25 +05:30
parent 0d95b8bc17
commit 106aa638e1
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1

View file

@ -24,6 +24,7 @@ Future<ButtonAction?> showActionSheet({
bool isCheckIconGreen = false,
String? title,
String? body,
String? bodyHighlight,
}) {
return showMaterialModalBottomSheet(
backgroundColor: Colors.transparent,
@ -36,6 +37,7 @@ Future<ButtonAction?> showActionSheet({
return ActionSheetWidget(
title: title,
body: body,
bodyHighlight: bodyHighlight,
actionButtons: buttons,
actionSheetType: actionSheetType,
isCheckIconGreen: isCheckIconGreen,
@ -47,6 +49,7 @@ Future<ButtonAction?> showActionSheet({
class ActionSheetWidget extends StatelessWidget {
final String? title;
final String? body;
final String? bodyHighlight;
final List<ButtonWidget> actionButtons;
final ActionSheetType actionSheetType;
final bool isCheckIconGreen;
@ -57,6 +60,7 @@ class ActionSheetWidget extends StatelessWidget {
required this.isCheckIconGreen,
this.title,
this.body,
this.bodyHighlight,
super.key,
});
@ -100,6 +104,7 @@ class ActionSheetWidget extends StatelessWidget {
child: ContentContainerWidget(
title: title,
body: body,
bodyHighlight: bodyHighlight,
actionSheetType: actionSheetType,
isCheckIconGreen: isCheckIconGreen,
),
@ -121,6 +126,7 @@ class ActionSheetWidget extends StatelessWidget {
class ContentContainerWidget extends StatelessWidget {
final String? title;
final String? body;
final String? bodyHighlight;
final ActionSheetType actionSheetType;
final bool isCheckIconGreen;
const ContentContainerWidget({
@ -128,6 +134,7 @@ class ContentContainerWidget extends StatelessWidget {
required this.isCheckIconGreen,
this.title,
this.body,
this.bodyHighlight,
super.key,
});
@ -165,7 +172,18 @@ class ContentContainerWidget extends StatelessWidget {
color: isCheckIconGreen
? getEnteColorScheme(context).primary700
: strokeBaseDark,
),
actionSheetType == ActionSheetType.defaultActionSheet &&
bodyHighlight != null
? Padding(
padding: const EdgeInsets.only(top: 19.0),
child: Text(
bodyHighlight!,
style: textTheme.body
.copyWith(color: textBaseDark), //constant color
),
)
: const SizedBox.shrink(),
],
);
}