import 'package:hmg_patient_app_new/extensions/int_extensions.dart';
import 'package:flutter/material.dart';

void showMyBottomSheet(BuildContext context, {required Widget child, required VoidCallback callBackFunc, String? type}) {
  showModalBottomSheet<String>(
    context: context,
    isScrollControlled: true,
    backgroundColor: Colors.transparent,
    builder: (BuildContext context) {
      return Container(
      constraints:  BoxConstraints(
      maxHeight: type =='CONTINUE_ACTION' ? MediaQuery.of(context).size.height *.75 :  double.infinity,),
        decoration: const BoxDecoration(
          color: Colors.white,
          borderRadius: BorderRadius.only(
            topRight: Radius.circular(25),
            topLeft: Radius.circular(25),
          ),
        ),
        padding: MediaQuery.of(context).viewInsets,
        clipBehavior: Clip.antiAlias,
        child:SingleChildScrollView(child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            13.height,
            Container(
              height: 6,
              width: 60,
              decoration: const BoxDecoration(
                color: Color(0xff9A9A9A),
                borderRadius: BorderRadius.all(
                  Radius.circular(20),
                ),
              ),
            ),
            8.height,
            child,
          ],
        )),
      );
    },
  ).then((value) {
    // print("BACK FROM DELEGATE!!!!");
    // print("value: $value");
    if (value == "delegate_reload") {
      callBackFunc();
    }
  });
}

class BottomSheetItem extends StatelessWidget {
  final Function onTap;
  final IconData icon;
  final String title;
  final Color color;

  const BottomSheetItem({Key? key, required this.onTap, required this.title, required this.icon, this.color = Colors.black}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return InkWell(
      onTap: () {
        if (onTap != null) {
          Navigator.pop(context);
          onTap();
        }
      },
      child: Padding(
        padding: EdgeInsets.symmetric(horizontal: 18.0, vertical: 18.0),
        child: Row(
          children: <Widget>[
            if (icon != null)
              Icon(
                icon,
                color: color,
                size: 18.0,
              ),
            if (icon != null) SizedBox(width: 24.0),
            Text(
              title ?? "",
              style: TextStyle(color: color),
            ),
          ],
        ),
      ),
    );
  }
}
