mobile_skt/lib/util/photo_picker_util.dart

46 lines
1.6 KiB
Dart
Raw Normal View History

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}) async {
return showCupertinoModalPopup(
context: Get.context!,
builder: (BuildContext ctx) {
return CupertinoActionSheet(
title: const Text('Change avatar'),
cancelButton: CupertinoActionSheetAction(
onPressed: () {
Get.back();
},
child: const Text(
'Cancel',
style: TextStyle(color: Color(0xffcdcdcd)),
)),
actions: ['Photography', 'Album']
.map((item) => CupertinoActionSheetAction(
onPressed: () async {
Get.back();
XFile? pickedFile = item == 'Photography'
? await MediaUtil().getImageFromCamera()
: await MediaUtil().getImageFromGallery();
if (pickedFile != null) {
if (callback != null) {
callback(pickedFile);
}
}
},
child: Text(
item,
style: const TextStyle(color: AppTheme.primaryColor),
)))
.toList(),
);
});
}
}