fixed shit in a really shitty way uwu

This commit is contained in:
Kima 2024-02-18 14:04:40 +01:00
parent 449b1d63c5
commit 2c333d4cc2
2 changed files with 57 additions and 30 deletions

View File

@ -69,19 +69,21 @@ class EditSubjectScreenState extends State<EditSubjectScreen> {
Map<String, String> subs = await databaseProvider.userQuery Map<String, String> subs = await databaseProvider.userQuery
.renamedSubjects(userId: user.id!); .renamedSubjects(userId: user.id!);
subs.remove(widget.subject.id); subs.remove(widget.subject.id);
databaseProvider.userStore await databaseProvider.userStore
.storeRenamedSubjects(subs, userId: user.id!); .storeRenamedSubjects(subs, userId: user.id!);
Map<String, String> teach = await databaseProvider.userQuery Map<String, String> teach = await databaseProvider.userQuery
.renamedTeachers(userId: user.id!); .renamedTeachers(userId: user.id!);
teach.remove(widget.teacher.id); teach.remove(widget.teacher.id);
databaseProvider.userStore await databaseProvider.userStore
.storeRenamedTeachers(teach, userId: user.id!); .storeRenamedTeachers(teach, userId: user.id!);
updateProviders(); updateProviders();
setState(() {}); // im crying rn
Navigator.of(context).pop(); Navigator.of(context).pop();
Navigator.of(context).pop();
setState(() {});
}, },
icon: const Icon(FeatherIcons.trash2), icon: const Icon(FeatherIcons.trash2),
), ),

View File

@ -80,13 +80,13 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
void initState() { void initState() {
super.initState(); super.initState();
editedShit = Provider.of<GradeProvider>(context, listen: false) // editedShit = Provider.of<GradeProvider>(context, listen: false)
.grades // .grades
.where((e) => e.teacher.isRenamed || e.subject.isRenamed) // .where((e) => e.teacher.isRenamed || e.subject.isRenamed)
// .map((e) => e.subject) // // .map((e) => e.subject)
.toSet() // .toSet()
.toList() // .toList()
..sort((a, b) => a.subject.name.compareTo(b.subject.name)); // ..sort((a, b) => a.subject.name.compareTo(b.subject.name));
List<Grade> other = Provider.of<GradeProvider>(context, listen: false) List<Grade> other = Provider.of<GradeProvider>(context, listen: false)
.grades .grades
@ -134,19 +134,30 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
var added = []; var added = [];
var i = 0; var i = 0;
List<Grade> need = [];
for (var s in editedShit) { for (var s in editedShit) {
if (added.contains(s.subject.id)) continue; if (added.contains(s.subject.id)) continue;
need.add(s);
added.add(s.subject.id);
}
for (var s in need) {
Widget widget = PanelButton( Widget widget = PanelButton(
onPressed: () => Navigator.of(context, rootNavigator: true).push( onPressed: () async {
Navigator.of(context, rootNavigator: true).push(
CupertinoPageRoute( CupertinoPageRoute(
builder: (context) => EditSubjectScreen( builder: (context) => EditSubjectScreen(
subject: s.subject, subject: s.subject,
teacher: s.teacher, // not sure why, but it works tho teacher: s.teacher, // not sure why, but it works tho
), ),
), ),
), );
title: Text(
setState(() {});
},
title: Column(
children: [
Text(
(s.subject.isRenamed && settingsProvider.renamedSubjectsEnabled (s.subject.isRenamed && settingsProvider.renamedSubjectsEnabled
? s.subject.renamedTo ? s.subject.renamedTo
: s.subject.name.capital()) ?? : s.subject.name.capital()) ??
@ -158,6 +169,9 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
: FontStyle.normal, : FontStyle.normal,
), ),
), ),
Text((i + 1).toString() + '_' + need.length.toString()),
],
),
leading: Icon( leading: Icon(
SubjectIcon.resolveVariant(context: context, subject: s.subject), SubjectIcon.resolveVariant(context: context, subject: s.subject),
size: 22.0, size: 22.0,
@ -170,13 +184,12 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
), ),
borderRadius: BorderRadius.vertical( borderRadius: BorderRadius.vertical(
top: Radius.circular(i == 0 ? 12.0 : 4.0), top: Radius.circular(i == 0 ? 12.0 : 4.0),
bottom: Radius.circular(i + 1 == editedShit.length ? 12.0 : 4.0), bottom: Radius.circular(i + 1 == need.length ? 12.0 : 4.0),
), ),
); );
i += 1; i += 1;
subjectTiles.add(widget); subjectTiles.add(widget);
added.add(s.subject.id);
} }
tiles = subjectTiles; tiles = subjectTiles;
@ -187,6 +200,15 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
settingsProvider = Provider.of<SettingsProvider>(context); settingsProvider = Provider.of<SettingsProvider>(context);
user = Provider.of<UserProvider>(context); user = Provider.of<UserProvider>(context);
// get edited shit
editedShit = Provider.of<GradeProvider>(context, listen: false)
.grades
.where((e) => e.teacher.isRenamed || e.subject.isRenamed)
// .map((e) => e.subject)
.toSet()
.toList()
..sort((a, b) => a.subject.name.compareTo(b.subject.name));
String themeModeText = { String themeModeText = {
ThemeMode.light: "light".i18n, ThemeMode.light: "light".i18n,
ThemeMode.dark: "dark".i18n, ThemeMode.dark: "dark".i18n,
@ -194,6 +216,7 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
}[settingsProvider.theme] ?? }[settingsProvider.theme] ??
"?"; "?";
// build da tilés
buildSubjectTiles(); buildSubjectTiles();
return AnimatedBuilder( return AnimatedBuilder(
@ -635,6 +658,8 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
), ),
), ),
); );
setState(() {});
// _subjectName.text = ""; // _subjectName.text = "";
}, },
iconSize: 14, iconSize: 14,