TF-3416 Handle download attachment in EML previewer on web

This commit is contained in:
dab246
2025-01-14 12:58:06 +07:00
committed by Dat H. Pham
parent 91f3275a54
commit b7b6b0f7fa
11 changed files with 271 additions and 40 deletions
@@ -0,0 +1,32 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/material.dart';
import 'package:percent_indicator/linear_percent_indicator.dart';
import 'package:tmail_ui_user/features/email/domain/state/download_attachment_for_web_state.dart';
class DownloadAttachmentLoadingBar extends StatelessWidget {
final dynamic viewState;
const DownloadAttachmentLoadingBar({super.key, this.viewState});
@override
Widget build(BuildContext context) {
if (viewState is StartDownloadAttachmentForWeb) {
return const LinearProgressIndicator(
color: AppColor.primaryColor,
minHeight: 5,
backgroundColor: AppColor.colorProgressLoadingBackground);
} if (viewState is DownloadingAttachmentForWeb) {
return LinearPercentIndicator(
padding: EdgeInsets.zero,
lineHeight: 5,
percent: viewState.progress / 100,
barRadius: const Radius.circular(1),
backgroundColor: AppColor.colorProgressLoadingBackground,
progressColor: AppColor.primaryColor);
} else {
return const SizedBox.shrink();
}
}
}