import 'package:flutter/material.dart'; import 'package:initial_folder/providers/theme_provider.dart'; import 'package:provider/provider.dart'; import '../../theme.dart'; import '../../size_config.dart'; class DefaultButtonPayment extends StatelessWidget { const DefaultButtonPayment({ Key? key, this.text = '', this.weight = semiBold, this.press, this.isCart, this.width, this.height, this.isInvoice, }) : super(key: key); final String text; final FontWeight weight; final VoidCallback? press; final bool? isCart; final bool? isInvoice; final double? width; final double? height; @override Widget build(BuildContext context) { final themeProvider = Provider.of(context); return isInvoice == null ? SizedBox( width: getProportionateScreenWidth(width ?? 0), height: getProportionateScreenWidth(height ?? 0), child: TextButton( style: TextButton.styleFrom( foregroundColor: Colors.white, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular( getProportionateScreenWidth(5), ), ), backgroundColor: themeProvider.themeData == ThemeClass.darkmode ?primaryColor : primaryColorligtmode, ), onPressed: press, child: Text( text, style: thirdTextStyle.copyWith( fontSize: getProportionateScreenWidth(12), fontWeight: weight, color: baruTextutih, letterSpacing: 0.3), ), ), ) : SizedBox( width: getProportionateScreenWidth(width ?? 0), height: getProportionateScreenWidth(height ?? 0), child: TextButton( style: TextButton.styleFrom( foregroundColor: Colors.white, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular( getProportionateScreenWidth(5), ), ), backgroundColor: primaryColor, ), onPressed: press, child: Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ Icon( Icons.file_download_outlined, color: baruTextutih, size: getProportionateScreenWidth(24), ), SizedBox(width: getProportionateScreenWidth(3)), Text( text, style: thirdTextStyle.copyWith( fontSize: getProportionateScreenWidth(12), fontWeight: weight, color: baruTextutih, letterSpacing: 0.3), ), ], ), ), ); } }