getButtonContainer function

Widget getButtonContainer({
  1. required Widget child,
  2. EdgeInsetsGeometry? insetsGeometry,
  3. double? marginRight,
  4. Color? color,
  5. bool loading = false,
})

Implementation

Widget getButtonContainer({
  required Widget child,
  EdgeInsetsGeometry? insetsGeometry,
  double? marginRight,
  Color? color,
  bool loading = false,
}) {
  double buttonHeight = MahasDimensions.getInputHeight();
  double appBarPadding = MahasDimensions.getAppBarPadding();
  insetsGeometry = insetsGeometry ??
      EdgeInsets.only(
          left: appBarPadding / 2,
          top: appBarPadding,
          bottom: appBarPadding,
          right: marginRight ?? 0);
  color = color ?? MahasColors.backgroundColor;
  return Container(
    margin: insetsGeometry,
    width: double.infinity,
    height: buttonHeight,
    decoration: ShapeDecoration(
      color: color,
      shape: SmoothRectangleBorder(
        borderRadius: SmoothBorderRadius(
            cornerRadius: MahasDimensions.getInputRadius(),
            cornerSmoothing: 0.5),
      ),
    ),
    child: loading
        ? Center(
            child: SizedBox(
              height: buttonHeight * 0.5,
              width: buttonHeight * 0.5,
              child: CircularProgressIndicator(
                valueColor:
                    AlwaysStoppedAnimation<Color>(MahasColors.primaryColor),
              ),
            ),
          )
        : child,
  );
}