import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_calendar/calendar.dart'; import '../../../../state/app/modules/timetable/bloc/timetable_bloc.dart'; import '../data/arbitrary_appointment.dart'; import 'custom_event_sheet.dart'; import 'webuntis_lesson_sheet.dart'; class AppointmentDetailsDispatcher { static void show(BuildContext context, TimetableBloc bloc, Appointment appointment) { final id = appointment.id; if (id is! ArbitraryAppointment) return; id.when( webuntis: (lesson) => WebuntisLessonSheet.show(context, bloc, appointment, lesson), custom: (event) => CustomEventSheet.show(context, event), ); } }