Sélection de l'événement dans la vue semaine

This commit is contained in:
2025-05-22 12:45:32 +02:00
parent 2c61b9ce8d
commit 249a6d6074
2 changed files with 41 additions and 2 deletions

View File

@@ -149,6 +149,7 @@ class _CalendarPageState extends State<CalendarPage> {
onEventSelected: (event) {
setState(() {
_selectedEvent = event;
_selectedDay = event.startDateTime;
});
},
onSwitchToMonth: () {
@@ -156,6 +157,33 @@ class _CalendarPageState extends State<CalendarPage> {
_calendarFormat = CalendarFormat.month;
});
},
onDaySelected: (selectedDay) {
final eventsForDay = eventProvider.events
.where((e) =>
e.startDateTime.year == selectedDay.year &&
e.startDateTime.month == selectedDay.month &&
e.startDateTime.day == selectedDay.day)
.toList();
eventsForDay
.sort((a, b) => a.startDateTime.compareTo(b.startDateTime));
setState(() {
_selectedDay = selectedDay;
if (eventsForDay.isNotEmpty) {
_selectedEvent = eventsForDay.first;
} else {
_selectedEvent = null;
}
});
if (eventsForDay.isEmpty) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text("Aucun événement ne démarre à cette date."),
duration: Duration(seconds: 2),
),
);
}
},
selectedEvent: _selectedEvent,
);
} else {
return MonthView(