implemented custom subject colors for the timetable and unified the color palette system
This commit is contained in:
@@ -121,6 +121,27 @@ class TimetableBloc
|
||||
await _refreshCustomEvents();
|
||||
}
|
||||
|
||||
/// Setzt die persönliche Farbe eines Fachs (Schlüssel: Fach-Kürzel) und lädt
|
||||
/// die Fächer neu, damit die eingebettete Farbe im Kalender wirkt.
|
||||
Future<void> setSubjectColor(String subjectShort, String color) async {
|
||||
await repo.data.setSubjectColor(subjectShort, color);
|
||||
await _refreshSubjects();
|
||||
}
|
||||
|
||||
Future<void> clearSubjectColor(String subjectShort) async {
|
||||
await repo.data.removeSubjectColor(subjectShort);
|
||||
await _refreshSubjects();
|
||||
}
|
||||
|
||||
Future<void> _refreshSubjects() async {
|
||||
final subjects = await repo.data.getSubjects(renew: true);
|
||||
add(
|
||||
DataGathered(
|
||||
(s) => s.copyWith(subjects: subjects, dataVersion: s.dataVersion + 1),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> _loadCurrentWeek(
|
||||
DateTime startDate,
|
||||
DateTime endDate, {
|
||||
|
||||
@@ -16,6 +16,8 @@ import '../../../../../api/marianumconnect/queries/timetable_get_timegrid/timeta
|
||||
import '../../../../../api/marianumconnect/queries/timetable_get_timegrid/timetable_get_timegrid_response.dart';
|
||||
import '../../../../../api/marianumconnect/queries/timetable_get_week/timetable_get_week.dart';
|
||||
import '../../../../../api/marianumconnect/queries/timetable_get_week/timetable_get_week_response.dart';
|
||||
import '../../../../../api/marianumconnect/queries/timetable_subject_colors/timetable_subject_color_remove.dart';
|
||||
import '../../../../../api/marianumconnect/queries/timetable_subject_colors/timetable_subject_color_set.dart';
|
||||
import '../../../../../api/mhsl/custom_timetable_event/custom_timetable_event.dart';
|
||||
import '../../../../../api/mhsl/custom_timetable_event/get/get_custom_timetable_event_response.dart';
|
||||
import '../../../../../api/request_cache.dart';
|
||||
@@ -119,4 +121,14 @@ class TimetableDataProvider {
|
||||
if (DemoMode.active) return Future.value();
|
||||
return TimetableCustomEventsRemove().run(id);
|
||||
}
|
||||
|
||||
Future<void> setSubjectColor(String subjectShort, String color) {
|
||||
if (DemoMode.active) return Future.value();
|
||||
return TimetableSubjectColorSet().run(subjectShort, color);
|
||||
}
|
||||
|
||||
Future<void> removeSubjectColor(String subjectShort) {
|
||||
if (DemoMode.active) return Future.value();
|
||||
return TimetableSubjectColorRemove().run(subjectShort);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user