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,29 +134,43 @@ 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 {
CupertinoPageRoute( Navigator.of(context, rootNavigator: true).push(
builder: (context) => EditSubjectScreen( CupertinoPageRoute(
subject: s.subject, builder: (context) => EditSubjectScreen(
teacher: s.teacher, // not sure why, but it works tho subject: s.subject,
teacher: s.teacher, // not sure why, but it works tho
),
), ),
), );
),
title: Text( setState(() {});
(s.subject.isRenamed && settingsProvider.renamedSubjectsEnabled },
? s.subject.renamedTo title: Column(
: s.subject.name.capital()) ?? children: [
'', Text(
style: TextStyle( (s.subject.isRenamed && settingsProvider.renamedSubjectsEnabled
color: AppColors.of(context).text.withOpacity(.95), ? s.subject.renamedTo
fontStyle: settingsProvider.renamedSubjectsItalics : s.subject.name.capital()) ??
? FontStyle.italic '',
: FontStyle.normal, style: TextStyle(
), color: AppColors.of(context).text.withOpacity(.95),
fontStyle: settingsProvider.renamedSubjectsItalics
? FontStyle.italic
: 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),
@ -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,