import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:hexcolor/hexcolor.dart';

class MethodTypeCard extends StatelessWidget {
  const MethodTypeCard({
    Key? key,
    required this.assetPath,
    required this.onTap,
    required this.label,
    this.height = 20,
    this.isSvg = true,
  }) : super(key: key);
  final String assetPath;
  final GestureTapCallback onTap;
  final String label;
  final double height;
  final bool isSvg;

  @override
  Widget build(BuildContext context) {
    double cardHeight = SizeConfig.heightMultiplier! *
        (SizeConfig.isHeightVeryShort
            ? 22
            : SizeConfig.isHeightLarge
                ? 25
                : 20);
    return InkWell(
      onTap: onTap,
      child: Container(
          margin: EdgeInsets.all(10),
          decoration: BoxDecoration(
            color: Colors.white,
            borderRadius: BorderRadius.all(
              Radius.circular(10),
            ),
            border: Border.all(color: HexColor('#707070'), width: 0.1),
          ),
          height: cardHeight,
          child: Padding(
            padding: const EdgeInsets.all(12.0),
            child: Center(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  isSvg
                      ? SvgPicture.asset(assetPath,
                          width: SizeConfig.widthMultiplier! * (14),
                          height: cardHeight * 0.20)
                      : Image.asset(
                          assetPath,
                          width: SizeConfig.widthMultiplier! * (12),
                          height: cardHeight * 0.35,
                          // height: ,
                        ),
                  SizedBox(
                    height: height,
                  ),
                  AppText(
                    label,
                    fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *
                        (SizeConfig.isHeightVeryShort ? 3 : 3.7),
                    color: AppGlobal.appTextColor,
                    fontWeight: FontWeight.w600,
                    letterSpacing: -0.48,
                  )
                ],
              ),
            ),
          )),
    );
  }
}
