Skip to content

Commit a5679b3

Browse files
tddang-linagorahoangdat
authored andcommitted
TF-3502 Fix composer image loading icon
1 parent 0bd1ab7 commit a5679b3

File tree

6 files changed

+29
-17
lines changed

6 files changed

+29
-17
lines changed

lib/features/base/widget/circle_loading_widget.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ class CircleLoadingWidget extends StatelessWidget {
55

66
final double? size;
77
final double? strokeWidth;
8-
final EdgeInsetsGeometry? padding;
8+
final EdgeInsetsGeometry? margin;
99

1010
const CircleLoadingWidget({
1111
super.key,
1212
this.size,
13-
this.padding,
13+
this.margin,
1414
this.strokeWidth,
1515
});
1616

@@ -20,7 +20,7 @@ class CircleLoadingWidget extends StatelessWidget {
2020
final loadingStrokeWidth = strokeWidth ?? CircleLoadingWidgetStyles.width;
2121

2222
return Container(
23-
padding: padding,
23+
margin: margin,
2424
width: loadingSize,
2525
height: loadingSize,
2626
child: CircularProgressIndicator(

lib/features/composer/presentation/composer_view.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ class ComposerView extends GetWidget<ComposerController> {
256256
child: InsertImageLoadingBarWidget(
257257
uploadInlineViewState: controller.uploadController.uploadInlineViewState.value,
258258
viewState: controller.viewState.value,
259-
padding: ComposerStyle.insertImageLoadingBarPadding,
259+
margin: ComposerStyle.insertImageLoadingBarMargin,
260260
),
261261
)),
262262
Obx(() => Padding(
@@ -435,7 +435,7 @@ class ComposerView extends GetWidget<ComposerController> {
435435
child: InsertImageLoadingBarWidget(
436436
uploadInlineViewState: controller.uploadController.uploadInlineViewState.value,
437437
viewState: controller.viewState.value,
438-
padding: ComposerStyle.insertImageLoadingBarPadding,
438+
margin: ComposerStyle.insertImageLoadingBarMargin,
439439
),
440440
)),
441441
Obx(() => Padding(

lib/features/composer/presentation/composer_view_web.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ class ComposerView extends GetWidget<ComposerController> {
285285
child: Obx(() => InsertImageLoadingBarWidget(
286286
uploadInlineViewState: controller.uploadController.uploadInlineViewState.value,
287287
viewState: controller.viewState.value,
288-
padding: ComposerStyle.insertImageLoadingBarPadding,
288+
margin: ComposerStyle.insertImageLoadingBarMargin,
289289
)),
290290
),
291291
Obx(() {
@@ -600,7 +600,7 @@ class ComposerView extends GetWidget<ComposerController> {
600600
child: Obx(() => InsertImageLoadingBarWidget(
601601
uploadInlineViewState: controller.uploadController.uploadInlineViewState.value,
602602
viewState: controller.viewState.value,
603-
padding: ComposerStyle.insertImageLoadingBarPadding,
603+
margin: ComposerStyle.insertImageLoadingBarMargin,
604604
)),
605605
),
606606
Obx(() {
@@ -917,7 +917,7 @@ class ComposerView extends GetWidget<ComposerController> {
917917
child: Obx(() => InsertImageLoadingBarWidget(
918918
uploadInlineViewState: controller.uploadController.uploadInlineViewState.value,
919919
viewState: controller.viewState.value,
920-
padding: ComposerStyle.insertImageLoadingBarPadding,
920+
margin: ComposerStyle.insertImageLoadingBarMargin,
921921
)),
922922
),
923923
Obx(() {

lib/features/composer/presentation/styles/composer_style.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class ComposerStyle {
4141
static const EdgeInsetsGeometry mobileSubjectPadding = EdgeInsetsDirectional.only(end: 16);
4242
static const EdgeInsetsGeometry mobileEditorPadding = EdgeInsetsDirectional.symmetric(horizontal: 12);
4343
static const EdgeInsetsGeometry popupItemPadding = EdgeInsetsDirectional.symmetric(horizontal: 12);
44-
static const EdgeInsetsGeometry insertImageLoadingBarPadding = EdgeInsetsDirectional.only(top: 12);
44+
static const EdgeInsetsGeometry insertImageLoadingBarMargin = EdgeInsetsDirectional.only(top: 12);
4545

4646
static const TextStyle popupItemTextStyle = TextStyle(
4747
color: Colors.black,

lib/features/composer/presentation/widgets/insert_image_loading_bar_widget.dart

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,56 @@
1+
import 'package:core/presentation/extensions/color_extension.dart';
12
import 'package:core/presentation/state/failure.dart';
23
import 'package:core/presentation/state/success.dart';
34
import 'package:dartz/dartz.dart';
45
import 'package:flutter/material.dart';
5-
import 'package:tmail_ui_user/features/base/widget/circle_loading_widget.dart';
66
import 'package:tmail_ui_user/features/composer/domain/state/download_image_as_base64_state.dart';
77
import 'package:tmail_ui_user/features/upload/domain/state/attachment_upload_state.dart';
88

99
class InsertImageLoadingBarWidget extends StatelessWidget {
1010

1111
final Either<Failure, Success> viewState;
1212
final Either<Failure, Success> uploadInlineViewState;
13-
final EdgeInsetsGeometry? padding;
13+
final EdgeInsetsGeometry? margin;
1414

1515
const InsertImageLoadingBarWidget({
1616
super.key,
1717
required this.viewState,
1818
required this.uploadInlineViewState,
19-
this.padding,
19+
this.margin,
2020
});
2121

2222
@override
2323
Widget build(BuildContext context) {
24-
return uploadInlineViewState.fold(
24+
final child = uploadInlineViewState.fold(
2525
(failure) => _viewStateToUI(viewState),
2626
(success) {
2727
if (success is UploadingAttachmentUploadState) {
28-
return CircleLoadingWidget(padding: padding);
28+
return const LinearProgressIndicator(
29+
color: AppColor.primaryColor,
30+
backgroundColor: AppColor.colorBgMailboxSelected,
31+
);
2932
} else {
3033
return _viewStateToUI(viewState);
3134
}
3235
}
3336
);
37+
38+
return Container(
39+
height: 2,
40+
padding: const EdgeInsets.symmetric(horizontal: 16),
41+
child: child,
42+
);
3443
}
3544

3645
Widget _viewStateToUI(Either<Failure, Success> viewState) {
3746
return viewState.fold(
3847
(failure) => const SizedBox.shrink(),
3948
(success) {
4049
if (success is DownloadingImageAsBase64) {
41-
return CircleLoadingWidget(padding: padding);
50+
return const LinearProgressIndicator(
51+
color: AppColor.primaryColor,
52+
backgroundColor: AppColor.colorBgMailboxSelected,
53+
);
4254
} else {
4355
return const SizedBox.shrink();
4456
}

lib/features/manage_account/presentation/profiles/identities/widgets/identity_loading_widget.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class IdentityLoadingWidget extends StatelessWidget {
2424
(failure) => const SizedBox.shrink(),
2525
(success) {
2626
if (success is GetAllIdentitiesLoading || success is GetSessionLoading) {
27-
return const CircleLoadingWidget(padding: EdgeInsets.all(16.0));
27+
return const CircleLoadingWidget(margin: EdgeInsets.all(16.0));
2828
} else {
2929
return const SizedBox.shrink();
3030
}
@@ -34,7 +34,7 @@ class IdentityLoadingWidget extends StatelessWidget {
3434
(failure) => const SizedBox.shrink(),
3535
(success) {
3636
if (success is GetAllIdentitiesLoading || success is GetSessionLoading) {
37-
return const CircleLoadingWidget(padding: EdgeInsets.all(16.0));
37+
return const CircleLoadingWidget(margin: EdgeInsets.all(16.0));
3838
} else {
3939
return const SizedBox.shrink();
4040
}

0 commit comments

Comments
 (0)