TF-2948 Apply new identity view for web

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-07-30 19:09:33 +07:00
committed by Dat H. Pham
parent 02a7adc64a
commit 23ecdfbf11
61 changed files with 963 additions and 804 deletions
@@ -11,7 +11,7 @@ import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_de
import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_identity_request.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/identity_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/create_new_default_identity_state.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/utils/identity_utils.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/identities/utils/identity_utils.dart';
class CreateNewDefaultIdentityInteractor {
final IdentityRepository _identityRepository;
@@ -10,7 +10,7 @@ import 'package:tmail_ui_user/features/manage_account/domain/model/edit_default_
import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/identity_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/edit_default_identity_state.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/utils/identity_utils.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/identities/utils/identity_utils.dart';
class EditDefaultIdentityInteractor {
final IdentityRepository _identityRepository;
@@ -9,7 +9,7 @@ import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/identity_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/utils/identity_utils.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/identities/utils/identity_utils.dart';
import 'package:tmail_ui_user/main/error/capability_validator.dart';
class GetAllIdentitiesInteractor {
@@ -1,24 +0,0 @@
import 'dart:core';
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:dartz/dartz.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/identity_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/edit_identity_state.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/transform_html_signature_state.dart';
class TransformHtmlSignatureInteractor {
final IdentityRepository _identityRepository;
TransformHtmlSignatureInteractor(this._identityRepository);
Stream<Either<Failure, Success>> execute(String signature) async* {
try {
yield Right<Failure, Success>(TransformHtmlSignatureLoading());
final signatureUnescape = await _identityRepository.transformHtmlSignature(signature);
yield Right<Failure, Success>(TransformHtmlSignatureSuccess(signatureUnescape));
} catch (exception) {
yield Left<Failure, Success>(EditIdentityFailure(exception));
}
}
}
@@ -0,0 +1,37 @@
import 'dart:core';
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/manage_account/domain/model/identity_signature.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/identity_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/transform_list_signature_state.dart';
class TransformListSignatureInteractor {
final IdentityRepository _identityRepository;
TransformListSignatureInteractor(this._identityRepository);
Stream<Either<Failure, Success>> execute(List<IdentitySignature> identitySignatures) async* {
try {
yield Right<Failure, Success>(TransformListSignatureLoading());
final newListIdentitySignature = await Future.wait(
identitySignatures.map(_transformHtmlSignature),
eagerError: true,
);
yield Right<Failure, Success>(TransformListSignatureSuccess(newListIdentitySignature));
} catch (exception) {
yield Left<Failure, Success>(TransformListSignatureFailure(exception, identitySignatures));
}
}
Future<IdentitySignature> _transformHtmlSignature(IdentitySignature identitySignature) async {
try {
return await _identityRepository.transformHtmlSignature(identitySignature);
} catch (e) {
logError('TransformListSignatureInteractor::_transformHtmlSignature:Exception = $e');
return identitySignature;
}
}
}