diff --git a/refilc/.gitignore b/refilc/.gitignore
index f991fd7..4257c18 100644
--- a/refilc/.gitignore
+++ b/refilc/.gitignore
@@ -46,4 +46,32 @@ app.*.map.json
.symlinks/
Pods
Podfile.lock
-UserInterfaceState.xcuserstate
\ No newline at end of file
+UserInterfaceState.xcuserstate
+**/ios/**/*.mode1v3
+**/ios/**/*.mode2v3
+**/ios/**/*.moved-aside
+**/ios/**/*.pbxuser
+**/ios/**/*.perspectivev3
+**/ios/**/*sync/
+**/ios/**/.sconsign.dblite
+**/ios/**/.tags*
+**/ios/**/.vagrant/
+**/ios/**/DerivedData/
+**/ios/**/Icon?
+**/ios/**/Pods/
+**/ios/**/.symlinks/
+**/ios/**/profile
+**/ios/**/xcuserdata
+**/ios/.generated/
+**/ios/Flutter/.last_build_id
+**/ios/Flutter/App.framework
+**/ios/Flutter/Flutter.framework
+**/ios/Flutter/Flutter.podspec
+**/ios/Flutter/Generated.xcconfig
+**/ios/Flutter/ephemeral
+**/ios/Flutter/app.flx
+**/ios/Flutter/app.zip
+**/ios/Flutter/flutter_assets/
+**/ios/Flutter/flutter_export_environment.sh
+**/ios/ServiceDefinitions.json
+**/ios/Runner/GeneratedPluginRegistrant.*
diff --git a/refilc/build-ipa.sh b/refilc/build-ipa.sh
old mode 100644
new mode 100755
diff --git a/refilc/ios/Runner.xcodeproj/project.pbxproj b/refilc/ios/Runner.xcodeproj/project.pbxproj
index e4a26c0..2cc04b9 100644
--- a/refilc/ios/Runner.xcodeproj/project.pbxproj
+++ b/refilc/ios/Runner.xcodeproj/project.pbxproj
@@ -517,8 +517,8 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
- CURRENT_PROJECT_VERSION = 250;
- DEVELOPMENT_TEAM = UT7MSP4GWZ;
+ CURRENT_PROJECT_VERSION = 255;
+ DEVELOPMENT_TEAM = 4DKAF249F3;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = reFilc;
@@ -528,7 +528,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.0.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.refilcrel.naplo;
+ PRODUCT_BUNDLE_IDENTIFIER = com.refilc2.naplo;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
@@ -549,8 +549,8 @@
CODE_SIGN_ENTITLEMENTS = livecard/livecard.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 250;
- DEVELOPMENT_TEAM = UT7MSP4GWZ;
+ CURRENT_PROJECT_VERSION = 255;
+ DEVELOPMENT_TEAM = 4DKAF249F3;
GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = livecard/Info.plist;
@@ -566,7 +566,7 @@
MARKETING_VERSION = 5.0.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = com.refilcrel.naplo.livecardpro;
+ PRODUCT_BUNDLE_IDENTIFIER = com.refilc2.naplo.livecardpro;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
@@ -591,8 +591,8 @@
CODE_SIGN_ENTITLEMENTS = livecard/livecard.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 250;
- DEVELOPMENT_TEAM = UT7MSP4GWZ;
+ CURRENT_PROJECT_VERSION = 255;
+ DEVELOPMENT_TEAM = 4DKAF249F3;
GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = livecard/Info.plist;
@@ -607,7 +607,7 @@
);
MARKETING_VERSION = 5.0.0;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = com.refilcrel.naplo.livecardpro;
+ PRODUCT_BUNDLE_IDENTIFIER = com.refilc2.naplo.livecardpro;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
@@ -631,8 +631,8 @@
CODE_SIGN_ENTITLEMENTS = livecard/livecard.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 250;
- DEVELOPMENT_TEAM = UT7MSP4GWZ;
+ CURRENT_PROJECT_VERSION = 255;
+ DEVELOPMENT_TEAM = 4DKAF249F3;
GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = livecard/Info.plist;
@@ -647,7 +647,7 @@
);
MARKETING_VERSION = 5.0.0;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = com.refilcrel.naplo.livecardpro;
+ PRODUCT_BUNDLE_IDENTIFIER = com.refilc2.naplo.livecardpro;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
@@ -775,8 +775,8 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
- CURRENT_PROJECT_VERSION = 250;
- DEVELOPMENT_TEAM = UT7MSP4GWZ;
+ CURRENT_PROJECT_VERSION = 255;
+ DEVELOPMENT_TEAM = 4DKAF249F3;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = reFilc;
@@ -786,7 +786,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.0.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.refilcrel.naplo;
+ PRODUCT_BUNDLE_IDENTIFIER = com.refilc2.naplo;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -803,8 +803,8 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
- CURRENT_PROJECT_VERSION = 250;
- DEVELOPMENT_TEAM = UT7MSP4GWZ;
+ CURRENT_PROJECT_VERSION = 255;
+ DEVELOPMENT_TEAM = 4DKAF249F3;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = reFilc;
@@ -814,7 +814,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.0.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.refilcrel.naplo;
+ PRODUCT_BUNDLE_IDENTIFIER = com.refilc2.naplo;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
diff --git a/refilc/ios/Runner.xcodeproj/xcuserdata/tmarccci.xcuserdatad/xcschemes/xcschememanagement.plist b/refilc/ios/Runner.xcodeproj/xcuserdata/tmarccci.xcuserdatad/xcschemes/xcschememanagement.plist
index 1c0c029..1970da8 100644
--- a/refilc/ios/Runner.xcodeproj/xcuserdata/tmarccci.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/refilc/ios/Runner.xcodeproj/xcuserdata/tmarccci.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -12,7 +12,7 @@
livecard.xcscheme_^#shared#^_
orderHint
- 78
+ 83
diff --git a/refilc/ios/Runner.xcworkspace/xcuserdata/tmarccci.xcuserdatad/UserInterfaceState.xcuserstate b/refilc/ios/Runner.xcworkspace/xcuserdata/tmarccci.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index 45ab200..0000000
Binary files a/refilc/ios/Runner.xcworkspace/xcuserdata/tmarccci.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ
diff --git a/refilc/ios/Runner/Runner.entitlements b/refilc/ios/Runner/Runner.entitlements
index 8e1d462..127fede 100644
--- a/refilc/ios/Runner/Runner.entitlements
+++ b/refilc/ios/Runner/Runner.entitlements
@@ -5,8 +5,6 @@
aps-environment
development
com.apple.security.application-groups
-
- group.refilc2.livecard
-
+
diff --git a/refilc/ios/livecard/livecard.entitlements b/refilc/ios/livecard/livecard.entitlements
index 8e1d462..127fede 100644
--- a/refilc/ios/livecard/livecard.entitlements
+++ b/refilc/ios/livecard/livecard.entitlements
@@ -5,8 +5,6 @@
aps-environment
development
com.apple.security.application-groups
-
- group.refilc2.livecard
-
+
diff --git a/refilc/lib/api/providers/self_note_provider.dart b/refilc/lib/api/providers/self_note_provider.dart
index b19816c..4be70a5 100644
--- a/refilc/lib/api/providers/self_note_provider.dart
+++ b/refilc/lib/api/providers/self_note_provider.dart
@@ -7,23 +7,33 @@ import 'package:provider/provider.dart';
class SelfNoteProvider with ChangeNotifier {
late List _notes;
+ late List _todoItems;
late BuildContext _context;
+
List get notes => _notes;
+ List get todos => _todoItems;
SelfNoteProvider({
List initialNotes = const [],
+ List initialTodoItems = const [],
required BuildContext context,
}) {
_notes = List.castFrom(initialNotes);
+ _todoItems = List.castFrom(initialTodoItems);
_context = context;
if (_notes.isEmpty) restore();
+ if (_todoItems.isEmpty) restoreTodo();
}
// restore self notes from db
Future restore() async {
String? userId = Provider.of(_context, listen: false).id;
+ // await Provider.of(_context, listen: false)
+ // .userStore
+ // .storeSelfNotes([], userId: userId!);
+
// load self notes from db
if (userId != null) {
var dbNotes = await Provider.of(_context, listen: false)
@@ -34,6 +44,24 @@ class SelfNoteProvider with ChangeNotifier {
}
}
+ // restore todo items from db
+ Future restoreTodo() async {
+ String? userId = Provider.of(_context, listen: false).id;
+
+ // await Provider.of(_context, listen: false)
+ // .userStore
+ // .storeSelfNotes([], userId: userId!);
+
+ // load self notes from db
+ if (userId != null) {
+ var dbTodo = await Provider.of(_context, listen: false)
+ .userQuery
+ .getTodoItems(userId: userId);
+ _todoItems = dbTodo;
+ notifyListeners();
+ }
+ }
+
// fetches fresh data from api (not needed, cuz no api for that)
// Future fetch() async {
// }
@@ -50,4 +78,17 @@ class SelfNoteProvider with ChangeNotifier {
_notes = notes;
notifyListeners();
}
+
+ // store todo items in db
+ Future storeTodo(List todos) async {
+ User? user = Provider.of(_context, listen: false).user;
+ if (user == null) throw "Cannot store Self Notes for User null";
+ String userId = user.id;
+
+ await Provider.of(_context, listen: false)
+ .userStore
+ .storeSelfTodoItems(todos, userId: userId);
+ _todoItems = todos;
+ notifyListeners();
+ }
}
diff --git a/refilc/lib/database/init.dart b/refilc/lib/database/init.dart
index d06a600..0d2822a 100644
--- a/refilc/lib/database/init.dart
+++ b/refilc/lib/database/init.dart
@@ -52,6 +52,9 @@ const settingsDB = DatabaseStruct("settings", {
"nav_shadow": int,
"new_colors": int,
"uwu_mode": int,
+ // quick settings
+ "q_timetable_lesson_num": int, "q_timetable_sub_tiles": int,
+ "q_subjects_sub_tiles": int,
});
// DON'T FORGET TO UPDATE DEFAULT VALUES IN `initDB` MIGRATION OR ELSE PARENTS WILL COMPLAIN ABOUT THEIR CHILDREN MISSING
// YOU'VE BEEN WARNED!!!
@@ -81,7 +84,7 @@ const userDataDB = DatabaseStruct("user_data", {
"goal_befores": String,
"goal_pin_dates": String,
// todo and notes
- "todo_items": String, "self_notes": String,
+ "todo_items": String, "self_notes": String, "self_todo": String,
// v5 shit
"roundings": String,
"grade_rarities": String,
@@ -149,7 +152,7 @@ Future initDB(DatabaseProvider database) async {
"goal_befores": "{}",
"goal_pin_dates": "{}",
// todo and notes
- "todo_items": "{}", "self_notes": "[]",
+ "todo_items": "{}", "self_notes": "[]", "self_todo": "[]",
// v5 shit
"roundings": "{}",
"grade_rarities": "{}",
diff --git a/refilc/lib/database/query.dart b/refilc/lib/database/query.dart
index e899e6d..741a253 100644
--- a/refilc/lib/database/query.dart
+++ b/refilc/lib/database/query.dart
@@ -317,6 +317,18 @@ class UserDatabaseQuery {
return selfNotes;
}
+ Future> getTodoItems({required String userId}) async {
+ List