started grade streak

This commit is contained in:
Kima
2024-05-13 22:35:20 +02:00
parent 93dd275969
commit 540e4d2812
6 changed files with 84 additions and 6 deletions

View File

@@ -23,6 +23,7 @@ class UserProvider with ChangeNotifier {
String? get nickname => user?.nickname;
String get picture => user?.picture ?? "";
String? get displayName => user?.displayName;
int? get gradeStreak => user?.gradeStreak;
final SettingsProvider _settings;

View File

@@ -61,7 +61,8 @@ const settingsDB = DatabaseStruct("settings", {
const usersDB = DatabaseStruct("users", {
"id": String, "name": String, "username": String, "password": String,
"institute_code": String, "student": String, "role": int,
"nickname": String, "picture": String // premium only
"nickname": String, "picture": String, // premium only (it's now plus btw)
"grade_streak": int,
});
const userDataDB = DatabaseStruct("user_data", {
"id": String, "grades": String, "timetable": String, "exams": String,
@@ -129,7 +130,12 @@ Future<Database> initDB(DatabaseProvider database) async {
await migrateDB(
db,
struct: usersDB,
defaultValues: {"role": 0, "nickname": "", "picture": ""},
defaultValues: {
"role": 0,
"nickname": "",
"picture": "",
"grade_streak": 0
},
);
await migrateDB(db, struct: userDataDB, defaultValues: {
"grades": "[]", "timetable": "[]", "exams": "[]", "homework": "[]",

View File

@@ -16,8 +16,10 @@ class User {
Role role;
String nickname;
String picture;
int gradeStreak;
String get displayName => nickname != '' ? nickname : name;
bool get hasStreak => gradeStreak > 0;
User({
String? id,
@@ -29,6 +31,7 @@ class User {
required this.role,
this.nickname = "",
this.picture = "",
this.gradeStreak = 0,
}) {
if (id != null) {
this.id = id;
@@ -57,6 +60,7 @@ class User {
role: Role.values[map["role"] ?? 0],
nickname: map["nickname"] ?? "",
picture: map["picture"] ?? "",
gradeStreak: map["grade_streak"] ?? 0,
);
}