Crop image for profile picture, background

This commit is contained in:
2025-05-05 21:48:02 +08:00
parent f266968644
commit 937e249b87
13 changed files with 182 additions and 51 deletions

View File

@ -1,4 +1,5 @@
import 'package:auto_route/auto_route.dart';
import 'package:croppy/croppy.dart' show CropAspectRatio;
import 'package:dio/dio.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
@ -158,10 +159,23 @@ class EditRealmScreen extends HookConsumerWidget {
}, [realm]);
void setPicture(String position) async {
final result = await ref
var result = await ref
.read(imagePickerProvider)
.pickImage(source: ImageSource.gallery);
if (result == null) return;
if (!context.mounted) return;
result = await cropImage(
context,
image: result,
allowedAspectRatios: [
if (position == 'background')
CropAspectRatio(height: 7, width: 16)
else
CropAspectRatio(height: 1, width: 1),
],
);
if (result == null) return;
if (!context.mounted) return;
submitting.value = true;
try {