From 1027727cacd25ba9193c7eff98642165e471a372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Mon, 19 Jun 2023 11:11:39 +0200 Subject: [PATCH] Crossed out timetable objects when no teacher is assigned --- lib/view/pages/timetable/appointmenetComponent.dart | 3 +-- lib/view/pages/timetable/timetable.dart | 6 +++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/view/pages/timetable/appointmenetComponent.dart b/lib/view/pages/timetable/appointmenetComponent.dart index b61d3f0..0f0227e 100644 --- a/lib/view/pages/timetable/appointmenetComponent.dart +++ b/lib/view/pages/timetable/appointmenetComponent.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_calendar/calendar.dart'; -import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart'; import 'CrossPainter.dart'; class AppointmentComponent extends StatefulWidget { @@ -117,7 +116,7 @@ class _AppointmentComponentState extends State { ], ), Visibility( - visible: (meeting.id as GetTimetableResponseObject).code == "cancelled", + visible: widget.crossedOut, child: Positioned.fill( child: CustomPaint( painter: CrossPainter(), diff --git a/lib/view/pages/timetable/timetable.dart b/lib/view/pages/timetable/timetable.dart index dabc84b..06563f6 100644 --- a/lib/view/pages/timetable/timetable.dart +++ b/lib/view/pages/timetable/timetable.dart @@ -8,6 +8,7 @@ import 'package:syncfusion_flutter_calendar/calendar.dart'; import '../../../api/webuntis/queries/getHolidays/getHolidaysResponse.dart'; import '../../../api/webuntis/queries/getRooms/getRoomsResponse.dart'; import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart'; +import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart'; import '../../../model/timetable/timetableProps.dart'; import '../../../storage/base/settingsProvider.dart'; import '../../../widget/loadingSpinner.dart'; @@ -119,7 +120,10 @@ class _TimetableState extends State { timeRegionBuilder: (BuildContext context, TimeRegionDetails timeRegionDetails) => TimeRegionComponent(details: timeRegionDetails), appointmentBuilder: (BuildContext context, CalendarAppointmentDetails details) => AppointmentComponent( details: details, - crossedOut: value.getTimetableResponse.result.where((element) => element.id == details.appointments.first.id).firstOrNull?.code == "cancelled" + crossedOut: ( + (details.appointments.first.id as GetTimetableResponseObject).code == "cancelled" + || (details.appointments.first.id as GetTimetableResponseObject).te.first.id == 0 + ) ), headerHeight: 0,