20 lines
675 B
Dart
20 lines
675 B
Dart
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),
|
|
);
|
|
}
|
|
}
|