showNpBottomSheet function

void showNpBottomSheet(
  1. BuildContext context, {
  2. required Widget child,
  3. Color color = Colors.white,
  4. bool barrierDismissible = true,
  5. Color? barrierColor,
  6. Color backgroundColor = Colors.transparent,
  7. String title = "",
})

Implementation

void showNpBottomSheet(BuildContext context,
    {required Widget child,
    Color color = Colors.white,
    bool barrierDismissible = true,
    Color? barrierColor,
    Color backgroundColor = Colors.transparent,
    String title = ""}) {
  showModalBottomSheet(
      context: context,
      barrierColor: barrierColor ?? Colors.black.withOpacity(0.7),
      backgroundColor: backgroundColor,
      isDismissible: barrierDismissible,
      isScrollControlled: true,
      builder: (context) => Material(
            color: Colors.transparent,
            child: Column(
              mainAxisSize: MainAxisSize.min,
              children: [
                Container(
                  height: 4,
                  width: 32,
                  decoration: BoxDecoration(
                    color: btnDisabledColor,
                    borderRadius: BorderRadius.circular(16),
                  ),
                ),
                SizedBox(height: 7),
                Container(
                  width: double.infinity,
                  decoration: BoxDecoration(
                      color: color,
                      borderRadius: BorderRadius.only(
                          topLeft: const Radius.circular(16.0),
                          topRight: const Radius.circular(16.0))),
                  child: SafeArea(
                      child: Column(
                        children: [
                          ClipRRect(
                            borderRadius: BorderRadius.only(
                                topRight: Radius.circular(16), topLeft: Radius.circular(16)),
                            child: Container(
                              height: 48,
                              width: double.infinity,
                              decoration: BoxDecoration(
                                border: Border(
                                    bottom: BorderSide(width: 1, color: Color(0xffE4E8F0))),
                                color: Colors.white,
                              ),
                              child: Center(
                                child: Text(title).semiBold14(),
                              ),
                            ),
                          ),
                          ConstrainedBox(
                              constraints: BoxConstraints(
                                  maxHeight:
                                  MediaQuery.of(context).size.height * 0.8),
                              child: SingleChildScrollView(
                                child: child,
                                physics: BouncingScrollPhysics(),
                              ))
                        ],
                      )),
                ),
              ],
            ),
          ));
}