Created home bloc boilerplate
This commit is contained in:
parent
a253207376
commit
4d6fb3d04e
3 changed files with 31 additions and 4 deletions
25
lib/src/blocs/home_bloc.dart
Normal file
25
lib/src/blocs/home_bloc.dart
Normal file
|
|
@ -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<List<TaskModel>>();
|
||||
|
||||
// Stream getters.
|
||||
Observable<List<TaskModel>> get userTasks => _tasks.stream;
|
||||
|
||||
Future<void> fetchTasks() async {
|
||||
final user = await _auth.currentUser;
|
||||
_firestore.getUserTasks(user.email).pipe(_tasks);
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
_tasks.close();
|
||||
}
|
||||
}
|
||||
0
lib/src/blocs/home_bloc_provider.dart
Normal file
0
lib/src/blocs/home_bloc_provider.dart
Normal file
|
|
@ -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(),
|
||||
);
|
||||
},
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue