forked from firka/student-legacy
Merge pull request #5 from TMarccci/master
fixed lot of things - by TMarccci
This commit is contained in:
commit
2cff46d628
@ -1,13 +1,14 @@
|
|||||||
{
|
{
|
||||||
"images" : [
|
"images" : [
|
||||||
{
|
{
|
||||||
"idiom" : "universal",
|
"filename" : "reFilc_Logo.png",
|
||||||
"platform" : "ios",
|
"idiom" : "universal",
|
||||||
"size" : "1024x1024"
|
"platform" : "ios",
|
||||||
}
|
"size" : "1024x1024"
|
||||||
],
|
}
|
||||||
"info" : {
|
],
|
||||||
"author" : "xcode",
|
"info" : {
|
||||||
"version" : 1
|
"author" : "xcode",
|
||||||
}
|
"version" : 1
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 577 KiB |
@ -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")!
|
||||||
|
@ -68,8 +68,6 @@ struct LockScreenLiveActivityView: View {
|
|||||||
.monospacedDigit()
|
.monospacedDigit()
|
||||||
.padding(.trailing, CGFloat(24))
|
.padding(.trailing, CGFloat(24))
|
||||||
}
|
}
|
||||||
.activitySystemActionForegroundColor(.teal)
|
|
||||||
.activityBackgroundTint(.teal)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
@ -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;
|
||||||
});
|
});
|
||||||
|
@ -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,
|
||||||
));
|
));
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,4 +132,4 @@ class GradeProvider with ChangeNotifier {
|
|||||||
await _database.userStore.storeGroupAverages(groupAvgs, userId: userId);
|
await _database.userStore.storeGroupAverages(groupAvgs, userId: userId);
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -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)));
|
||||||
},
|
// },
|
||||||
),
|
// ),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -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,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user