import 'dart:io';

import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:image_picker/image_picker.dart';
import 'package:sk_base_mobile/util/media_util.dart';
import 'package:sk_base_mobile/app_theme.dart';

class PhotoPickerUtil {
  showPicker({Function? callback, String title = '请选择上传方式'}) async {
    return showCupertinoModalPopup(
        context: Get.context!,
        builder: (BuildContext ctx) {
          return CupertinoActionSheet(
            title: Text(title),
            cancelButton: CupertinoActionSheetAction(
                onPressed: () {
                  Get.back();
                },
                child: const Text(
                  '取消',
                  style: TextStyle(color: Color(0xffcdcdcd)),
                )),
            actions: ['拍照', '相册']
                .map((item) => CupertinoActionSheetAction(
                    onPressed: () async {
                      Get.back();
                      XFile? pickedFile = item == '拍照'
                          ? await MediaUtil().getImageFromCamera()
                          : await MediaUtil().getImageFromGallery();
                      if (pickedFile != null) {
                        if (callback != null) {
                          callback(pickedFile);
                        }
                      }
                    },
                    child: Text(
                      item,
                      style: const TextStyle(color: AppTheme.primaryColor),
                    )))
                .toList(),
          );
        });
  }
}
