import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';

class IconsDialog extends StatelessWidget {
  final String title;
  final Widget widgetList;
  final Function()? cancelTab;
  final Function()? confirmTab;

  const IconsDialog({
    super.key,
    required this.widgetList,
    required this.title,
    required this.cancelTab,
    required this.confirmTab,
  });

  @override
  Widget build(BuildContext context) {
    return AlertDialog(
      contentPadding: EdgeInsets.zero,
      content: Column(
        mainAxisSize: MainAxisSize.min,
        children: <Widget>[
          const SizedBox(
            height: 10,
          ),
          BodyLarge(
            text: title,
            fontWeight: FontWeight.w700,
            fontColor: ColorsManager.primaryColor,
            fontSize: 16,
          ),
          const Padding(
            padding: EdgeInsets.only(left: 15, right: 15),
            child: Divider(
              color: ColorsManager.textGray,
            ),
          ),
          widgetList,
          Row(
            children: [
              Expanded(
                child: Container(
                  decoration: const BoxDecoration(
                      border: Border(
                    right: BorderSide(
                      color: ColorsManager.textGray,
                      width: 0.5,
                    ),
                    top: BorderSide(
                      color: ColorsManager.textGray,
                      width: 1.0,
                    ),
                  )),
                  child: SizedBox(
                    child: InkWell(
                      onTap: cancelTab,
                      child: const Padding(
                        padding: EdgeInsets.all(15),
                        child: Center(
                          child: Text(
                            'Cancel',
                            style: TextStyle(
                                color: ColorsManager.textGray,
                                fontSize: 14,
                                fontWeight: FontWeight.w400),
                          ),
                        ),
                      ),
                    ),
                  ),
                ),
              ),
              Expanded(
                  child: Container(
                decoration: const BoxDecoration(
                    border: Border(
                  left: BorderSide(
                    color: ColorsManager.textGray,
                    width: 0.5,
                  ),
                  top: BorderSide(
                    color: ColorsManager.textGray,
                    width: 1.0,
                  ),
                )),
                child: InkWell(
                    onTap: confirmTab!,
                    child: const Padding(
                      padding: EdgeInsets.all(15),
                      child: Center(
                        child: Text(
                          'Confirm',
                          style: TextStyle(
                              color: ColorsManager.primaryColor,
                              fontSize: 14,
                              fontWeight: FontWeight.w400),
                        ),
                      ),
                    )),
              ))
            ],
          )
        ],
      ),
    );
  }
}
