import 'package:flutter/material.dart'; import 'package:muaawana/config/style.dart'; import 'package:muaawana/config/style.dart'; import 'package:muaawana/config/style.dart'; import '../config/lang_enum.dart'; import '../config/provider.dart'; import '../providers/language_provider.dart'; import '../utils/text_style.dart'; import '../utils/text_widget.dart'; class CustomButtonWidget extends StatelessWidget { const CustomButtonWidget({ Key? key, required this.height, required this.width, required this.borderRadius, required this.fontSize, required this.fillColor, required this.borderColor, required this.textColor, required this.text, this.loader, this.needBlueShadow, this.needGrayShadow, required this.fontFamily, required this.fontWeight, this.isIcon = false, this.icon = const SizedBox(), }) : super(key: key); final double height; final double width; final double borderRadius; final double fontSize; final Color fillColor; final Color borderColor; final Color textColor; final String text; final bool? loader; final bool? needBlueShadow; final bool? needGrayShadow; final String fontFamily; final FontWeight fontWeight; final bool isIcon; final Widget icon; @override Widget build(BuildContext context) { final langProvider = Provider.of(context); final isArabic = langProvider.currentLangCode == Language.ar; return Container( height: height, width: width, decoration: needBlueShadow != null ? ShapeDecoration( color: Colors.white, shape: RoundedRectangleBorder( side: BorderSide( width: 0.50, color: AppNewStyle.primaryButton, ), borderRadius: BorderRadius.circular(8), ), shadows: [ BoxShadow( color: AppNewStyle.primaryButton, blurRadius: 4, offset: Offset(0, 4), spreadRadius: 0, ) ], ) : needGrayShadow != null ? ShapeDecoration( color: Colors.white, shape: RoundedRectangleBorder( side: BorderSide( width: 0.50, color: AppNewStyle.primaryButton, ), borderRadius: BorderRadius.circular(8), ), shadows: [ BoxShadow( color: Color(0xFF828282), blurRadius: 4, offset: Offset(0, 4), spreadRadius: 0, ) ], ): BoxDecoration( color: fillColor, borderRadius: BorderRadius.all(Radius.circular(borderRadius)), border: Border.all( color: borderColor, ), ), child: Align( alignment: Alignment.center, child: Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ isIcon ? icon : Container(), loader != null? loader == true ? Center(child: CircularProgressIndicator(color:textColor,)) : Txt( text: text, style: tS(fontFamily, fontSize, fontWeight, textColor), ):Txt( text: text, style:TextStyle( color:textColor, fontSize:fontSize?? 14, fontFamily: isArabic ? "Readex_Pro" : 'Inter', fontWeight: FontWeight.w600, ), //tS(fontFamily, fontSize, fontWeight, textColor), ), ], )), ); } }