getPresentationWidgetsCommonImagePickerTemplate function

String getPresentationWidgetsCommonImagePickerTemplate(
  1. String projectName
)

Implementation

String getPresentationWidgetsCommonImagePickerTemplate(String projectName) {
  return '''
import 'dart:io';
import 'package:image_picker/image_picker.dart';

class CommonImagePicker {
  static final ImagePicker _picker = ImagePicker();

  /// Pick image from gallery
  static Future<File?> pickFromGallery({
    int imageQuality = 80,
    double? maxWidth,
    double? maxHeight,
  }) async {
    final XFile? image = await _pickImage(
      source: ImageSource.gallery,
      imageQuality: imageQuality,
      maxWidth: maxWidth,
      maxHeight: maxHeight,
    );

    return image != null ? File(image.path) : null;
  }

  /// Pick image from camera
  static Future<File?> pickFromCamera({
    int imageQuality = 80,
    double? maxWidth,
    double? maxHeight,
  }) async {
    final XFile? image = await _pickImage(
      source: ImageSource.camera,
      imageQuality: imageQuality,
      maxWidth: maxWidth,
      maxHeight: maxHeight,
    );

    return image != null ? File(image.path) : null;
  }

  /// Pick multiple images from gallery
  static Future<List<File>> pickMultipleImages({int imageQuality = 80}) async {
    try {
      final List<XFile> images = await _picker.pickMultiImage(
        imageQuality: imageQuality,
      );

      return images.map((e) => File(e.path)).toList();
    } catch (_) {
      return [];
    }
  }

  /// Internal image picker method
  static Future<XFile?> _pickImage({
    required ImageSource source,
    int imageQuality = 80,
    double? maxWidth,
    double? maxHeight,
  }) async {
    try {
      final XFile? image = await _picker.pickImage(
        source: source,
        imageQuality: imageQuality,
        maxWidth: maxWidth,
        maxHeight: maxHeight,
      );

      return image;
    } catch (_) {
      return null;
    }
  }
}
''';
}