TF-1714 Add ThreadViewLoadingBar widget
(cherry picked from commit 5f18ad49d9d9ca8e077716df7f0aa9567275dcd7)
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
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/cupertino_loading_widget.dart';
|
||||||
|
import 'package:tmail_ui_user/features/thread/domain/state/load_more_emails_state.dart';
|
||||||
|
import 'package:tmail_ui_user/features/thread/domain/state/search_more_email_state.dart';
|
||||||
|
|
||||||
|
class ThreadViewBottomLoadingBarWidget extends StatelessWidget {
|
||||||
|
|
||||||
|
final Either<Failure, Success> viewState;
|
||||||
|
|
||||||
|
const ThreadViewBottomLoadingBarWidget({
|
||||||
|
super.key,
|
||||||
|
required this.viewState,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return viewState.fold(
|
||||||
|
(failure) => const SizedBox.shrink(),
|
||||||
|
(success) {
|
||||||
|
if (success is SearchingMoreState || success is LoadingMoreEmails) {
|
||||||
|
return const Padding(
|
||||||
|
padding: EdgeInsetsDirectional.only(bottom: 16),
|
||||||
|
child: CupertinoLoadingWidget());
|
||||||
|
} else {
|
||||||
|
return const SizedBox.shrink();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
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/cupertino_loading_widget.dart';
|
||||||
|
import 'package:tmail_ui_user/features/thread/domain/state/get_all_email_state.dart';
|
||||||
|
import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart';
|
||||||
|
|
||||||
|
class ThreadViewLoadingBarWidget extends StatelessWidget {
|
||||||
|
|
||||||
|
final Either<Failure, Success> viewState;
|
||||||
|
|
||||||
|
const ThreadViewLoadingBarWidget({
|
||||||
|
super.key,
|
||||||
|
required this.viewState,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return viewState.fold(
|
||||||
|
(failure) => const SizedBox.shrink(),
|
||||||
|
(success) {
|
||||||
|
if (success is SearchingState || success is GetAllEmailLoading) {
|
||||||
|
return const Padding(
|
||||||
|
padding: EdgeInsetsDirectional.only(top: 16),
|
||||||
|
child: CupertinoLoadingWidget());
|
||||||
|
} else {
|
||||||
|
return const SizedBox.shrink();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user