present method

  1. @override
Future<void> present({
  1. required BuildContext context,
  2. required NudgeSurface surface,
  3. required Widget content,
})
override

Implementation

@override
Future<void> present({
  required BuildContext context,
  required NudgeSurface surface,
  required Widget content,
}) {
  return showModalBottomSheet<void>(
    context: context,
    useRootNavigator: true,
    isScrollControlled: true,
    isDismissible: surface.backdropDismissible,
    // The framework route has a velocity-only dismissal path. Digia Engage
    // owns drag dismissal so a short flick always returns to open.
    enableDrag: false,
    backgroundColor: Colors.transparent,
    useSafeArea: true,
    // null lets the framework apply its own default scrim.
    barrierColor: surface.barrierColor,
    builder: (sheetContext) => BottomSheetDragDismiss(
      enabled: surface.draggable,
      onDismiss: () => Navigator.of(sheetContext).maybePop(),
      child: _SheetFrame(
        surface: surface,
        child: content,
      ),
    ),
  );
}