import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/screens/home/home_page_card.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/material.dart'; class HomePatientCard extends StatelessWidget { final Color backgroundColor; final IconData cardIcon; final String cardIconImage; final Color backgroundIconColor; final String text; final Color textColor; final Function onTap; final double iconSize; HomePatientCard({ @required this.backgroundColor, @required this.backgroundIconColor, this.cardIcon, this.cardIconImage, @required this.text, @required this.textColor, @required this.onTap, this.iconSize = 30, }); @override Widget build(BuildContext context) { return HomePageCard( color: backgroundColor, margin: EdgeInsets.all(4), child: Container( padding: EdgeInsets.all(8), child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: Stack( children: [ Container( margin: EdgeInsets.only(top: 18, left: 10), color: Colors.transparent, child: cardIcon != null ? Icon( cardIcon, size: iconSize * 2, color: backgroundIconColor, ) : IconButton( icon: Image.asset( 'assets/images/patient_register.png', width: iconSize * 2, height: iconSize * 2, fit: BoxFit.fill, ), iconSize: iconSize * 2, color: backgroundIconColor, onPressed: () => null, ), ), Container( child: Column( mainAxisAlignment: MainAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.start, children: [ cardIcon != null ? Icon( cardIcon, size: iconSize, color: textColor, ) : Image.asset( cardIconImage, height: iconSize, width: iconSize, ), SizedBox( height: 4, ), ], ), ), ], ), ), Expanded( child: Container( child: AppText( text, color: textColor, textAlign: TextAlign.start, fontSize: SizeConfig.textMultiplier * 1.6, ), ), ), ], ), ), hasBorder: false, onTap: onTap, ); } }