TF-1983 Add CreateFilters button in empty thread view widget
(cherry picked from commit 5eed73198c868448cfbc3c93600176aa15bf62f4)
This commit is contained in:
@@ -65,7 +65,6 @@ export 'presentation/views/dialog/downloading_file_dialog_builder.dart';
|
||||
export 'presentation/views/dialog/confirmation_dialog_builder.dart';
|
||||
export 'presentation/views/dialog/edit_text_dialog_builder.dart';
|
||||
export 'presentation/views/dialog/color_picker_dialog_builder.dart';
|
||||
export 'presentation/views/background/background_widget_builder.dart';
|
||||
export 'presentation/views/html_viewer/html_content_viewer_widget.dart';
|
||||
export 'presentation/views/html_viewer/html_content_viewer_on_web_widget.dart';
|
||||
export 'presentation/views/html_viewer/html_viewer_controller_for_web.dart';
|
||||
|
||||
@@ -201,6 +201,7 @@ extension AppColor on Color {
|
||||
static const colorEventDescriptionBackground = Color(0x05000000);
|
||||
static const colorLabelQuotas = Color(0xFF818C99);
|
||||
static const colorLabelCancelButton = Color(0xFFAEB7C2);
|
||||
static const colorCreateFiltersButton = Color(0xFFF3F3F7);
|
||||
|
||||
static const mapGradientColor = [
|
||||
[Color(0xFF21D4FD), Color(0xFFB721FF)],
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:core/presentation/views/responsive/responsive_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
|
||||
class BackgroundWidgetBuilder extends StatelessWidget {
|
||||
|
||||
final ResponsiveUtils responsiveUtils;
|
||||
final String title;
|
||||
final String? iconSVG;
|
||||
final String? subTitle;
|
||||
final double? maxWidth;
|
||||
|
||||
const BackgroundWidgetBuilder(
|
||||
this.title,
|
||||
this.responsiveUtils, {
|
||||
Key? key,
|
||||
this.iconSVG,
|
||||
this.subTitle,
|
||||
this.maxWidth
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Center(
|
||||
key: const Key('background_widget'),
|
||||
child: SizedBox(
|
||||
width: maxWidth ?? 360,
|
||||
child: ResponsiveWidget(
|
||||
mobile: CustomScrollView(slivers: [
|
||||
SliverFillRemaining(child: _buildMessageBody(context))
|
||||
]),
|
||||
landscapeMobile: SingleChildScrollView(child: _buildMessageBody(context)),
|
||||
responsiveUtils: responsiveUtils,
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildMessageBody(BuildContext context) {
|
||||
return Container(
|
||||
color: Colors.transparent,
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12),
|
||||
height: MediaQuery.of(context).size.height,
|
||||
child: Column(
|
||||
mainAxisAlignment: responsiveUtils.isLandscapeMobile(context)
|
||||
? MainAxisAlignment.start
|
||||
: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
if (iconSVG != null)
|
||||
SvgPicture.asset(
|
||||
iconSVG!,
|
||||
width: 212,
|
||||
height: 212,
|
||||
fit: BoxFit.fill
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(top: iconSVG != null ? 12 : 0),
|
||||
child: Text(
|
||||
title,
|
||||
style: const TextStyle(
|
||||
color: Colors.black,
|
||||
fontSize: 20,
|
||||
fontWeight: FontWeight.normal
|
||||
),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
),
|
||||
if (subTitle != null)
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(top: 12),
|
||||
child: Text(
|
||||
subTitle!,
|
||||
style: const TextStyle(
|
||||
color: AppColor.colorSubtitle,
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.normal
|
||||
),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -74,19 +74,57 @@ class TMailButtonWidget extends StatelessWidget {
|
||||
String? tooltipMessage,
|
||||
Color? backgroundColor,
|
||||
EdgeInsetsGeometry? padding,
|
||||
String text = '',
|
||||
bool verticalDirection = false,
|
||||
double? iconSize,
|
||||
Color? iconColor,
|
||||
TextStyle? textStyle,
|
||||
double iconSpace = 8,
|
||||
String? trailingIcon,
|
||||
double? trailingIconSize,
|
||||
Color? trailingIconColor,
|
||||
List<BoxShadow>? boxShadow,
|
||||
EdgeInsetsGeometry? margin,
|
||||
}) {
|
||||
return TMailButtonWidget(
|
||||
key: key,
|
||||
text: '',
|
||||
onTapActionCallback: onTapActionCallback,
|
||||
onTapActionAtPositionCallback: onTapActionAtPositionCallback,
|
||||
borderRadius: borderRadius,
|
||||
width: width,
|
||||
maxWidth : maxWidth,
|
||||
maxHeight: maxHeight,
|
||||
minWidth: minWidth,
|
||||
tooltipMessage: tooltipMessage,
|
||||
backgroundColor: backgroundColor,
|
||||
padding: padding,
|
||||
icon: icon,
|
||||
iconSize: iconSize,
|
||||
iconColor: iconColor,
|
||||
iconSpace: iconSpace,
|
||||
trailingIcon: trailingIcon,
|
||||
trailingIconSize: trailingIconSize,
|
||||
trailingIconColor: trailingIconColor,
|
||||
boxShadow: boxShadow,
|
||||
margin: margin,
|
||||
);
|
||||
}
|
||||
|
||||
factory TMailButtonWidget.fromText({
|
||||
required String text,
|
||||
final Key? key,
|
||||
OnTapActionCallback? onTapActionCallback,
|
||||
OnTapActionAtPositionCallback? onTapActionAtPositionCallback,
|
||||
double borderRadius = 20,
|
||||
double? width,
|
||||
double maxWidth = double.infinity,
|
||||
double maxHeight = double.infinity,
|
||||
double minWidth = 0,
|
||||
String? tooltipMessage,
|
||||
Color? backgroundColor,
|
||||
EdgeInsetsGeometry? padding,
|
||||
TextStyle? textStyle,
|
||||
List<BoxShadow>? boxShadow,
|
||||
EdgeInsetsGeometry? margin,
|
||||
TextAlign? textAlign,
|
||||
bool flexibleText = false,
|
||||
}) {
|
||||
return TMailButtonWidget(
|
||||
key: key,
|
||||
@@ -101,19 +139,10 @@ class TMailButtonWidget extends StatelessWidget {
|
||||
tooltipMessage: tooltipMessage,
|
||||
backgroundColor: backgroundColor,
|
||||
padding: padding,
|
||||
verticalDirection: verticalDirection,
|
||||
icon: icon,
|
||||
iconSize: iconSize,
|
||||
iconColor: iconColor,
|
||||
textStyle: textStyle,
|
||||
iconSpace: iconSpace,
|
||||
trailingIcon: trailingIcon,
|
||||
trailingIconSize: trailingIconSize,
|
||||
trailingIconColor: trailingIconColor,
|
||||
boxShadow: boxShadow,
|
||||
margin: margin,
|
||||
textAlign: textAlign,
|
||||
flexibleText: flexibleText,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,6 @@ class TMailContainerWidget extends StatelessWidget {
|
||||
? Tooltip(
|
||||
message: tooltipMessage,
|
||||
child: Container(
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: backgroundColor ?? AppColor.colorButtonHeaderThread,
|
||||
borderRadius: BorderRadius.all(Radius.circular(borderRadius)),
|
||||
@@ -78,7 +77,6 @@ class TMailContainerWidget extends StatelessWidget {
|
||||
)
|
||||
)
|
||||
: Container(
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: backgroundColor ?? AppColor.colorButtonHeaderThread,
|
||||
borderRadius: BorderRadius.all(Radius.circular(borderRadius)),
|
||||
|
||||
Reference in New Issue
Block a user