createRoute method

  1. @override
Route<T> createRoute(
  1. BuildContext context
)
override

Creates the Route that corresponds to this page.

The created Route must have its Route.settings property set to this Page.

Implementation

@override
Route<T> createRoute(BuildContext context) {
  final breakpoint = context.breakpoint;

  if (breakpoint == Breakpoints.mobile) {
    return MaterialPageRoute<T>(
      settings: this,
      builder: (context) => child,
    );
  } else {
    return DialogRoute<T>(
      context: context,
      settings: this,
      builder: (context) {
        return LayoutBuilder(
          builder: (context, constraints) => Dialog(
            constraints: (constraints / 2).enforce(
              const BoxConstraints(
                minHeight: 500,
                minWidth: 450,
              ),
            ),
            clipBehavior: Clip.antiAlias,
            child: child,
          ),
        );
      },
    );
  }
}