Files
workavia-mail-front/lib/features/mailto/presentation/mailto_url_controller.dart
T
dab246 fb47832225 TF-2311 Sync use variables in BaseController to avoid wasting memory
Signed-off-by: dab246 <tdvu@linagora.com>

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 21ac80615f7bc9e832fd72cb8ae6875c967d3cea)
2023-11-21 16:54:33 +07:00

45 lines
1.5 KiB
Dart

import 'package:core/utils/app_logger.dart';
import 'package:get/get.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:tmail_ui_user/features/base/reloadable/reloadable_controller.dart';
import 'package:tmail_ui_user/features/mailto/presentation/model/mailto_arguments.dart';
import 'package:tmail_ui_user/main/routes/app_routes.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';
class MailtoUrlController extends ReloadableController {
@override
void onReady() {
super.onReady();
final parameters = Get.parameters;
log('MailtoUrlController::onReady():parameters: $parameters');
if (parameters.containsKey('uri')) {
reload();
} else {
popAndPush(AppRoutes.unknownRoutePage);
}
}
@override
void handleReloaded(Session session) {
final parameters = Get.parameters;
log('MailtoUrlController::handleReloaded():parameters: $parameters');
if (parameters.containsKey('uri')) {
final mailtoArgument = MailtoArguments(
session: session,
mailtoUri: parameters['uri']
);
popAndPush(
RouteUtils.generateNavigationRoute(
AppRoutes.dashboard,
NavigationRouter.initial()
),
arguments: mailtoArgument
);
} else {
popAndPush(AppRoutes.unknownRoutePage);
}
}
}