From 4d6fb3d04e3a2cc4554863153030ea171332eda4 Mon Sep 17 00:00:00 2001 From: AYM1607 Date: Wed, 13 Mar 2019 20:52:11 -0600 Subject: [PATCH] Created home bloc boilerplate --- lib/src/blocs/home_bloc.dart | 25 +++++++++++++++++++++++++ lib/src/blocs/home_bloc_provider.dart | 0 lib/src/screens/home_screen.dart | 10 ++++++---- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 lib/src/blocs/home_bloc.dart create mode 100644 lib/src/blocs/home_bloc_provider.dart diff --git a/lib/src/blocs/home_bloc.dart b/lib/src/blocs/home_bloc.dart new file mode 100644 index 0000000..5131c07 --- /dev/null +++ b/lib/src/blocs/home_bloc.dart @@ -0,0 +1,25 @@ +import 'dart:async'; + +import 'package:rxdart/rxdart.dart'; + +import '../models/task_model.dart'; +import '../resources/authService.dart'; +import '../resources/firestore_provider.dart'; + +class HomeBloc { + final AuthService _auth = authService; + final FirestoreProvider _firestore = firestoreProvider; + final _tasks = BehaviorSubject>(); + + // Stream getters. + Observable> get userTasks => _tasks.stream; + + Future fetchTasks() async { + final user = await _auth.currentUser; + _firestore.getUserTasks(user.email).pipe(_tasks); + } + + void dispose() { + _tasks.close(); + } +} diff --git a/lib/src/blocs/home_bloc_provider.dart b/lib/src/blocs/home_bloc_provider.dart new file mode 100644 index 0000000..e69de29 diff --git a/lib/src/screens/home_screen.dart b/lib/src/screens/home_screen.dart index deba99a..49c7606 100644 --- a/lib/src/screens/home_screen.dart +++ b/lib/src/screens/home_screen.dart @@ -1,5 +1,3 @@ -import 'dart:async'; - import 'package:flutter/material.dart'; import '../models/task_model.dart'; @@ -30,8 +28,12 @@ class HomeScreen extends StatelessWidget { } return ListView( padding: EdgeInsets.zero, - children: - snap.data.map((task) => TaskListTile(task: task)).toList(), + children: snap.data + .map((task) => Container( + child: TaskListTile(task: task), + padding: EdgeInsets.only(bottom: 12), + )) + .toList(), ); }, ),