image cropper added

This commit is contained in:
MohammadTaha Basiri 2022-01-29 14:04:30 +03:30
parent 4fedb89cc0
commit 7d2ee16c42
1 changed files with 23 additions and 14 deletions

View File

@ -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,6 +111,14 @@ class _ProfilePhotoState extends State<ProfilePhoto> {
ActionSheetUtils.pop();
final pickedFile = await MediaService.pickImage(source: source);
if (pickedFile != null) {
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(
@ -124,5 +130,8 @@ class _ProfilePhotoState extends State<ProfilePhoto> {
),
);
}
},
);
}
}
}