bottomSheetPicker method

dynamic bottomSheetPicker(
  1. BuildContext context,
  2. String? title,
  3. String? subtitle,
  4. Widget content, {
  5. String? dismissText,
  6. String? buttonText,
  7. Function? onButtonPressed,
  8. Function? onDismissPressed,
})

Implementation

bottomSheetPicker(
    BuildContext context, String? title, String? subtitle, Widget content,
    {String? dismissText,
    String? buttonText,
    Function? onButtonPressed,
    Function? onDismissPressed}) {
  Utils.showBottomSheet(context,
      skipPadding: false,
      content: Column(
        mainAxisSize: MainAxisSize.min,
        mainAxisAlignment: MainAxisAlignment.start,
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          DUI.spacing.spacer(small: true),
          title != null
              ? DUI.text.small(context, title, bold: true)
              : SizedBox.shrink(),
          subtitle != null
              ? DUI.spacing.spacer(small: true)
              : SizedBox.shrink(),
          subtitle != null
              ? DUI.text.title3(context, subtitle)
              : SizedBox.shrink(),
          DUI.spacing.spacer(multiplier: 1),
          content,
          Row(
            children: [
              dismissText == null
                  ? const SizedBox.shrink()
                  : Expanded(
                      flex: 1,
                      child: SizedBox(
                        width: double.infinity,
                        child:
                            DUI.button.noBgButton(context, dismissText, () {
                          if (onDismissPressed != null) {
                            onDismissPressed();
                          }
                          Navigator.pop(context);
                        }),
                      ),
                    ),
              DUI.spacing.hSpacer(),
              buttonText == null
                  ? const SizedBox.shrink()
                  : Expanded(
                      flex: 2,
                      child: SizedBox(
                        width: double.infinity,
                        child: DUI.button.button(context, buttonText, () {
                          if (onButtonPressed != null) {
                            onButtonPressed();
                          }
                          Navigator.pop(context);
                        }),
                      ),
                    )
            ],
          )
        ],
      ));
}