From 1f2af6b0b24bc6c94feae570ffeb6962a6634783 Mon Sep 17 00:00:00 2001 From: commitimpush Date: Wed, 31 Aug 2022 13:49:25 +0200 Subject: [PATCH] added optional parameters --- lib/image_picker.dart | 12 ++++++++++-- lib/src/models/image_picker_settings.dart | 10 ++++++++++ lib/src/screens/image_picker_ui.dart | 21 ++++++++++++++------- 3 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 lib/src/models/image_picker_settings.dart 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)), ]); }, );