Files
firka/firka/lib/core/profile_picture.dart
2026-02-28 07:47:33 +01:00

26 lines
800 B
Dart

import 'dart:io';
import 'package:firka/app/app_state.dart';
import 'package:image/image.dart';
import 'package:image_picker/image_picker.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart';
Future<void> pickProfilePicture(
AppInitialization data,
ImagePicker picker,
) async {
var imageFile = await picker.pickImage(source: ImageSource.gallery);
if (imageFile == null) return;
var image = await decodeImageFile(imageFile.path);
var resized = copyResize(image!, width: 128, maintainAspect: true);
var dataDir = await getApplicationDocumentsDirectory();
var bytes = encodePng(resized);
await File(p.join(dataDir.path, "profile.webp")).writeAsBytes(bytes);
data.profilePicture = bytes;
data.profilePictureUpdateNotifier.update();
}