Added option to sort talk favorites to top
This commit is contained in:
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import '../gradeAverages/gradeAveragesSettings.dart';
|
||||
import '../talk/talkSettings.dart';
|
||||
import '../timetable/timetableSettings.dart';
|
||||
|
||||
part 'settings.g.dart';
|
||||
@ -17,12 +18,14 @@ class Settings {
|
||||
|
||||
GradeAveragesSettings gradeAveragesSettings;
|
||||
TimetableSettings timetableSettings;
|
||||
TalkSettings talkSettings;
|
||||
|
||||
Settings({
|
||||
required this.appTheme,
|
||||
required this.devToolsEnabled,
|
||||
required this.gradeAveragesSettings,
|
||||
required this.timetableSettings
|
||||
required this.timetableSettings,
|
||||
required this.talkSettings,
|
||||
});
|
||||
|
||||
static String _themeToJson(ThemeMode m) => m.name;
|
||||
|
@ -13,6 +13,8 @@ Settings _$SettingsFromJson(Map<String, dynamic> json) => Settings(
|
||||
json['gradeAveragesSettings'] as Map<String, dynamic>),
|
||||
timetableSettings: TimetableSettings.fromJson(
|
||||
json['timetableSettings'] as Map<String, dynamic>),
|
||||
talkSettings:
|
||||
TalkSettings.fromJson(json['talkSettings'] as Map<String, dynamic>),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$SettingsToJson(Settings instance) => <String, dynamic>{
|
||||
@ -20,4 +22,5 @@ Map<String, dynamic> _$SettingsToJson(Settings instance) => <String, dynamic>{
|
||||
'devToolsEnabled': instance.devToolsEnabled,
|
||||
'gradeAveragesSettings': instance.gradeAveragesSettings.toJson(),
|
||||
'timetableSettings': instance.timetableSettings.toJson(),
|
||||
'talkSettings': instance.talkSettings.toJson(),
|
||||
};
|
||||
|
@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
import '../gradeAverages/gradeAveragesSettings.dart';
|
||||
import '../talk/talkSettings.dart';
|
||||
import '../timetable/timetableSettings.dart';
|
||||
import 'settings.dart';
|
||||
|
||||
@ -55,6 +56,9 @@ class SettingsProvider extends ChangeNotifier {
|
||||
timetableSettings: TimetableSettings(
|
||||
zoom: 40,
|
||||
),
|
||||
talkSettings: TalkSettings(
|
||||
sortFavoritesToTop: true,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
13
lib/storage/talk/talkSettings.dart
Normal file
13
lib/storage/talk/talkSettings.dart
Normal file
@ -0,0 +1,13 @@
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'talkSettings.g.dart';
|
||||
|
||||
@JsonSerializable()
|
||||
class TalkSettings {
|
||||
bool sortFavoritesToTop;
|
||||
|
||||
TalkSettings({required this.sortFavoritesToTop});
|
||||
|
||||
factory TalkSettings.fromJson(Map<String, dynamic> json) => _$TalkSettingsFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$TalkSettingsToJson(this);
|
||||
}
|
16
lib/storage/talk/talkSettings.g.dart
Normal file
16
lib/storage/talk/talkSettings.g.dart
Normal file
@ -0,0 +1,16 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'talkSettings.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
TalkSettings _$TalkSettingsFromJson(Map<String, dynamic> json) => TalkSettings(
|
||||
sortFavoritesToTop: json['sortFavoritesToTop'] as bool,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$TalkSettingsToJson(TalkSettings instance) =>
|
||||
<String, dynamic>{
|
||||
'sortFavoritesToTop': instance.sortFavoritesToTop,
|
||||
};
|
Reference in New Issue
Block a user