TF-1074 Handle go to path /mailbox_creator

This commit is contained in:
dab246
2022-10-25 00:25:08 +07:00
committed by Dat H. Pham
parent daddeb78dc
commit 50bba630d5
9 changed files with 142 additions and 42 deletions
@@ -4,6 +4,10 @@ import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_bindings.dart';
import 'package:tmail_ui_user/features/destination_picker/presentation/destination_picker_view.dart';
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/mailbox_creator_bindings.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/mailbox_creator_view.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/mailbox_creator_arguments.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/new_mailbox_arguments.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
mixin ViewAsDialogActionMixin {
@@ -19,7 +23,7 @@ mixin ViewAsDialogActionMixin {
context: context,
barrierDismissible: true,
barrierLabel: '',
barrierColor: Colors.black54,
barrierColor: Colors.black.withAlpha(24),
pageBuilder: (context, animation, secondaryAnimation) {
return DestinationPickerView.fromArguments(
arguments,
@@ -37,4 +41,34 @@ mixin ViewAsDialogActionMixin {
});
});
}
void showDialogMailboxCreator({
required BuildContext context,
required MailboxCreatorArguments arguments,
required Function(NewMailboxArguments) onCreatedMailbox
}) {
MailboxCreatorBindings().dependencies();
showGeneralDialog(
context: context,
barrierDismissible: true,
barrierLabel: '',
barrierColor: Colors.black.withAlpha(24),
pageBuilder: (context, animation, secondaryAnimation) {
return MailboxCreatorView.fromArguments(
arguments,
onDismissCallback: () {
MailboxCreatorBindings().dispose();
popBack();
},
onCreatedMailboxCallback: (arguments) {
MailboxCreatorBindings().dispose();
popBack();
if (arguments is NewMailboxArguments) {
onCreatedMailbox.call(arguments);
}
});
});
}
}