defaultConfirmButton property

Widget defaultConfirmButton

Returns the default confirm button widget

Implementation

Widget get defaultConfirmButton {
  final VoidCallback? onPressed =
      selection!.isValid ? () => closeModal(confirmed: true) : null;

  if (modalConfig.confirmLabel != null) {
    if (modalConfig.confirmIcon != null) {
      return Center(
        child: Padding(
          padding: modalConfig.confirmMargin ??
              const EdgeInsets.fromLTRB(0, 0, 10, 0),
          child: TextButton.icon(
            icon: modalConfig.confirmIcon!,
            label: modalConfig.confirmLabel!,
            style: ButtonStyle(
              backgroundColor: MaterialStateProperty.all<Color?>(
                modalConfig.confirmIsDark ? modalConfig.confirmColor : null,
              ),
              textStyle: MaterialStateProperty.all<TextStyle>(
                TextStyle(
                    color: modalConfig.confirmIsLight
                        ? modalConfig.confirmColor
                        : Colors.white),
              ),
            ),
            onPressed: onPressed,
          ),
        ),
      );
    } else {
      return Center(
        child: Padding(
          padding: modalConfig.confirmMargin ??
              const EdgeInsets.fromLTRB(0, 0, 10, 0),
          child: TextButton(
            style: ButtonStyle(
              backgroundColor: MaterialStateProperty.all<Color?>(
                  modalConfig.confirmIsDark
                      ? modalConfig.confirmColor ?? Colors.blueGrey
                      : null),
              textStyle: MaterialStateProperty.all<TextStyle>(
                TextStyle(
                    color: modalConfig.confirmIsLight
                        ? modalConfig.confirmColor
                        : Colors.white),
              ),
            ),
            onPressed: onPressed,
            child: modalConfig.confirmLabel!,
          ),
        ),
      );
    }
  } else {
    return Padding(
      padding: modalConfig.confirmMargin ?? const EdgeInsets.all(0),
      child: IconButton(
        icon:
            modalConfig.confirmIcon ?? const Icon(Icons.check_circle_outline),
        color: modalConfig.confirmColor,
        onPressed: onPressed,
      ),
    );
  }
}