Added validation for the new image snreen

This commit is contained in:
Mariano Uvalle 2019-04-04 22:35:56 -06:00
parent 9ccb560099
commit 3bea1e015c
3 changed files with 19 additions and 13 deletions

View file

@ -9,8 +9,6 @@ import '../resources/authService.dart';
import '../resources/firebase_storage_provider.dart';
import '../resources/firestore_provider.dart';
// TODO: Add validation
class NewImageBloc {
final AuthService _auth = authService;
final FirestoreProvider _firestore = firestoreProvider;
@ -27,6 +25,8 @@ class NewImageBloc {
Observable<File> get picture => _picture.stream;
Observable<UserModel> get userModelStream => _user.stream;
Observable<String> get eventName => _eventName.stream;
Observable<bool> get submitEnabled =>
Observable.combineLatest2(_picture, _eventName, (a, b) => true);
//Sink getters.
Function(File) get changePicture => _picture.sink.add;

View file

@ -65,16 +65,22 @@ class _NewImageScreenState extends State<NewImageScreen> {
SizedBox(
height: 10,
),
GradientTouchableContainer(
height: 40,
isExpanded: true,
radius: 8,
onTap: () => onSubmit(),
child: Text(
'Submit',
style: kSmallTextStyle,
),
),
StreamBuilder(
stream: bloc.submitEnabled,
builder:
(BuildContext context, AsyncSnapshot<bool> submitSnap) {
return GradientTouchableContainer(
height: 40,
isExpanded: true,
radius: 8,
enabled: submitSnap.hasData,
onTap: () => onSubmit(),
child: Text(
'Submit',
style: kSmallTextStyle,
),
);
}),
],
),
),

View file

@ -54,7 +54,7 @@ class _NewTaskScreenState extends State<NewTaskScreen> {
SizedBox(
height: 20,
),
StreamBuilder<Object>(
StreamBuilder(
stream: bloc.submitEnabled,
builder: (context, submitSnap) {
return GradientTouchableContainer(