import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

import 'app_texts_widget.dart';
 
class AppButton extends StatefulWidget {

  
  final GestureTapCallback onPressed;
  final String title;
  final IconData icon;
  final Color color;
  final double fontSize;
  final double padding;

  AppButton({@required this.onPressed, this.title, this.icon, this.color, this.fontSize = 2.5, this.padding = 15});

  _AppButtonState createState() => _AppButtonState();

}

 class _AppButtonState extends State<AppButton>{
  @override
  Widget build(BuildContext context) {
    return 
       RawMaterialButton(
        fillColor: widget.color,
        splashColor: widget.color,
        child: Padding(
          padding: EdgeInsets.only(
              top: 15,
              bottom: 15,
              //right: SizeConfig.widthMultiplier * widget.padding,
              //left: SizeConfig.widthMultiplier * widget.padding
            ),
          child: Row(
            mainAxisSize: MainAxisSize.max,
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
               if (widget.icon != null) Icon(
                widget.icon,
                color: Colors.white,
              ),
              if (widget.icon != null) SizedBox(
                width: 5.0,
              ),
              AppText(
                widget.title,
                color: Colors.white,
                fontSize: SizeConfig.textMultiplier * widget.fontSize ,
                fontWeight: FontWeight.bold,
              ),
            ],
          ),
        ),
        onPressed: widget.onPressed,
        shape: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(10))),
    );
  }
}