openBottomSheet method

void openBottomSheet({
  1. required BuildContext context,
})

Opens the bottom sheet using showCupertinoModalBottomSheet.

The modal includes a Cupertino-style navigation bar with a visual drag handle.

Implementation

void openBottomSheet({required BuildContext context}) {
  showCupertinoModalBottomSheet(
    context: context,
    enableDrag: ArCaptchaController.enableModalDrag ?? true,
    useRootNavigator: true,
    isDismissible: ArCaptchaController.isModalDismissible,
    barrierColor: Colors.black.withValues(alpha: 0.52),
    builder: (context) => Material(
      child: CupertinoPageScaffold(
        navigationBar: CupertinoNavigationBar(
          automaticallyImplyLeading: false,
          border: null,
          backgroundColor: Theme.of(context).colorScheme.surface,
          middle: Container(
            width: MediaQuery.of(context).size.width / 8,
            decoration: BoxDecoration(
              borderRadius: BorderRadius.circular(4),
              border: Border.all(
                color: Theme.of(
                  context,
                ).colorScheme.outline.withValues(alpha: 0.4),
              ),
            ),
            child: Divider(
              color: Theme.of(
                context,
              ).colorScheme.outline.withValues(alpha: 0.4),
              thickness: 4,
              height: 4,
            ),
          ),
        ),
        child: SafeArea(bottom: false, child: bottomSheetModal),
      ),
    ),
  ).then((value) {
    if (actionOnCloseModal != null) actionOnCloseModal!(value);
  });
}