Skip to content

Commit 04261fc

Browse files
committed
data initialization done
1 parent 698a3a7 commit 04261fc

File tree

3 files changed

+36
-17
lines changed

3 files changed

+36
-17
lines changed

lib/providers/home.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,14 @@ class HomeProvider extends ChangeNotifier {
4747

4848
//assigning data
4949
_userName = data['userName'];
50-
_types = data['types'];
51-
print("ok");
50+
List<String> tempTypes = [];
51+
data['types'].forEach((dynamic type){
52+
tempTypes.add(type.toString());
53+
});
54+
_types = tempTypes;
5255
List<TasksProvider> tempList = [];
5356
_types.forEach((type){
57+
print("type:$type");
5458
Map<String,dynamic> _eachType = data['tasks'][type];
5559
TasksProvider _newTasksProvider = TasksProvider(type,_eachType);
5660
tempList.add(_newTasksProvider);

lib/providers/tasks.dart

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,42 @@ import '../data/storage.dart' ;
77
class TasksProvider extends ChangeNotifier {
88
StoreData storage = new StoreData();
99
String _type;
10+
int _done = 0;
1011
List<Task> _tasks = [];
1112

1213
TasksProvider(String type,Map<String,dynamic> tasks){
1314
_type = type;
1415
Task tempTask;
1516
List<Task> tempList = [];
17+
int _tempDone = 0;
1618
tasks.forEach((key,data){
1719
tempTask = new Task(
1820
id: data['id'].toString(),
1921
name: data['name'].toString(),
2022
type: data['type'].toString(),
2123
isDone: data['isDone']
2224
);
25+
if(tempTask.isDone){
26+
_tempDone +=1;
27+
}
2328
tempList.add(tempTask);
2429
});
30+
_done = _tempDone;
2531
_tasks = tempList;
2632
}
27-
33+
2834
String get getType{
2935
return _type;
3036
}
3137

38+
int get getTotalDone {
39+
return _done;
40+
}
41+
42+
int get getTotalTask {
43+
return _tasks.length;
44+
}
45+
3246
List<Task> get getTasks{
3347
return [..._tasks];
3448
}

lib/screens/todo_app.dart

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
import 'package:flutter/material.dart';
2+
import 'package:my_todo/widgets/types_card.dart';
23
import 'package:provider/provider.dart';
34

45
import '../providers/tasks.dart';
56
import '../models/task.dart';
7+
//screens
68
import './add_task_screen.dart';
9+
import './loading_screen.dart';
710

811
//providers
912
import '../providers/home.dart';
@@ -42,9 +45,12 @@ class _ToDoState extends State<ToDo> {
4245

4346
@override
4447
Widget build(BuildContext context) {
48+
final height = MediaQuery.of(context).size.height;
49+
final width = MediaQuery.of(context).size.width;
50+
4551
final homeProvider = Provider.of<HomeProvider>(context);
4652
List<TasksProvider> taskProviders = homeProvider.getTaskProviders;
47-
return Scaffold(
53+
return _isLoading ? LoadingScreen() : Scaffold(
4854
backgroundColor: Colors.blue,
4955
appBar: AppBar(
5056
centerTitle: true,
@@ -56,19 +62,14 @@ class _ToDoState extends State<ToDo> {
5662
itemBuilder: (cyx,i){
5763
return ChangeNotifierProvider.value(
5864
value: taskProviders[i],
59-
child: ListTile(
60-
// onLongPress: (){
61-
// taskProvider.removeTask(tasks[i].id);
62-
// },
63-
// leading: Text(tasks[i].name),
64-
// trailing: Consumer<Task>(
65-
// builder: (ctx,task,widget){
66-
// return IconButton(
67-
// icon: task.isDone ? Icon(Icons.done,color: Colors.greenAccent,) : Icon(Icons.done,color: Colors.grey,),
68-
// onPressed: task.toggleDone,
69-
// );
70-
// },
71-
// ),
65+
child: Consumer<TasksProvider>(
66+
builder: (ctx,task,widget){
67+
return Column(
68+
children: <Widget>[
69+
TypesCard(height: height,width: width,),
70+
],
71+
);
72+
},
7273
),
7374
);
7475
},

0 commit comments

Comments
 (0)