showOptimusDialog<T> function

Future<T?> showOptimusDialog<T>({
  1. required BuildContext context,
  2. required Widget title,
  3. Widget? content,
  4. ContentWrapperBuilder? contentWrapperBuilder,
  5. List<OptimusDialogAction> actions = const [],
  6. OptimusDialogSize size = OptimusDialogSize.regular,
  7. OptimusDialogType type = OptimusDialogType.common,
  8. bool isDismissible = true,
  9. bool useRootNavigator = true,
})

isDismissible – If a dialog contains a close icon, it can also be closed by clicking on background layer. Otherwise, only by buttons.

Implementation

Future<T?> showOptimusDialog<T>({
  required BuildContext context,
  required Widget title,
  Widget? content,
  ContentWrapperBuilder? contentWrapperBuilder,
  List<OptimusDialogAction> actions = const [],
  OptimusDialogSize size = OptimusDialogSize.regular,
  OptimusDialogType type = OptimusDialogType.common,
  bool isDismissible = true,
  bool useRootNavigator = true,
}) =>
    showGeneralDialog<T>(
      context: context,
      pageBuilder: (buildContext, animation, secondaryAnimation) =>
          OptimusDialog.modal(
        title: title,
        content: content,
        contentWrapperBuilder: contentWrapperBuilder,
        actions: actions,
        size: size,
        type: type,
      ),
      barrierDismissible: isDismissible,
      barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,
      barrierColor: OptimusTheme.of(context)
          .colors
          .neutral1000t64, // TODO(witwash): migrate to tokens
      transitionDuration: const Duration(milliseconds: 150),
      transitionBuilder: (_, animation, __, child) => FadeTransition(
        opacity: CurvedAnimation(parent: animation, curve: Curves.easeOut),
        child: child,
      ),
      useRootNavigator: useRootNavigator,
    );