import 'package:cs_resources/generated/assets.dart';
import 'package:cs_resources/generated/l10n.dart';
import 'package:cs_resources/theme/app_colors_theme.dart';
import 'package:flutter/material.dart';
import 'package:widgets/ext/ex_widget.dart';
import 'package:widgets/my_load_image.dart';
import 'package:widgets/my_text_view.dart';
import 'package:widgets/widget_export.dart';

class AccountDeactivationDialog extends StatelessWidget {
  VoidCallback confirmAction;

  AccountDeactivationDialog({
    required this.confirmAction,
  });

  @override
  Widget build(BuildContext context) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.center,
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        Container(
          width: double.infinity,
          height: 55,
          decoration: BoxDecoration(
            color: context.appColors.btnBgDefault,
            borderRadius: const BorderRadius.only(
              topRight: Radius.circular(15),
              topLeft: Radius.circular(15),
            ),
          ),
          child: Row(
            children: [
              const SizedBox(width: 45),
              MyTextView(
                S.current.account_deactivation,
                fontSize: 18,
                textAlign: TextAlign.center,
                isFontMedium: true,
                textColor: Colors.white,
              ).expanded(),
              const MyAssetImage(
                Assets.baseServiceDialogDeleteIcon,
                width: 25,
                height: 25.5,
              ).onTap(() {
                onCancel();
              }, padding: 10)
            ],
          ),
        ),
        Container(
          width: double.infinity,
          padding: const EdgeInsets.only(top: 22),
          decoration: BoxDecoration(
            color: context.appColors.whiteSecondBG,
            borderRadius: const BorderRadius.only(
              bottomLeft: Radius.circular(15),
              bottomRight: Radius.circular(15),
            ),
          ),
          child: Column(
            children: [
              const MyAssetImage(Assets.mainAccountDeactivationImg, width: 296.5, height: 158.5),

              MyTextView(
                S.current.account_deactivate_alert,
                textAlign: TextAlign.center,
                textColor: context.appColors.textBlack,
                marginTop: 24,
                paddingLeft: 30,
                paddingRight: 30,
                fontSize: 15,
                isFontMedium: true,
              ),

              Row(
                children: [
                  const SizedBox(width: 18),
                  Expanded(
                      flex: 1,
                      child: InkWell(
                        onTap: () {
                          onCancel();
                        },
                        child: MyTextView(
                          S.current.no,
                          fontSize: 16,
                          isFontMedium: true,
                          paddingTop: 13,
                          marginRight: 15,
                          paddingBottom: 13,
                          textAlign: TextAlign.center,
                          textColor: Colors.white,
                          backgroundColor: context.appColors.orangeBG,
                          cornerRadius: 7,
                        ),
                      )),
                  Expanded(
                      flex: 1,
                      child: InkWell(
                        onTap: () async {
                          onCancel();
                          confirmAction();
                        },
                        child: MyTextView(
                          S.current.yes,
                          fontSize: 16,
                          paddingTop: 13,
                          paddingBottom: 13,
                          isFontMedium: true,
                          textAlign: TextAlign.center,
                          textColor: Colors.white,
                          backgroundColor: context.appColors.btnBgDefault,
                          cornerRadius: 7,
                        ),
                      )),
                  const SizedBox(width: 18),
                ],
              ).marginOnly(bottom: 30, top: 28),
            ],
          ),
        ),
      ],
    ).constrained(width: 340);
  }

//取消弹框
  void onCancel() async {
    SmartDialog.dismiss();
  }
}
