TF-2237 Add loading circular for send button

(cherry picked from commit d9db8f467942f16b70140113e222985b61db047a)
This commit is contained in:
hieubt
2023-10-25 00:12:40 +07:00
committed by Dat H. Pham
parent d26f86c844
commit f7baf72a7c
3 changed files with 24 additions and 8 deletions
@@ -37,6 +37,7 @@ class TMailButtonWidget extends StatelessWidget {
final TextDirection iconAlignment;
final int? maxLines;
final MainAxisSize mainAxisSize;
final bool? isLoading;
const TMailButtonWidget({
super.key,
@@ -68,6 +69,7 @@ class TMailButtonWidget extends StatelessWidget {
this.iconAlignment = TextDirection.ltr,
this.maxLines,
this.mainAxisSize = MainAxisSize.max,
this.isLoading = false,
});
factory TMailButtonWidget.fromIcon({
@@ -287,13 +289,23 @@ class TMailButtonWidget extends StatelessWidget {
softWrap: maxLines == 1 ? CommonTextStyle.defaultSoftWrap : null,
),
SizedBox(width: iconSpace),
SvgPicture.asset(
icon!,
width: iconSize,
height: iconSize,
fit: BoxFit.fill,
colorFilter: iconColor?.asFilter()
),
if (!isLoading!)
SvgPicture.asset(
icon!,
width: iconSize,
height: iconSize,
fit: BoxFit.fill,
colorFilter: iconColor?.asFilter()
)
else
SizedBox(
width: iconSize,
height: iconSize,
child: const CircularProgressIndicator(
color: Colors.white,
strokeWidth: 2,
)
),
]
);
}