Files
workavia-mail-front/lib/features/mailto/presentation/mailto_url_controller.dart
T

41 lines
1.3 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/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: Uri.base.toString(),
);
popAndPush(
RouteUtils.generateNavigationRoute(AppRoutes.dashboard),
arguments: mailtoArgument
);
} else {
popAndPush(AppRoutes.unknownRoutePage);
}
}
}