diff --git a/lib/image_picker.dart b/lib/image_picker.dart index e719d55..b891e13 100644 --- a/lib/image_picker.dart +++ b/lib/image_picker.dart @@ -2,9 +2,17 @@ import 'dart:typed_data'; import 'package:flutter/cupertino.dart'; import 'src/screens/image_picker_ui.dart'; +import 'src/models/image_picker_settings.dart'; class ImagePicker { - Future showPickImageDialog(BuildContext context) { - return ImagePickerUI().pickImageDialog(context); + Future showPickImageDialog(BuildContext context, + {String title = ImagePickerSettings.title, + String makePhotoText = ImagePickerSettings.makePhotoText, + IconData makePhotoIcon = ImagePickerSettings.makePhotoIcon, + String selectImageText = ImagePickerSettings.selectImageText, + IconData selectImageIcon = ImagePickerSettings.selectImageIcon, + String closeButtonText = ImagePickerSettings.closeButtonText}) { + return ImagePickerUI().pickImageDialog(context, title, makePhotoText, + makePhotoIcon, selectImageText, selectImageIcon, closeButtonText); } } diff --git a/lib/src/models/image_picker_settings.dart b/lib/src/models/image_picker_settings.dart new file mode 100644 index 0000000..9764afa --- /dev/null +++ b/lib/src/models/image_picker_settings.dart @@ -0,0 +1,10 @@ +import 'package:flutter/material.dart'; + +class ImagePickerSettings { + static const String title = "Upload Image"; + static const String makePhotoText = "Take a Picture"; + static const IconData makePhotoIcon = Icons.camera_alt_rounded; + static const String selectImageText = "Select File"; + static const IconData selectImageIcon = Icons.image; + static const String closeButtonText = "Close"; +} diff --git a/lib/src/screens/image_picker_ui.dart b/lib/src/screens/image_picker_ui.dart index cd5ba34..43a4ffb 100644 --- a/lib/src/screens/image_picker_ui.dart +++ b/lib/src/screens/image_picker_ui.dart @@ -8,7 +8,14 @@ class ImagePickerUI { final ImagePickerService _imagePickerService = ImagePickerService(); final double iconSize = 150; - Future pickImageDialog(BuildContext context) async { + Future pickImageDialog( + BuildContext context, + String title, + String makePhotoText, + IconData makePhotoIcon, + String selectImageText, + IconData selectImageIcon, + String closeButtonText) async { return await showModalBottomSheet( context: context, builder: (BuildContext context) { @@ -16,22 +23,22 @@ class ImagePickerUI { const SizedBox( height: 20, ), - const Text( - "Upload Image", + Text( + title, textScaleFactor: 2, ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ + generateColumn(context, selectImageIcon, ImageSource.gallery, + selectImageText), generateColumn( - context, Icons.image, ImageSource.gallery, "Select File"), - generateColumn(context, Icons.camera_alt_rounded, - ImageSource.camera, "Take a picture"), + context, makePhotoIcon, ImageSource.camera, makePhotoText), ], ), ElevatedButton( onPressed: () => Navigator.of(context).pop(), - child: const Text("Close")), + child: Text(closeButtonText)), ]); }, );