TF-1877 Fix error TextEditingController was used after being disposed on some screen

(cherry picked from commit 50e4c6ec55eea21a45a5a8dd31cd239245248df3)
This commit is contained in:
dab246
2023-06-30 15:45:59 +07:00
committed by Dat Vu
parent 32adfb3581
commit 6c06d0742c
30 changed files with 377 additions and 942 deletions
@@ -72,6 +72,7 @@ import 'package:tmail_ui_user/features/thread/domain/state/mark_as_multiple_emai
import 'package:tmail_ui_user/features/thread/domain/state/move_multiple_email_to_mailbox_state.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart';
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
import 'package:tmail_ui_user/main/routes/navigation_router.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
import 'package:tmail_ui_user/main/routes/route_utils.dart';
@@ -477,29 +478,16 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
teamMailboxesTree.value,
mailboxDashBoardController.sessionCurrent!);
if (PlatformInfo.isWeb) {
showDialogMailboxCreator(
context: context,
arguments: arguments,
onCreatedMailbox: (newMailboxArguments) {
final generateCreateId = Id(_uuid.v1());
_createNewMailboxAction(session, accountId, CreateNewMailboxRequest(
generateCreateId,
newMailboxArguments.newName,
parentId: newMailboxArguments.mailboxLocation?.id));
});
} else {
final newMailboxArguments = await push(
AppRoutes.mailboxCreator,
arguments: arguments);
final result = PlatformInfo.isWeb
? await DialogRouter.pushGeneralDialog(routeName: AppRoutes.mailboxCreator, arguments: arguments)
: await push(AppRoutes.mailboxCreator, arguments: arguments);
if (newMailboxArguments != null && newMailboxArguments is NewMailboxArguments) {
final generateCreateId = Id(_uuid.v1());
_createNewMailboxAction(session, accountId, CreateNewMailboxRequest(
generateCreateId,
newMailboxArguments.newName,
parentId: newMailboxArguments.mailboxLocation?.id));
}
if (result != null && result is NewMailboxArguments) {
final generateCreateId = Id(_uuid.v1());
_createNewMailboxAction(session, accountId, CreateNewMailboxRequest(
generateCreateId,
result.newName,
parentId: result.mailboxLocation?.id));
}
}
}