import 'package:farm_tpf/utils/const_color.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import '../../themes/styles_text.dart'; class ButtonIconWidget extends StatelessWidget { final String? title; final TextStyle? titleStyle; final String? subTitle; final Function onTap; final String? leadingIcon; final String? trailingIcon; final bool isTopBorder; final bool isBottomBorder; ButtonIconWidget( {required this.title, required this.onTap, this.titleStyle, this.subTitle, this.leadingIcon, this.trailingIcon, this.isBottomBorder = true, this.isTopBorder = true}); @override Widget build(BuildContext context) { return SizedBox( width: double.infinity, child: MaterialButton( padding: EdgeInsets.all(0), onPressed: () { onTap(); }, child: Container( padding: EdgeInsets.all(12), decoration: BoxDecoration( border: Border( top: isTopBorder ? BorderSide(color: AppColors.GRAY1, width: 0.35) : BorderSide.none, bottom: isBottomBorder ? BorderSide(color: AppColors.GRAY1, width: 0.35) : BorderSide.none, ), ), width: double.infinity, child: Row( mainAxisSize: MainAxisSize.max, children: [ leadingIcon == null ? SizedBox() : SizedBox( width: 20, height: 20, child: SvgPicture.asset( leadingIcon ?? '', ), ), SizedBox(width: 4), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ Text( title ?? '', style: StylesText.body3, ), subTitle == null ? SizedBox() : Text( subTitle ?? '', style: StylesText.body6, ) ], ), ), trailingIcon == null ? SizedBox() : SvgPicture.asset(trailingIcon ?? '') ], ), ), ), ); } }