import 'package:eatvio_app/core/app_export.dart'; import 'package:eatvio_app/widgets/base_button.dart'; import 'package:flutter/material.dart'; class NextStepButton extends BaseButton { NextStepButton({ Key? key, this.decoration, this.leftIcon, this.rightIcon, this.label, VoidCallback? onPressed, ButtonStyle? buttonStyle, TextStyle? buttonTextStyle, bool? isDisabled, Alignment? alignment, double? height, double? width, EdgeInsets? margin, required String text, }) : super( text: text, onPressed: onPressed, buttonStyle: buttonStyle, isDisabled: isDisabled, buttonTextStyle: buttonTextStyle, height: height, alignment: alignment, width: width, margin: margin, ); final BoxDecoration? decoration; final Widget? leftIcon; final Widget? rightIcon; final Widget? label; @override Widget build(BuildContext context) { return (alignment != null) ? Align( alignment: alignment!, child: Container( height: this.height ?? 30.v, width: this.width ?? double.maxFinite, margin: margin, decoration: decoration, child: OutlinedButton( style: buttonStyle, onPressed: isDisabled ?? false ? null : onPressed ?? () {}, child: Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ leftIcon ?? const SizedBox.shrink(), Text( text, style: buttonTextStyle ?? theme.textTheme.titleSmall, ), rightIcon ?? const SizedBox.shrink(), ], ), ), ), ) : Container( height: this.height ?? 30.v, width: this.width ?? double.maxFinite, margin: margin, decoration: decoration, child: OutlinedButton( style: buttonStyle, onPressed: isDisabled ?? false ? null : onPressed ?? () {}, child: Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ leftIcon ?? const SizedBox.shrink(), Text( text, style: buttonTextStyle ?? theme.textTheme.titleSmall, ), rightIcon ?? const SizedBox.shrink(), ], ), ), ); } }