fixed warnings (super.key, etc)

This commit is contained in:
Kima
2023-12-12 22:57:16 +01:00
parent fc3f538e6b
commit 6bac82f7d6
46 changed files with 349 additions and 228 deletions

View File

@@ -17,16 +17,16 @@ final Map<int, String> avgDropItems = {
};
class AverageSelector extends StatefulWidget {
const AverageSelector({Key? key, this.onChanged, required this.value}) : super(key: key);
const AverageSelector({super.key, this.onChanged, required this.value});
final Function(int?)? onChanged;
final int value;
@override
_AverageSelectorState createState() => _AverageSelectorState();
AverageSelectorState createState() => AverageSelectorState();
}
class _AverageSelectorState extends State<AverageSelector> {
class AverageSelectorState extends State<AverageSelector> {
@override
Widget build(BuildContext context) {
List<DropdownMenuItem<int>> dropdownItems = avgDropItems.keys.map((item) {
@@ -47,14 +47,16 @@ class _AverageSelectorState extends State<AverageSelector> {
return DropdownButton2<int>(
items: dropdownItems,
onChanged: (int? value) {
if (Provider.of<PremiumProvider>(context, listen: false).hasScope(PremiumScopes.gradeStats)) {
if (Provider.of<PremiumProvider>(context, listen: false)
.hasScope(PremiumScopes.gradeStats)) {
if (widget.onChanged != null) {
setState(() {
widget.onChanged!(value);
});
}
} else {
PremiumLockedFeatureUpsell.show(context: context, feature: PremiumFeature.gradestats);
PremiumLockedFeatureUpsell.show(
context: context, feature: PremiumFeature.gradestats);
}
},
value: widget.value,
@@ -84,10 +86,9 @@ class _AverageSelectorState extends State<AverageSelector> {
children: [
Text(
avgDropItems[widget.value]!.i18n,
style: Theme.of(context)
.textTheme
.titleSmall!
.copyWith(fontWeight: FontWeight.w600, color: AppColors.of(context).text.withOpacity(0.65)),
style: Theme.of(context).textTheme.titleSmall!.copyWith(
fontWeight: FontWeight.w600,
color: AppColors.of(context).text.withOpacity(0.65)),
),
const SizedBox(
width: 4,

View File

@@ -1,24 +1,18 @@
import 'package:filcnaplo/api/providers/database_provider.dart';
import 'package:filcnaplo/api/providers/user_provider.dart';
import 'package:filcnaplo/models/settings.dart';
import 'package:filcnaplo_kreta_api/client/client.dart';
// import 'package:filcnaplo/api/providers/database_provider.dart';
// import 'package:filcnaplo/api/providers/user_provider.dart';
// import 'package:filcnaplo/models/settings.dart';
// import 'package:filcnaplo_kreta_api/client/client.dart';
import 'package:filcnaplo_kreta_api/providers/grade_provider.dart';
import 'package:filcnaplo_kreta_api/models/grade.dart';
class GradeCalculatorProvider extends GradeProvider {
GradeCalculatorProvider({
List<Grade> initialGrades = const [],
required SettingsProvider settings,
required UserProvider user,
required DatabaseProvider database,
required KretaClient kreta,
}) : super(
initialGrades: initialGrades,
settings: settings,
database: database,
kreta: kreta,
user: user,
);
super.initialGrades,
required super.settings,
required super.user,
required super.database,
required super.kreta,
});
List<Grade> _grades = [];
List<Grade> _ghosts = [];

View File

@@ -5,13 +5,14 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart';
import 'grades_page.i18n.dart';
class FailWarning extends StatelessWidget {
const FailWarning({Key? key, required this.subjectAvgs}) : super(key: key);
const FailWarning({super.key, required this.subjectAvgs});
final Map<GradeSubject, double> subjectAvgs;
@override
Widget build(BuildContext context) {
final failingSubjectCount = subjectAvgs.values.where((avg) => avg < 2.0).length;
final failingSubjectCount =
subjectAvgs.values.where((avg) => avg < 2.0).length;
if (failingSubjectCount == 0) {
return const SizedBox();

View File

@@ -4,19 +4,24 @@ import 'package:filcnaplo_mobile_ui/pages/grades/grades_count_item.dart';
import 'package:collection/collection.dart';
class GradesCount extends StatelessWidget {
const GradesCount({Key? key, required this.grades}) : super(key: key);
const GradesCount({super.key, required this.grades});
final List<Grade> grades;
@override
Widget build(BuildContext context) {
List<int> gradesCount = List.generate(5, (int index) => grades.where((e) => e.value.value == index + 1).length);
List<int> gradesCount = List.generate(5,
(int index) => grades.where((e) => e.value.value == index + 1).length);
return Padding(
padding: const EdgeInsets.only(bottom: 6.0, top: 6.0, left: 12.0, right: 6.0),
padding:
const EdgeInsets.only(bottom: 6.0, top: 6.0, left: 12.0, right: 6.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: gradesCount.mapIndexed((index, e) => GradesCountItem(count: e, value: index + 1)).toList(),
children: gradesCount
.mapIndexed(
(index, e) => GradesCountItem(count: e, value: index + 1))
.toList(),
),
);
}

View File

@@ -3,7 +3,7 @@ import 'package:filcnaplo_kreta_api/models/grade.dart';
import 'package:flutter/material.dart';
class GradesCountItem extends StatelessWidget {
const GradesCountItem({Key? key, required this.count, required this.value}) : super(key: key);
const GradesCountItem({super.key, required this.count, required this.value});
final int count;
final int value;
@@ -26,7 +26,8 @@ class GradesCountItem extends StatelessWidget {
style: const TextStyle(fontSize: 15.0),
),
const SizedBox(width: 5.0),
GradeValueWidget(GradeValue(value, "Value", "Value", 100), size: 19.0, fill: true, shadow: false),
GradeValueWidget(GradeValue(value, "Value", "Value", 100),
size: 19.0, fill: true, shadow: false),
],
);
}

View File

@@ -1,9 +1,10 @@
import 'package:flutter/material.dart';
class SubjectGradesContainer extends InheritedWidget {
const SubjectGradesContainer({Key? key, required Widget child}) : super(key: key, child: child);
const SubjectGradesContainer({super.key, required super.child});
static SubjectGradesContainer? of(BuildContext context) => context.dependOnInheritedWidgetOfExactType<SubjectGradesContainer>();
static SubjectGradesContainer? of(BuildContext context) =>
context.dependOnInheritedWidgetOfExactType<SubjectGradesContainer>();
@override
bool updateShouldNotify(SubjectGradesContainer oldWidget) => false;