@@ -18,8 +18,8 @@ class HomePage extends StatelessWidget {
18
18
19
19
@override
20
20
Widget build (BuildContext context) {
21
- bool isDesktop = context.isWiderScreen ();
22
- final HomeBloc homeBloc = BlocProvider . of (context );
21
+ final bool isWiderScreen = context.isWiderScreen ();
22
+ final homeBloc = context. bloc < HomeBloc >( );
23
23
scheduleMicrotask (() {
24
24
StreamSubscription ? _filterSubscription;
25
25
_filterSubscription = homeBloc.filter.listen ((filter) {
@@ -40,7 +40,7 @@ class HomePage extends StatelessWidget {
40
40
);
41
41
}),
42
42
actions: < Widget > [buildPopupMenu (context)],
43
- leading: isDesktop
43
+ leading: isWiderScreen
44
44
? null
45
45
: new IconButton (
46
46
icon: new Icon (
@@ -58,18 +58,11 @@ class HomePage extends StatelessWidget {
58
58
),
59
59
backgroundColor: Colors .orange,
60
60
onPressed: () async {
61
- if (context.isWiderScreen ()) {
62
- homeBloc.updateScreen (SCREEN .ADD_TASK );
63
- } else {
64
- await Navigator .push (
65
- context,
66
- MaterialPageRoute <bool >(builder: (context) => AddTaskProvider ()),
67
- );
68
- _taskBloc.refresh ();
69
- }
61
+ await context.adaptiveNavigate (SCREEN .ADD_TASK , AddTaskProvider ());
62
+ _taskBloc.refresh ();
70
63
},
71
64
),
72
- drawer: isDesktop ? null : SideDrawer (),
65
+ drawer: isWiderScreen ? null : SideDrawer (),
73
66
body: BlocProvider (
74
67
bloc: _taskBloc,
75
68
child: TasksPage (),
@@ -85,24 +78,16 @@ class HomePage extends StatelessWidget {
85
78
key: ValueKey (CompletedTaskPageKeys .POPUP_ACTION ),
86
79
onSelected: (MenuItem result) async {
87
80
switch (result) {
88
- case MenuItem .taskCompleted:
89
- if (context.isWiderScreen ()) {
90
- var homeBloc = BlocProvider .of <HomeBloc >(context);
91
- homeBloc.updateScreen (SCREEN .COMPLETED_TASK );
92
- } else {
93
- await Navigator .push (
94
- context,
95
- MaterialPageRoute <bool >(
96
- builder: (context) => TaskCompletedPage ()),
97
- );
98
- _taskBloc.refresh ();
99
- }
81
+ case MenuItem .TASK_COMPLETED :
82
+ await context.adaptiveNavigate (
83
+ SCREEN .COMPLETED_TASK , TaskCompletedPage ());
84
+ _taskBloc.refresh ();
100
85
break ;
101
86
}
102
87
},
103
88
itemBuilder: (BuildContext context) => < PopupMenuEntry <MenuItem >> [
104
89
const PopupMenuItem <MenuItem >(
105
- value: MenuItem .taskCompleted ,
90
+ value: MenuItem .TASK_COMPLETED ,
106
91
child: const Text (
107
92
'Completed Tasks' ,
108
93
key: ValueKey (CompletedTaskPageKeys .COMPLETED_TASKS ),
@@ -114,4 +99,4 @@ class HomePage extends StatelessWidget {
114
99
}
115
100
116
101
// This is the type used by the popup menu below.
117
- enum MenuItem { taskCompleted }
102
+ enum MenuItem { TASK_COMPLETED }
0 commit comments