Merge pull request #5 from TMarccci/master

fixed lot of things - by TMarccci
This commit is contained in:
Márton Kiss 2023-06-08 19:56:35 +02:00 committed by GitHub
commit 2cff46d628
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 52 additions and 72 deletions

View File

@ -1,6 +1,7 @@
{ {
"images" : [ "images" : [
{ {
"filename" : "reFilc_Logo.png",
"idiom" : "universal", "idiom" : "universal",
"platform" : "ios", "platform" : "ios",
"size" : "1024x1024" "size" : "1024x1024"

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 KiB

View File

@ -13,7 +13,7 @@ class LessonData {
var nextRoom: String var nextRoom: String
init?() { init?() {
let sharedDefault = UserDefaults(suiteName: "group.filcnaplo.livecard")! let sharedDefault = UserDefaults(suiteName: "group.refilc.livecard")!
self.icon = sharedDefault.string(forKey: "icon")! self.icon = sharedDefault.string(forKey: "icon")!
self.index = sharedDefault.string(forKey: "index")! self.index = sharedDefault.string(forKey: "index")!

View File

@ -68,8 +68,6 @@ struct LockScreenLiveActivityView: View {
.monospacedDigit() .monospacedDigit()
.padding(.trailing, CGFloat(24)) .padding(.trailing, CGFloat(24))
} }
.activitySystemActionForegroundColor(.teal)
.activityBackgroundTint(.teal)
} }
} }

View File

@ -57,14 +57,14 @@ Future loginApi({
String nonceStr = await Provider.of<KretaClient>(context, listen: false) String nonceStr = await Provider.of<KretaClient>(context, listen: false)
.getAPI(KretaAPI.nonce, json: false); .getAPI(KretaAPI.nonce, json: false);
Nonce nonce = getNonce(nonceStr, username, instituteCode); Nonce nonce = getNonce(nonceStr, username.replaceAll(' ', '') + ' ', instituteCode);
headers.addAll(nonce.header()); headers.addAll(nonce.header());
Map? res = await Provider.of<KretaClient>(context, listen: false) Map? res = await Provider.of<KretaClient>(context, listen: false)
.postAPI(KretaAPI.login, .postAPI(KretaAPI.login,
headers: headers, headers: headers,
body: User.loginBody( body: User.loginBody(
username: username, username: username.replaceAll(' ', '') + ' ',
password: password, password: password,
instituteCode: instituteCode, instituteCode: instituteCode,
)); ));
@ -83,7 +83,7 @@ Future loginApi({
.getAPI(KretaAPI.student(instituteCode)); .getAPI(KretaAPI.student(instituteCode));
Student student = Student.fromJson(studentJson!); Student student = Student.fromJson(studentJson!);
var user = User( var user = User(
username: username, username: username.replaceAll(' ', '') + ' ',
password: password, password: password,
instituteCode: instituteCode, instituteCode: instituteCode,
name: student.name, name: student.name,

View File

@ -44,7 +44,7 @@ class LiveCardProvider extends ChangeNotifier {
required SettingsProvider settings, required SettingsProvider settings,
}) : _timetable = timetable, }) : _timetable = timetable,
_settings = settings { _settings = settings {
_liveActivitiesPlugin.init(appGroupId: "group.filcnaplo.livecard"); _liveActivitiesPlugin.init(appGroupId: "group.refilc.livecard");
_liveActivitiesPlugin.getAllActivitiesIds().then((value) { _liveActivitiesPlugin.getAllActivitiesIds().then((value) {
_latestActivityId = value.isNotEmpty ? value.first : null; _latestActivityId = value.isNotEmpty ? value.first : null;
}); });

View File

@ -169,7 +169,7 @@ class KretaClient {
Map? loginRes = await postAPI(KretaAPI.login, Map? loginRes = await postAPI(KretaAPI.login,
headers: headers, headers: headers,
body: User.loginBody( body: User.loginBody(
username: loginUser.username, username: loginUser.username.replaceAll(' ', '') + ' ',
password: loginUser.password, password: loginUser.password,
instituteCode: loginUser.instituteCode, instituteCode: loginUser.instituteCode,
)); ));

View File

@ -22,8 +22,7 @@ class GradeProvider with ChangeNotifier {
// Public // Public
List<Grade> get grades => _grades; List<Grade> get grades => _grades;
DateTime get lastSeenDate => DateTime get lastSeenDate => _settings.gradeOpeningFun ? _lastSeen : DateTime(3000);
_settings.gradeOpeningFun ? _lastSeen : DateTime(3000);
String get groups => _groups; String get groups => _groups;
List<GroupAverage> get groupAverages => _groupAvg; List<GroupAverage> get groupAverages => _groupAvg;
@ -67,9 +66,7 @@ class GradeProvider with ChangeNotifier {
_groupAvg = await userQuery.getGroupAverages(userId: userId); _groupAvg = await userQuery.getGroupAverages(userId: userId);
notifyListeners(); notifyListeners();
DateTime lastSeenDB = await userQuery.lastSeenGrade(userId: userId); DateTime lastSeenDB = await userQuery.lastSeenGrade(userId: userId);
if (lastSeenDB.millisecondsSinceEpoch == 0 || if (lastSeenDB.millisecondsSinceEpoch == 0 || lastSeenDB.year == 0 || !_settings.gradeOpeningFun) {
lastSeenDB.year == 0 ||
!_settings.gradeOpeningFun) {
_lastSeen = DateTime.now(); _lastSeen = DateTime.now();
await seenAll(); await seenAll();
} else { } else {
@ -81,25 +78,13 @@ class GradeProvider with ChangeNotifier {
// good student mode, renamed subjects // good student mode, renamed subjects
Future<void> convertBySettings() async { Future<void> convertBySettings() async {
Map<String, String> renamedSubjects = _settings.renamedSubjectsEnabled Map<String, String> renamedSubjects = _settings.renamedSubjectsEnabled ? await _database.userQuery.renamedSubjects(userId: _user.user!.id) : {};
? await _database.userQuery.renamedSubjects(userId: _user.user!.id)
: {};
for (Grade grade in _grades) { for (Grade grade in _grades) {
// grade.subject.renamedTo = renamedSubjects.isNotEmpty ? renamedSubjects[grade.subject.id] : null; // grade.subject.renamedTo = renamedSubjects.isNotEmpty ? renamedSubjects[grade.subject.id] : null;
grade.subject.renamedTo = null; grade.value.value = _settings.goodStudent ? 5 : grade.json!["SzamErtek"] ?? 0;
if (renamedSubjects.isNotEmpty) { grade.value.valueName = _settings.goodStudent ? "Jeles".i18n : grade.json!["SzovegesErtek"] ?? "";
grade.subject.name = grade.value.shortName = _settings.goodStudent ? "Jeles".i18n : grade.json!["SzovegesErtekelesRovidNev"] ?? "";
renamedSubjects[grade.subject.id] ?? grade.subject.name;
}
grade.value.value =
_settings.goodStudent ? 5 : grade.json!["SzamErtek"] ?? 0;
grade.value.valueName = _settings.goodStudent
? "Jeles".i18n
: grade.json!["SzovegesErtek"].i18n ?? "";
grade.value.shortName = _settings.goodStudent
? "Jeles".i18n
: grade.json!["SzovegesErtekelesRovidNev"].i18n ?? "";
} }
notifyListeners(); notifyListeners();
@ -118,16 +103,12 @@ class GradeProvider with ChangeNotifier {
if (grades.isNotEmpty || _grades.isNotEmpty) await store(grades); if (grades.isNotEmpty || _grades.isNotEmpty) await store(grades);
List? groupsJson = await _kreta.getAPI(KretaAPI.groups(iss)); List? groupsJson = await _kreta.getAPI(KretaAPI.groups(iss));
if (groupsJson == null || groupsJson.isEmpty) if (groupsJson == null || groupsJson.isEmpty) throw "Cannot fetch Groups for User ${user.id}";
throw "Cannot fetch Groups for User ${user.id}";
_groups = (groupsJson[0]["OktatasNevelesiFeladat"] ?? {})["Uid"] ?? ""; _groups = (groupsJson[0]["OktatasNevelesiFeladat"] ?? {})["Uid"] ?? "";
List? groupAvgJson = List? groupAvgJson = await _kreta.getAPI(KretaAPI.groupAverages(iss, _groups));
await _kreta.getAPI(KretaAPI.groupAverages(iss, _groups)); if (groupAvgJson == null) throw "Cannot fetch Class Averages for User ${user.id}";
if (groupAvgJson == null) final groupAvgs = groupAvgJson.map((e) => GroupAverage.fromJson(e)).toList();
throw "Cannot fetch Class Averages for User ${user.id}";
final groupAvgs =
groupAvgJson.map((e) => GroupAverage.fromJson(e)).toList();
await storeGroupAvg(groupAvgs); await storeGroupAvg(groupAvgs);
} }

View File

@ -214,25 +214,25 @@ class _GradeSubjectViewState extends State<GradeSubjectView> {
gradeCalc(context); gradeCalc(context);
}, },
), ),
FloatingActionButton.small( // FloatingActionButton.small(
child: const Icon(FeatherIcons.flag, size: 20.0), // child: const Icon(FeatherIcons.flag, size: 20.0),
backgroundColor: Theme.of(context).colorScheme.secondary, // backgroundColor: Theme.of(context).colorScheme.secondary,
onPressed: () { // onPressed: () {
if (!Provider.of<PremiumProvider>(context, listen: false) // if (!Provider.of<PremiumProvider>(context, listen: false)
.hasScope(PremiumScopes.goalPlanner)) { // .hasScope(PremiumScopes.goalPlanner)) {
PremiumLockedFeatureUpsell.show( // PremiumLockedFeatureUpsell.show(
context: context, feature: PremiumFeature.goalplanner); // context: context, feature: PremiumFeature.goalplanner);
return; // return;
} // }
ScaffoldMessenger.of(context).showSnackBar( // ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text("Hamarosan..."))); // const SnackBar(content: Text("Hamarosan...")));
// Navigator.of(context).push(CupertinoPageRoute( // Navigator.of(context).push(CupertinoPageRoute(
// builder: (context) => PremiumGoalplannerNewGoalScreen( // builder: (context) => PremiumGoalplannerNewGoalScreen(
// subject: widget.subject))); // subject: widget.subject)));
}, // },
), // ),
], ],
), ),
), ),

View File

@ -634,7 +634,7 @@ class _SettingsScreenState extends State<SettingsScreen>
? Theme.of(context).colorScheme.secondary ? Theme.of(context).colorScheme.secondary
: AppColors.of(context).text.withOpacity(.25), : AppColors.of(context).text.withOpacity(.25),
), ),
const SizedBox(width: 24.0), const SizedBox(width: 14.0),
Expanded( Expanded(
child: Text( child: Text(
"graph_class_avg".i18n, "graph_class_avg".i18n,
@ -679,7 +679,7 @@ class _SettingsScreenState extends State<SettingsScreen>
? Theme.of(context).colorScheme.secondary ? Theme.of(context).colorScheme.secondary
: AppColors.of(context).text.withOpacity(.25), : AppColors.of(context).text.withOpacity(.25),
), ),
const SizedBox(width: 24.0), const SizedBox(width: 14.0),
Expanded( Expanded(
child: Text( child: Text(
"news".i18n, "news".i18n,
@ -724,7 +724,7 @@ class _SettingsScreenState extends State<SettingsScreen>
? Theme.of(context).colorScheme.secondary ? Theme.of(context).colorScheme.secondary
: AppColors.of(context).text.withOpacity(.25), : AppColors.of(context).text.withOpacity(.25),
), ),
const SizedBox(width: 24.0), const SizedBox(width: 14.0),
Expanded( Expanded(
child: Text( child: Text(
"surprise_grades".i18n, "surprise_grades".i18n,