prevent common "change" tiles in timetable, more robust parsing
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../../extensions/dateTime.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
@@ -302,23 +302,25 @@ class _TimetableState extends State<Timetable> {
|
||||
var startTime = _parseWebuntisTimestamp(element.date, element.startTime);
|
||||
var endTime = _parseWebuntisTimestamp(element.date, element.endTime);
|
||||
|
||||
var subject = subjects.result.firstWhere((subject) => subject.id == element.su[0].id);
|
||||
var subjectName = {
|
||||
var subject = subjects.result.firstWhereOrNull((subject) => subject.id == element.su.first.id);
|
||||
var subjectName = 'Unbekannt';
|
||||
if(subject != null) {
|
||||
subjectName = {
|
||||
TimetableNameMode.name: subject.name,
|
||||
TimetableNameMode.longName: subject.longName,
|
||||
TimetableNameMode.alternateName: subject.alternateName,
|
||||
}[settings.val().timetableSettings.timetableNameMode];
|
||||
|
||||
}[settings.val().timetableSettings.timetableNameMode]!;
|
||||
}
|
||||
|
||||
return Appointment(
|
||||
id: ArbitraryAppointment(webuntis: element),
|
||||
startTime: startTime,
|
||||
endTime: endTime,
|
||||
subject: subjectName!,
|
||||
subject: subjectName,
|
||||
location: ''
|
||||
'${rooms.result.firstWhere((room) => room.id == element.ro[0].id).name}'
|
||||
'${rooms.result.firstWhereOrNull((room) => room.id == element.ro.firstOrNull?.id)?.name ?? 'Unbekannt'}'
|
||||
'\n'
|
||||
'${element.te.first.longname}',
|
||||
'${element.te.firstOrNull?.longname ?? 'Unbekannt'}',
|
||||
notes: element.activityType,
|
||||
color: _getEventColor(element, startTime, endTime),
|
||||
);
|
||||
@@ -331,7 +333,7 @@ class _TimetableState extends State<Timetable> {
|
||||
subject: 'Änderung',
|
||||
notes: element.info,
|
||||
location: 'Unbekannt',
|
||||
color: endTime.isBefore(DateTime.now()) ? Theme.of(context).primaryColor.withAlpha(100) : Theme.of(context).primaryColor,
|
||||
color: const Color(0xff404040).withAlpha(endTime.isBefore(DateTime.now()) ? 100 : 255),
|
||||
startTimeZone: '',
|
||||
endTimeZone: '',
|
||||
);
|
||||
|
Reference in New Issue
Block a user