From 85aadb15b5fbc783028f58b8e215fcd91b0bef0c Mon Sep 17 00:00:00 2001 From: AYM1607 Date: Tue, 2 Apr 2019 05:05:24 -0600 Subject: [PATCH] Created new screen to add new images to an event --- lib/src/App.dart | 7 +++++++ lib/src/blocs/home_bloc.dart | 2 ++ lib/src/blocs/new_image_bloc.dart | 10 ++++++++++ lib/src/blocs/new_task_bloc.dart | 2 ++ lib/src/screens/new_image_screen.dart | 20 ++++++++++++++++++++ lib/src/widgets/new_item_dialog_route.dart | 3 ++- 6 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 lib/src/blocs/new_image_bloc.dart create mode 100644 lib/src/screens/new_image_screen.dart diff --git a/lib/src/App.dart b/lib/src/App.dart index e8c7108..edb820a 100644 --- a/lib/src/App.dart +++ b/lib/src/App.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'screens/home_screen.dart'; import 'screens/initial_loading_screen.dart'; import 'screens/login_screen.dart'; +import 'screens/new_image_screen.dart'; import 'screens/new_task_screen.dart'; class App extends StatelessWidget { @@ -43,6 +44,12 @@ class App extends StatelessWidget { return NewTaskScreen(); }, ); + } else if (routeTokens.first == 'newImage') { + return MaterialPageRoute( + builder: (BuildContext context) { + return NewImageScreen(); + }, + ); } // Default route. return MaterialPageRoute( diff --git a/lib/src/blocs/home_bloc.dart b/lib/src/blocs/home_bloc.dart index 8d0e922..c5c43b0 100644 --- a/lib/src/blocs/home_bloc.dart +++ b/lib/src/blocs/home_bloc.dart @@ -8,6 +8,8 @@ import '../resources/firestore_provider.dart'; export '../resources/authService.dart' show FirebaseUser; +// TODO: Add the text search functionality. + class HomeBloc { final AuthService _auth = authService; final FirestoreProvider _repository = firestoreProvider; diff --git a/lib/src/blocs/new_image_bloc.dart b/lib/src/blocs/new_image_bloc.dart new file mode 100644 index 0000000..ab380b7 --- /dev/null +++ b/lib/src/blocs/new_image_bloc.dart @@ -0,0 +1,10 @@ +import 'dart:async'; + +import 'package:rxdart/rxdart.dart'; + +import '../models/task_model.dart'; +import '../models/user_model.dart'; +import '../resources/authService.dart'; +import '../resources/firestore_provider.dart'; + +class NewImageBloc {} diff --git a/lib/src/blocs/new_task_bloc.dart b/lib/src/blocs/new_task_bloc.dart index b7d4f07..604d2ab 100644 --- a/lib/src/blocs/new_task_bloc.dart +++ b/lib/src/blocs/new_task_bloc.dart @@ -7,6 +7,8 @@ import '../models/user_model.dart'; import '../resources/authService.dart'; import '../resources/firestore_provider.dart'; +// TODO: Add validation. + class NewTaskBloc { final AuthService _auth = authService; final FirestoreProvider _firestore = firestoreProvider; diff --git a/lib/src/screens/new_image_screen.dart b/lib/src/screens/new_image_screen.dart new file mode 100644 index 0000000..fcb027d --- /dev/null +++ b/lib/src/screens/new_image_screen.dart @@ -0,0 +1,20 @@ +import 'package:flutter/material.dart'; + +import '../blocs/new_image_bloc.dart'; +import '../widgets/custom_app_bar.dart'; + +class NewImageScreen extends StatefulWidget { + _NewImageScreenState createState() => _NewImageScreenState(); +} + +class _NewImageScreenState extends State { + final NewImageBloc bloc = NewImageBloc(); + + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + title: 'Add image', + ), + ); + } +} diff --git a/lib/src/widgets/new_item_dialog_route.dart b/lib/src/widgets/new_item_dialog_route.dart index ed0b5b6..bb73bac 100644 --- a/lib/src/widgets/new_item_dialog_route.dart +++ b/lib/src/widgets/new_item_dialog_route.dart @@ -40,7 +40,8 @@ class NewItemDialogRoute extends PopupRoute { ), NewItemDialogButton( label: 'Media', - onTap: () {}, + onTap: () => + Navigator.of(context).pushReplacementNamed('newImage/'), ), ], ),