changed old subject type to gradesubject

This commit is contained in:
Kima
2023-10-15 12:14:06 +02:00
parent c7c3b421f4
commit 2d5cbe8799
31 changed files with 497 additions and 156 deletions

View File

@@ -9,10 +9,10 @@ class GoalProvider extends ChangeNotifier {
final UserProvider _user;
late bool _done = false;
late Subject? _doneSubject;
late GradeSubject? _doneSubject;
bool get hasDoneGoals => _done;
Subject? get doneSubject => _doneSubject;
GradeSubject? get doneSubject => _doneSubject;
GoalProvider({
required DatabaseProvider database,
@@ -24,7 +24,7 @@ class GoalProvider extends ChangeNotifier {
var goalAvgs = await _db.userQuery.subjectGoalAverages(userId: _user.id!);
var beforeAvgs = await _db.userQuery.subjectGoalBefores(userId: _user.id!);
List<Subject> subjects = gradeProvider.grades
List<GradeSubject> subjects = gradeProvider.grades
.map((e) => e.subject)
.toSet()
.toList()
@@ -45,7 +45,7 @@ class GoalProvider extends ChangeNotifier {
_doneSubject = null;
}
Future<void> clearGoal(Subject subject) async {
Future<void> clearGoal(GradeSubject subject) async {
final goalPlans = await _db.userQuery.subjectGoalPlans(userId: _user.id!);
final goalAvgs = await _db.userQuery.subjectGoalAverages(userId: _user.id!);
final goalBeforeGrades =

View File

@@ -20,7 +20,7 @@ class GoalCompleteModal extends StatelessWidget {
final UserProvider user;
final DatabaseProvider database;
final Subject subject;
final GradeSubject subject;
final double goalAverage;
final double beforeAverage;
@@ -218,7 +218,7 @@ class GoalCompleteModal extends StatelessWidget {
}
static Future<T?> show<T>(
Subject subject, {
GradeSubject subject, {
required BuildContext context,
}) async {
UserProvider user = Provider.of<UserProvider>(context, listen: false);

View File

@@ -64,7 +64,7 @@ class GoalPlanner {
form: '',
groupId: '',
type: GradeType.midYear,
subject: Subject.fromJson({}),
subject: GradeSubject.fromJson({}),
mode: Category.fromJson({}),
seenDate: DateTime(0),
writeDate: DateTime(0),

View File

@@ -25,7 +25,7 @@ enum PlanResult {
}
class GoalPlannerScreen extends StatefulWidget {
final Subject subject;
final GradeSubject subject;
const GoalPlannerScreen({Key? key, required this.subject}) : super(key: key);
@@ -42,7 +42,7 @@ class _GoalPlannerScreenState extends State<GoalPlannerScreen> {
bool gradeCalcMode = false;
List<Grade> getSubjectGrades(Subject subject) => !gradeCalcMode
List<Grade> getSubjectGrades(GradeSubject subject) => !gradeCalcMode
? gradeProvider.grades.where((e) => e.subject == subject).toList()
: calculatorProvider.grades.where((e) => e.subject == subject).toList();

View File

@@ -22,7 +22,7 @@ import 'goal_planner_screen.dart';
import 'graph.dart';
class GoalStateScreen extends StatefulWidget {
final Subject subject;
final GradeSubject subject;
const GoalStateScreen({Key? key, required this.subject}) : super(key: key);
@@ -77,10 +77,10 @@ class _GoalStateScreenState extends State<GoalStateScreen> {
setState(() {});
}
List<Grade> getSubjectGrades(Subject subject) =>
List<Grade> getSubjectGrades(GradeSubject subject) =>
gradeProvider.grades.where((e) => (e.subject == subject)).toList();
List<Grade> getAfterGoalGrades(Subject subject) => gradeProvider.grades
List<Grade> getAfterGoalGrades(GradeSubject subject) => gradeProvider.grades
.where((e) => (e.subject == subject && e.date.isAfter(goalPinDate)))
.toList();

View File

@@ -91,7 +91,7 @@ class _ModifySubjectNamesState extends State<ModifySubjectNames> {
final _subjectName = TextEditingController();
String? selectedSubjectId;
late List<Subject> subjects;
late List<GradeSubject> subjects;
late UserProvider user;
late DatabaseProvider dbProvider;
late SettingsProvider settings;
@@ -294,9 +294,11 @@ class _ModifySubjectNamesState extends State<ModifySubjectNames> {
children: [
Panel(
child: SwitchListTile(
title: Text("italics_toggle".i18n),
onChanged: (value) => settings.update(renamedSubjectsItalics: value),
value: settings.renamedSubjectsItalics,),
title: Text("italics_toggle".i18n),
onChanged: (value) =>
settings.update(renamedSubjectsItalics: value),
value: settings.renamedSubjectsItalics,
),
),
const SizedBox(
height: 20,
@@ -339,7 +341,7 @@ class _ModifySubjectNamesState extends State<ModifySubjectNames> {
child: Column(
children: snapshot.data!.keys.map(
(key) {
Subject? subject = subjects
GradeSubject? subject = subjects
.firstWhere((element) => key == element.id);
String renameTo = snapshot.data![key]!;
return RenamedSubjectItem(
@@ -385,7 +387,7 @@ class RenamedSubjectItem extends StatelessWidget {
required this.removeCallback,
}) : super(key: key);
final Subject subject;
final GradeSubject subject;
final String renamedTo;
final void Function() modifyCallback;
final void Function() removeCallback;