@@ -39,9 +39,14 @@ class _DiaryScreenState extends State<DiaryScreen> {
39
39
IFile fileApi = FirebaseFile (FirebaseStorage .instance);
40
40
final LoadingOverlayController _loadingOverlayController =
41
41
LoadingOverlayController ();
42
+ late MealProvider mealProvider;
42
43
43
- _onDaySelected (DateTime day) async {
44
- _selectedDate = day;
44
+ @override
45
+ void dispose () {
46
+ if (GetIt .I .get <AuthProvider >().isAdmin) {
47
+ mealProvider.stopNewDiaryListener ();
48
+ }
49
+ super .dispose ();
45
50
}
46
51
47
52
List <Meal > _getEventsForDay (BuildContext context, DateTime day) {
@@ -60,20 +65,34 @@ class _DiaryScreenState extends State<DiaryScreen> {
60
65
builder: (context, child) {
61
66
context.watch <MealProvider >().meals;
62
67
63
- MealProvider mealProvider = context.read <MealProvider >();
68
+ mealProvider = context.read <MealProvider >();
64
69
AuthProvider authProvider = GetIt .I .get <AuthProvider >();
65
70
71
+ if (isAdmin) {
72
+ mealProvider.startNewDiaryListener (
73
+ widget._client! .uid, _selectedDate);
74
+ }
75
+
66
76
return LoadingOverlay (
67
77
controller: _loadingOverlayController,
68
78
child: Diary (
69
- onDaySelected: _onDaySelected,
79
+ onDaySelected: (date) {
80
+ _selectedDate = date;
81
+ if (isAdmin) {
82
+ mealProvider.stopNewDiaryListener ();
83
+ mealProvider.startNewDiaryListener (
84
+ widget._client! .uid, date);
85
+ }
86
+ },
70
87
getDiariesForDay: (day) {
71
88
return _getEventsForDay (context, day);
72
89
},
73
90
clientName: ! isAdmin
74
91
? GetIt .I .get <AuthProvider >().user! .firstName
75
92
: widget._client! .firstName,
76
- clientPicturePath: authProvider.user! .photoUrl,
93
+ clientPicturePath: ! isAdmin
94
+ ? authProvider.user! .photoUrl
95
+ : widget._client! .photoUrl,
77
96
defaultUserPic: "assets/images/default_user_pic.png" ,
78
97
showActionButton: ! isAdmin,
79
98
defaultMealPic: "assets/images/breakfast.jpg" ,
0 commit comments