Added holidays viewer

This commit is contained in:
2023-06-12 17:17:22 +02:00
parent 38c0cfba9c
commit 7a791ef21f
14 changed files with 339 additions and 2 deletions

View File

@ -3,6 +3,7 @@ import 'package:json_annotation/json_annotation.dart';
import '../file/fileSettings.dart';
import '../gradeAverages/gradeAveragesSettings.dart';
import '../holidays/holidaysSettings.dart';
import '../talk/talkSettings.dart';
import '../timetable/timetableSettings.dart';
@ -21,6 +22,7 @@ class Settings {
TimetableSettings timetableSettings;
TalkSettings talkSettings;
FileSettings fileSettings;
HolidaysSettings holidaysSettings;
Settings({
required this.appTheme,
@ -29,6 +31,7 @@ class Settings {
required this.timetableSettings,
required this.talkSettings,
required this.fileSettings,
required this.holidaysSettings,
});
static String _themeToJson(ThemeMode m) => m.name;

View File

@ -17,6 +17,8 @@ Settings _$SettingsFromJson(Map<String, dynamic> json) => Settings(
TalkSettings.fromJson(json['talkSettings'] as Map<String, dynamic>),
fileSettings:
FileSettings.fromJson(json['fileSettings'] as Map<String, dynamic>),
holidaysSettings: HolidaysSettings.fromJson(
json['holidaysSettings'] as Map<String, dynamic>),
);
Map<String, dynamic> _$SettingsToJson(Settings instance) => <String, dynamic>{
@ -26,4 +28,5 @@ Map<String, dynamic> _$SettingsToJson(Settings instance) => <String, dynamic>{
'timetableSettings': instance.timetableSettings.toJson(),
'talkSettings': instance.talkSettings.toJson(),
'fileSettings': instance.fileSettings.toJson(),
'holidaysSettings': instance.holidaysSettings.toJson(),
};

View File

@ -5,6 +5,7 @@ import 'package:shared_preferences/shared_preferences.dart';
import '../file/fileSettings.dart';
import '../gradeAverages/gradeAveragesSettings.dart';
import '../holidays/holidaysSettings.dart';
import '../talk/talkSettings.dart';
import '../timetable/timetableSettings.dart';
import 'settings.dart';
@ -64,6 +65,10 @@ class SettingsProvider extends ChangeNotifier {
fileSettings: FileSettings(
sortFoldersToTop: true,
),
holidaysSettings: HolidaysSettings(
dismissedDisclaimer: false,
showPastEvents: false,
),
);
}
}

View File

@ -0,0 +1,14 @@
import 'package:json_annotation/json_annotation.dart';
part 'holidaysSettings.g.dart';
@JsonSerializable()
class HolidaysSettings {
bool dismissedDisclaimer;
bool showPastEvents;
HolidaysSettings({required this.dismissedDisclaimer, required this.showPastEvents});
factory HolidaysSettings.fromJson(Map<String, dynamic> json) => _$HolidaysSettingsFromJson(json);
Map<String, dynamic> toJson() => _$HolidaysSettingsToJson(this);
}

View File

@ -0,0 +1,19 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'holidaysSettings.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
HolidaysSettings _$HolidaysSettingsFromJson(Map<String, dynamic> json) =>
HolidaysSettings(
dismissedDisclaimer: json['dismissedDisclaimer'] as bool,
showPastEvents: json['showPastEvents'] as bool,
);
Map<String, dynamic> _$HolidaysSettingsToJson(HolidaysSettings instance) =>
<String, dynamic>{
'dismissedDisclaimer': instance.dismissedDisclaimer,
'showPastEvents': instance.showPastEvents,
};