buildAnimatedPage method

  1. @override
Page buildAnimatedPage(
  1. BuildContext context
)
override

Implementation

@override
Page<dynamic> buildAnimatedPage(BuildContext context) {
  return AlertDialogPage<dynamic>(
    key: key,
    name: screenName,
    title: title,
    description: description,
    barrierDismissible: barrierDismissible,
    actionsBuilder: (dialogContext) {
      final platform = Theme.of(dialogContext).platform;
      final isCupertino = platform == TargetPlatform.iOS;

      return buttons
          .map((button) {
            void handlePressed() {
              if (button.dismissAlert) {
                Navigator.of(dialogContext, rootNavigator: true).pop();
              }
              button.onPressed?.call();
            }

            if (isCupertino) {
              return CupertinoDialogAction(
                onPressed: handlePressed,
                isDefaultAction: button.isDefault,
                isDestructiveAction: button.isDestructive,
                child: Text(button.title),
              );
            }

            return TextButton(
              onPressed: handlePressed,
              child: Text(button.title),
            );
          })
          .toList(growable: false);
    },
  );
}