TF-3769 Enable toggle thread detail feature in setting
TF-3769 Thread Detail fallback to single email when get thread fails TF-3769 Thread Detail fix font height thread TF-3769 Thread Detail init with get status TF-3769 Thread Detail fix font height email receiver and sender TF-3769 Thread Detail refactor reset thread detail ui action UpdatedThreadDetailSettingAction TF-3769 Thread Detail refresh settings on app lifecycle changed TF-3769 Thread Detail fix font height email receiver and sender TF-3769 Thread Detail fix scroll view exception of single email TF-3769 Thread Detail refactor local setting TF-3769 Thread Detail optimize get cache setting TF-3769 Thread Detail fix font height email receiver TF-3769 Thread Detail refactor local setting cache TF-3769 Thread Detail fix font height email receiver and sender TF-3769 Thread Detail use CacheExceptionThrower for ManageAccountDataSourceImpl TF-3769 Thread Detail fix changing email in tablet view TF-3769 Thread Detail refresh on setting changed TF-3769 Thread Detail fix receiver alignments TF-3769 Thread Detail fix receiver alignments TF-3769 Thread Detail default setting enabled TF-3769 Thread Detail fix font style email receiver and sender TF-3769 Thread Detail fix toggle setting when responsive TF-3769 Thread Detail adjust receive time position when single email TF-3769 Thread Detail revert initializeThreadDetailEmails to void TF-3769 Thread Detail fix CI on initializeThreadDetailEmails test TF-3769 Thread Detail fix spacing email sender TF-3769 Thread Detail update receiver color mobile TF-3769 Thread Detail update collapsed preview letter spacing TF-3769 Thread Detail update receiver color mobile TF-3769 Thread Detail fix receive time position TF-3769 Thread Detail add mark read button mobile collapsed email TF-3769 Thread Detail fix font style email receiver and sender TF-3769 Thread Detail update collapsed preview font weight TF-3769 Thread Detail fix position email receiver and sender
This commit is contained in:
@@ -19,4 +19,6 @@ abstract class ThreadDetailRepository {
|
||||
List<EmailId> emailIds, {
|
||||
Properties? properties,
|
||||
});
|
||||
|
||||
Future<bool> getThreadDetailStatus();
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
|
||||
class GettingThreadDetailStatus extends LoadingState {}
|
||||
|
||||
class GetThreadDetailStatusSuccess extends UIState {
|
||||
GetThreadDetailStatusSuccess(this.threadDetailEnabled);
|
||||
|
||||
final bool threadDetailEnabled;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [threadDetailEnabled];
|
||||
}
|
||||
|
||||
class GetThreadDetailStatusFailure extends FeatureFailure {
|
||||
GetThreadDetailStatusFailure({super.exception});
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/domain/repository/thread_detail_repository.dart';
|
||||
import 'package:tmail_ui_user/features/thread_detail/domain/state/get_thread_detail_status_state.dart';
|
||||
|
||||
class GetThreadDetailStatusInteractor {
|
||||
const GetThreadDetailStatusInteractor(this._threadDetailRepository);
|
||||
|
||||
final ThreadDetailRepository _threadDetailRepository;
|
||||
|
||||
Stream<Either<Failure, Success>> execute() async* {
|
||||
try {
|
||||
yield Right(GettingThreadDetailStatus());
|
||||
final result = await _threadDetailRepository.getThreadDetailStatus();
|
||||
yield Right(GetThreadDetailStatusSuccess(result));
|
||||
} catch (e) {
|
||||
logError('GetThreadDetailStatusInteractor::execute(): Exception: $e');
|
||||
yield Left(GetThreadDetailStatusFailure(exception: e));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user