Skip to content
Snippets Groups Projects
Commit 0d0f63cf authored by Tuan Anh Nguyen's avatar Tuan Anh Nguyen
Browse files

feat: add image cropping

parent 9270989d
No related branches found
No related tags found
1 merge request!35Create front
......@@ -12,10 +12,22 @@ class SelectImage extends StatelessWidget {
final createPostcardNotifier = context.watch<CreatePostcardNotifier>();
return PageTemplate(
title: 'Select a Picture',
title: 'Create a Postcard',
actions: [
// TODO: next action
IconButton(onPressed: () {}, icon: Icon(Icons.navigate_next)),
IconButton(
onPressed: () {
Navigator.of(context).push(
MaterialPageRoute(
// TODO: use create postcard back page
builder: (context) => PageTemplate(
title: 'Create a Postcard',
child: Placeholder(),
),
),
);
},
icon: Icon(Icons.navigate_next),
),
],
child: Align(
alignment: Alignment.bottomCenter,
......@@ -24,30 +36,37 @@ class SelectImage extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center,
children: [
Spacer(),
createPostcardNotifier.selectedPicture == null
createPostcardNotifier.selectedImage == null
? Text('No Image Selected')
: Image.file(
createPostcardNotifier.selectedPicture!,
createPostcardNotifier.selectedImage!,
width: double.infinity,
),
Spacer(),
ElevatedButton.icon(
onPressed: () => createPostcardNotifier.pickImage(
ImageSource.gallery,
),
icon: Icon(Icons.photo_library),
label: Text('Pick Image from Gallery'),
_buildPickImageButton(
createPostcardNotifier,
source: ImageSource.gallery,
),
ElevatedButton.icon(
onPressed: () => createPostcardNotifier.pickImage(
ImageSource.camera,
),
icon: Icon(Icons.camera),
label: Text('Take a Picture'),
_buildPickImageButton(
createPostcardNotifier,
source: ImageSource.camera,
),
],
),
),
);
}
ElevatedButton _buildPickImageButton(
CreatePostcardNotifier createPostcardNotifier, {
required ImageSource source,
}) {
return ElevatedButton.icon(
onPressed: () => createPostcardNotifier.pickImage(source),
icon: Icon(Icons.photo_library),
label: Text(source == ImageSource.gallery
? 'Pick Image from Gallery'
: 'Take Image from Camera'),
);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment