diff --git a/filcnaplo_mobile_ui/lib/screens/settings/submenu/edit_subject.dart b/filcnaplo_mobile_ui/lib/screens/settings/submenu/edit_subject.dart index d4f8f87..cab3881 100644 --- a/filcnaplo_mobile_ui/lib/screens/settings/submenu/edit_subject.dart +++ b/filcnaplo_mobile_ui/lib/screens/settings/submenu/edit_subject.dart @@ -69,19 +69,21 @@ class EditSubjectScreenState extends State { Map subs = await databaseProvider.userQuery .renamedSubjects(userId: user.id!); subs.remove(widget.subject.id); - databaseProvider.userStore + await databaseProvider.userStore .storeRenamedSubjects(subs, userId: user.id!); Map teach = await databaseProvider.userQuery .renamedTeachers(userId: user.id!); teach.remove(widget.teacher.id); - databaseProvider.userStore + await databaseProvider.userStore .storeRenamedTeachers(teach, userId: user.id!); updateProviders(); - setState(() {}); + // im crying rn Navigator.of(context).pop(); + Navigator.of(context).pop(); + setState(() {}); }, icon: const Icon(FeatherIcons.trash2), ), diff --git a/filcnaplo_mobile_ui/lib/screens/settings/submenu/personalize_screen.dart b/filcnaplo_mobile_ui/lib/screens/settings/submenu/personalize_screen.dart index 851c456..5e0e951 100644 --- a/filcnaplo_mobile_ui/lib/screens/settings/submenu/personalize_screen.dart +++ b/filcnaplo_mobile_ui/lib/screens/settings/submenu/personalize_screen.dart @@ -80,13 +80,13 @@ class PersonalizeSettingsScreenState extends State void initState() { super.initState(); - editedShit = Provider.of(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)); + // editedShit = Provider.of(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)); List other = Provider.of(context, listen: false) .grades @@ -134,29 +134,43 @@ class PersonalizeSettingsScreenState extends State var added = []; var i = 0; + List need = []; for (var s in editedShit) { if (added.contains(s.subject.id)) continue; + need.add(s); + added.add(s.subject.id); + } + for (var s in need) { Widget widget = PanelButton( - onPressed: () => Navigator.of(context, rootNavigator: true).push( - CupertinoPageRoute( - builder: (context) => EditSubjectScreen( - subject: s.subject, - teacher: s.teacher, // not sure why, but it works tho + onPressed: () async { + Navigator.of(context, rootNavigator: true).push( + CupertinoPageRoute( + builder: (context) => EditSubjectScreen( + subject: s.subject, + teacher: s.teacher, // not sure why, but it works tho + ), ), - ), - ), - title: Text( - (s.subject.isRenamed && settingsProvider.renamedSubjectsEnabled - ? s.subject.renamedTo - : s.subject.name.capital()) ?? - '', - style: TextStyle( - color: AppColors.of(context).text.withOpacity(.95), - fontStyle: settingsProvider.renamedSubjectsItalics - ? FontStyle.italic - : FontStyle.normal, - ), + ); + + setState(() {}); + }, + title: Column( + children: [ + Text( + (s.subject.isRenamed && settingsProvider.renamedSubjectsEnabled + ? s.subject.renamedTo + : s.subject.name.capital()) ?? + '', + 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( SubjectIcon.resolveVariant(context: context, subject: s.subject), @@ -170,13 +184,12 @@ class PersonalizeSettingsScreenState extends State ), borderRadius: BorderRadius.vertical( 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; subjectTiles.add(widget); - added.add(s.subject.id); } tiles = subjectTiles; @@ -187,6 +200,15 @@ class PersonalizeSettingsScreenState extends State settingsProvider = Provider.of(context); user = Provider.of(context); + // get edited shit + editedShit = Provider.of(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 = { ThemeMode.light: "light".i18n, ThemeMode.dark: "dark".i18n, @@ -194,6 +216,7 @@ class PersonalizeSettingsScreenState extends State }[settingsProvider.theme] ?? "?"; + // build da tilés buildSubjectTiles(); return AnimatedBuilder( @@ -635,6 +658,8 @@ class PersonalizeSettingsScreenState extends State ), ), ); + + setState(() {}); // _subjectName.text = ""; }, iconSize: 14,