pickImage method

Future<void> pickImage()

Implementation

Future<void> pickImage() async {
  final ImagePicker picker = ImagePicker();
  final XFile? image = await picker.pickImage(source: ImageSource.gallery);

  if (image != null) {
    setState(() {
      if (kIsWeb) {
        // For web, store bytes instead of File
        image.readAsBytes().then((bytes) {
          setState(() {
            selectedImageBytes = bytes;
            selectedImage = null; // Clear file reference on web
          });
        });
      } else {
        // For mobile platforms
        selectedImage = File(image.path);
        selectedImageBytes = null;
      }

      if (widget.onImageSelected != null) {
        widget.onImageSelected!(selectedImage);
      }
      if (widget.onModified != null) {
        widget.onModified!();
      }
    });
  }
}