image cropper added
This commit is contained in:
parent
4fedb89cc0
commit
7d2ee16c42
|
|
@ -1,11 +1,10 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:didvan/config/theme_data.dart';
|
||||
import 'package:didvan/constants/app_icons.dart';
|
||||
import 'package:didvan/models/enums.dart';
|
||||
import 'package:didvan/models/view/alert_data.dart';
|
||||
import 'package:didvan/pages/home/settings/widgets/menu_item.dart';
|
||||
import 'package:didvan/pages/home/widgets/menu_item.dart';
|
||||
import 'package:didvan/providers/user_provider.dart';
|
||||
import 'package:didvan/routes/routes.dart';
|
||||
import 'package:didvan/services/media/media.dart';
|
||||
import 'package:didvan/utils/action_sheet.dart';
|
||||
import 'package:didvan/widgets/didvan/card.dart';
|
||||
|
|
@ -24,8 +23,6 @@ class ProfilePhoto extends StatefulWidget {
|
|||
}
|
||||
|
||||
class _ProfilePhotoState extends State<ProfilePhoto> {
|
||||
File? profileImage;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final userProvider = context.watch<UserProvider>();
|
||||
|
|
@ -50,6 +47,7 @@ class _ProfilePhotoState extends State<ProfilePhoto> {
|
|||
),
|
||||
if (userProvider.user.photo != null)
|
||||
SkeletonImage(
|
||||
key: GlobalKey(debugLabel: userProvider.user.photo),
|
||||
imageUrl: userProvider.user.photo!,
|
||||
width: 96,
|
||||
height: 96,
|
||||
|
|
@ -113,15 +111,26 @@ class _ProfilePhotoState extends State<ProfilePhoto> {
|
|||
ActionSheetUtils.pop();
|
||||
final pickedFile = await MediaService.pickImage(source: source);
|
||||
if (pickedFile != null) {
|
||||
final state = context.read<UserProvider>();
|
||||
final result = await state.setProfilePhoto(pickedFile);
|
||||
ActionSheetUtils.showAlert(
|
||||
AlertData(
|
||||
message: result
|
||||
? 'تصویر پروفایل بارگذاری شد.'
|
||||
: 'بارگذاری تصویر موفقیت آمیز نبود.',
|
||||
aLertType: result ? ALertType.success : ALertType.error,
|
||||
),
|
||||
ActionSheetUtils.showLogoLoadingIndicator();
|
||||
final bytes = await pickedFile.readAsBytes();
|
||||
ActionSheetUtils.pop();
|
||||
Navigator.of(context).pushNamed(
|
||||
Routes.imageCropper,
|
||||
arguments: {
|
||||
'bytes': bytes,
|
||||
'onCropped': () async {
|
||||
final state = context.read<UserProvider>();
|
||||
final result = await state.setProfilePhoto(pickedFile);
|
||||
ActionSheetUtils.showAlert(
|
||||
AlertData(
|
||||
message: result
|
||||
? 'تصویر پروفایل بارگذاری شد.'
|
||||
: 'بارگذاری تصویر موفقیت آمیز نبود.',
|
||||
aLertType: result ? ALertType.success : ALertType.error,
|
||||
),
|
||||
);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue