buildButtonContent method
Implementation
Widget buildButtonContent({
IconData? icon,
String? text,
bool isLoading = false,
String loadingText = 'Loading...',
Widget? child,
Set<WidgetState> states = const {},
}) {
final resolvedFgColor = baseTheme.foregroundState.resolve(states);
return Row(
mainAxisSize: size.minW.isInfinite ? MainAxisSize.max : MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
if (isLoading)
SizedBox(
width: size.icon,
height: size.icon,
child: CircularProgressIndicator(strokeWidth: 2, valueColor: AlwaysStoppedAnimation(resolvedFgColor)))
else if (icon != null)
Icon(icon, size: size.icon),
if (text?.isNotEmpty ?? false) ...[
if (icon != null || isLoading) SizedBox(width: size.spacing),
Text(isLoading ? loadingText : text!),
],
if (child != null) child,
],
);
}