|
- import 'package:farm_tpf/utils/const_color.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_svg/flutter_svg.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: titleStyle ?? TextStyle(fontSize: 16, fontWeight: FontWeight.w100),
- ),
- subTitle == null
- ? SizedBox()
- : Text(
- subTitle ?? '',
- style: TextStyle(fontSize: 14),
- )
- ],
- ),
- ),
- trailingIcon == null ? SizedBox() : SvgPicture.asset(trailingIcon ?? '')
- ],
- ),
- ),
- ),
- );
- }
- }
|