diff --git a/lib/events.dart b/lib/events.dart index f3849cd..9fa3803 100644 --- a/lib/events.dart +++ b/lib/events.dart @@ -36,3 +36,12 @@ class VisitPhotoCountEvent extends AppEvent { @override List get props => [id_visite, photoCount]; } + +class RefreshCalendarEvent extends AppEvent { + RefreshCalendarEvent(this.refreshDate); + + final String refreshDate; + + @override + List get props => [refreshDate]; +} diff --git a/lib/ui/home/tab_home.dart b/lib/ui/home/tab_home.dart index d78806c..47b775b 100644 --- a/lib/ui/home/tab_home.dart +++ b/lib/ui/home/tab_home.dart @@ -37,6 +37,7 @@ class _TabHomePageState extends State final _reusableWidget = ReusableWidget(); late StreamSubscription subVisitPhotoCountEvent; + late StreamSubscription subRefreshCalendarEvent; // keep the state to do not refresh when switch navbar @override @@ -66,7 +67,7 @@ class _TabHomePageState extends State loadData().then((_) { setState(() { - // Listen particular event + // Listen refresh photo count event subVisitPhotoCountEvent = eventBus.on().listen((e) { SharedPrefs().last_id_visite = e.id_visite; @@ -88,11 +89,19 @@ class _TabHomePageState extends State }); }); }); + + // Listen refresh calendar event + subRefreshCalendarEvent = eventBus.on().listen((e) { + setState(() { + loadData(); + }); + }); }); } @override void dispose() { + subRefreshCalendarEvent.cancel(); subVisitPhotoCountEvent.cancel(); super.dispose(); } diff --git a/lib/ui/sync/synchronization.dart b/lib/ui/sync/synchronization.dart index 8d1a205..ae126fd 100644 --- a/lib/ui/sync/synchronization.dart +++ b/lib/ui/sync/synchronization.dart @@ -3,9 +3,11 @@ import 'package:flutter/material.dart'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:intl/intl.dart'; +import 'package:mobdr/main.dart'; import 'package:mobdr/config/constant.dart'; import 'package:mobdr/config/global_style.dart'; import 'package:mobdr/service/shared_prefs.dart'; +import 'package:mobdr/events.dart'; import 'package:mobdr/model/visit_model.dart'; import 'package:mobdr/ui/reusable/cache_image_network.dart'; import 'package:mobdr/ui/sync/upload_photos.dart'; @@ -82,6 +84,9 @@ class _SynchronizationPageState extends State { SharedPrefs().lastCalendarRefresh = DateFormat('dd/MM/yyyy HH:mm').format(DateTime.now()); + eventBus.fire( + RefreshCalendarEvent(SharedPrefs().lastCalendarRefresh)); + setState(() { loadData(); });