diff --git a/lib/features/base/widget/circle_loading_widget.dart b/lib/features/base/widget/circle_loading_widget.dart index 7d9c72428..1f4e8f947 100644 --- a/lib/features/base/widget/circle_loading_widget.dart +++ b/lib/features/base/widget/circle_loading_widget.dart @@ -5,12 +5,12 @@ class CircleLoadingWidget extends StatelessWidget { final double? size; final double? strokeWidth; - final EdgeInsetsGeometry? padding; + final EdgeInsetsGeometry? margin; const CircleLoadingWidget({ super.key, this.size, - this.padding, + this.margin, this.strokeWidth, }); @@ -20,7 +20,7 @@ class CircleLoadingWidget extends StatelessWidget { final loadingStrokeWidth = strokeWidth ?? CircleLoadingWidgetStyles.width; return Container( - padding: padding, + margin: margin, width: loadingSize, height: loadingSize, child: CircularProgressIndicator( diff --git a/lib/features/composer/presentation/composer_view.dart b/lib/features/composer/presentation/composer_view.dart index a086dc6f2..763ee282a 100644 --- a/lib/features/composer/presentation/composer_view.dart +++ b/lib/features/composer/presentation/composer_view.dart @@ -256,7 +256,7 @@ class ComposerView extends GetWidget { child: InsertImageLoadingBarWidget( uploadInlineViewState: controller.uploadController.uploadInlineViewState.value, viewState: controller.viewState.value, - padding: ComposerStyle.insertImageLoadingBarPadding, + margin: ComposerStyle.insertImageLoadingBarMargin, ), )), Obx(() => Padding( @@ -435,7 +435,7 @@ class ComposerView extends GetWidget { child: InsertImageLoadingBarWidget( uploadInlineViewState: controller.uploadController.uploadInlineViewState.value, viewState: controller.viewState.value, - padding: ComposerStyle.insertImageLoadingBarPadding, + margin: ComposerStyle.insertImageLoadingBarMargin, ), )), Obx(() => Padding( diff --git a/lib/features/composer/presentation/composer_view_web.dart b/lib/features/composer/presentation/composer_view_web.dart index 3f3d06052..ef3e060e2 100644 --- a/lib/features/composer/presentation/composer_view_web.dart +++ b/lib/features/composer/presentation/composer_view_web.dart @@ -285,7 +285,7 @@ class ComposerView extends GetWidget { child: Obx(() => InsertImageLoadingBarWidget( uploadInlineViewState: controller.uploadController.uploadInlineViewState.value, viewState: controller.viewState.value, - padding: ComposerStyle.insertImageLoadingBarPadding, + margin: ComposerStyle.insertImageLoadingBarMargin, )), ), Obx(() { @@ -600,7 +600,7 @@ class ComposerView extends GetWidget { child: Obx(() => InsertImageLoadingBarWidget( uploadInlineViewState: controller.uploadController.uploadInlineViewState.value, viewState: controller.viewState.value, - padding: ComposerStyle.insertImageLoadingBarPadding, + margin: ComposerStyle.insertImageLoadingBarMargin, )), ), Obx(() { @@ -917,7 +917,7 @@ class ComposerView extends GetWidget { child: Obx(() => InsertImageLoadingBarWidget( uploadInlineViewState: controller.uploadController.uploadInlineViewState.value, viewState: controller.viewState.value, - padding: ComposerStyle.insertImageLoadingBarPadding, + margin: ComposerStyle.insertImageLoadingBarMargin, )), ), Obx(() { diff --git a/lib/features/composer/presentation/styles/composer_style.dart b/lib/features/composer/presentation/styles/composer_style.dart index 820434571..715e02a83 100644 --- a/lib/features/composer/presentation/styles/composer_style.dart +++ b/lib/features/composer/presentation/styles/composer_style.dart @@ -41,7 +41,7 @@ class ComposerStyle { static const EdgeInsetsGeometry mobileSubjectPadding = EdgeInsetsDirectional.only(end: 16); static const EdgeInsetsGeometry mobileEditorPadding = EdgeInsetsDirectional.symmetric(horizontal: 12); static const EdgeInsetsGeometry popupItemPadding = EdgeInsetsDirectional.symmetric(horizontal: 12); - static const EdgeInsetsGeometry insertImageLoadingBarPadding = EdgeInsetsDirectional.only(top: 12); + static const EdgeInsetsGeometry insertImageLoadingBarMargin = EdgeInsetsDirectional.only(top: 12); static const TextStyle popupItemTextStyle = TextStyle( color: Colors.black, diff --git a/lib/features/composer/presentation/widgets/insert_image_loading_bar_widget.dart b/lib/features/composer/presentation/widgets/insert_image_loading_bar_widget.dart index aa2f2eba3..b594f818b 100644 --- a/lib/features/composer/presentation/widgets/insert_image_loading_bar_widget.dart +++ b/lib/features/composer/presentation/widgets/insert_image_loading_bar_widget.dart @@ -1,8 +1,8 @@ +import 'package:core/presentation/extensions/color_extension.dart'; import 'package:core/presentation/state/failure.dart'; import 'package:core/presentation/state/success.dart'; import 'package:dartz/dartz.dart'; import 'package:flutter/material.dart'; -import 'package:tmail_ui_user/features/base/widget/circle_loading_widget.dart'; import 'package:tmail_ui_user/features/composer/domain/state/download_image_as_base64_state.dart'; import 'package:tmail_ui_user/features/upload/domain/state/attachment_upload_state.dart'; @@ -10,27 +10,36 @@ class InsertImageLoadingBarWidget extends StatelessWidget { final Either viewState; final Either uploadInlineViewState; - final EdgeInsetsGeometry? padding; + final EdgeInsetsGeometry? margin; const InsertImageLoadingBarWidget({ super.key, required this.viewState, required this.uploadInlineViewState, - this.padding, + this.margin, }); @override Widget build(BuildContext context) { - return uploadInlineViewState.fold( + final child = uploadInlineViewState.fold( (failure) => _viewStateToUI(viewState), (success) { if (success is UploadingAttachmentUploadState) { - return CircleLoadingWidget(padding: padding); + return const LinearProgressIndicator( + color: AppColor.primaryColor, + backgroundColor: AppColor.colorBgMailboxSelected, + ); } else { return _viewStateToUI(viewState); } } ); + + return Container( + height: 2, + padding: const EdgeInsets.symmetric(horizontal: 16), + child: child, + ); } Widget _viewStateToUI(Either viewState) { @@ -38,7 +47,10 @@ class InsertImageLoadingBarWidget extends StatelessWidget { (failure) => const SizedBox.shrink(), (success) { if (success is DownloadingImageAsBase64) { - return CircleLoadingWidget(padding: padding); + return const LinearProgressIndicator( + color: AppColor.primaryColor, + backgroundColor: AppColor.colorBgMailboxSelected, + ); } else { return const SizedBox.shrink(); } diff --git a/lib/features/manage_account/presentation/profiles/identities/widgets/identity_loading_widget.dart b/lib/features/manage_account/presentation/profiles/identities/widgets/identity_loading_widget.dart index 151ff6058..062add041 100644 --- a/lib/features/manage_account/presentation/profiles/identities/widgets/identity_loading_widget.dart +++ b/lib/features/manage_account/presentation/profiles/identities/widgets/identity_loading_widget.dart @@ -24,7 +24,7 @@ class IdentityLoadingWidget extends StatelessWidget { (failure) => const SizedBox.shrink(), (success) { if (success is GetAllIdentitiesLoading || success is GetSessionLoading) { - return const CircleLoadingWidget(padding: EdgeInsets.all(16.0)); + return const CircleLoadingWidget(margin: EdgeInsets.all(16.0)); } else { return const SizedBox.shrink(); } @@ -34,7 +34,7 @@ class IdentityLoadingWidget extends StatelessWidget { (failure) => const SizedBox.shrink(), (success) { if (success is GetAllIdentitiesLoading || success is GetSessionLoading) { - return const CircleLoadingWidget(padding: EdgeInsets.all(16.0)); + return const CircleLoadingWidget(margin: EdgeInsets.all(16.0)); } else { return const SizedBox.shrink(); }