buildButtonContent method

Widget buildButtonContent(
  1. BuildContext context
)

Implementation

Widget buildButtonContent(BuildContext context) {
  final bool _disabled = disabled || busy;

  if (busy) {
    return Row(
      mainAxisSize: fullWidth ? MainAxisSize.max : MainAxisSize.min,
      mainAxisAlignment: MainAxisAlignment.center,
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        SizedBox(
          height: 20.0,
          width: 20.0,
          child: CircularProgressIndicator(
            color: defineLoaderColor(context),
            strokeWidth: 3.0,
          ),
        ),
        const SizedBox(width: SeniorSpacing.small),
        Flexible(
          child: SeniorText.cta(
            busyMessage ?? label,
            style: TextStyle(
              height: 0,
              color: _disabled
                  ? defineDisabledContentColor(context)
                  : defineContentColor(context),
            ),
            textProperties: const TextProperties(
              overflow: TextOverflow.ellipsis,
            ),
          ),
        ),
      ],
    );
  }

  return Row(
    mainAxisSize: fullWidth ? MainAxisSize.max : MainAxisSize.min,
    mainAxisAlignment: MainAxisAlignment.center,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: [
      icon != null
          ? Padding(
              padding: const EdgeInsets.only(right: SeniorSpacing.small),
              child: Icon(
                icon,
                size: 14.0,
                color: _disabled
                    ? defineDisabledContentColor(context)
                    : defineContentColor(context),
              ),
            )
          : const SizedBox.shrink(),
      Flexible(
        child: SeniorText.cta(
          label,
          style: TextStyle(
            height: 0,
            color: _disabled
                ? defineDisabledContentColor(context)
                : defineContentColor(context),
          ),
          textProperties: const TextProperties(
            overflow: TextOverflow.ellipsis,
          ),
        ),
      ),
    ],
  );
}