Fix invalid categories finally!

This commit is contained in:
2024-01-19 01:44:25 -08:00
parent fd171b8aa7
commit ececb7439a
7 changed files with 57 additions and 15 deletions
+8 -1
View File
@@ -56,7 +56,7 @@ class Category {
}
bool hasParent() {
return parent == number ? false : true;
return parent != number;
}
double leftPadding() {
@@ -99,10 +99,17 @@ class CategoriesAPI extends ChangeNotifier {
if (!_ready) {
return false;
}
try{
return Category(_categories.singleWhere((e) {
return e.data['number'] == double.parse(n.toString());
}));
}
catch(e){
return Category(_categories.singleWhere((e) {
return e.data['number'] == -9;
}));
}
}
init() {
client.setEndpoint(APPWRITE_URL).setProject(APPWRITE_PROJECT_ID);
+27 -2
View File
@@ -71,6 +71,7 @@ class DatabaseAPI extends ChangeNotifier {
notifyListeners();
// _entries.add(entry);
// sortByDate(_entries);
}
});
}
@@ -81,10 +82,14 @@ class DatabaseAPI extends ChangeNotifier {
var referenceDate = DateTime.parse("2023-01-01");
final date = DateTime.parse(dateISO);
return date.difference(referenceDate).inDays + 1;
int _total = date.difference(referenceDate).inDays + 1;
return _total;
}
getAll() async {
print("Loading entries");
String paginationQuery = Query.offset(0);
int max = total();
@@ -102,10 +107,27 @@ class DatabaseAPI extends ChangeNotifier {
paginationQuery: paginationQuery,
);
if(newEntries.isEmpty){
// This only happens if we were expecting more
// (i.e., _entries.length < max),
// but getEntries didn't return anything
// (i.e., an entry doesn't exist).
// So, let's create it.
//
// BAD CODE: THIS ASSUMES IT NEEDS TO BE TODAY
// This will eventually break.
//
Document new_today_entry = await getOne(date: formatter.format(DateTime.now()));
newEntries.add(new_today_entry);
}
_entries.addAll(newEntries);
notifyListeners();
}
_ready = true;
print("Got ${_entries.length} entries");
}
getOne({required String date}) async {
@@ -126,11 +148,14 @@ class DatabaseAPI extends ChangeNotifier {
print("No entry in database; creating $date");
Document newEntry = await addEntry(date: date);
_entries.add(newEntry);
notifyListeners();
return(newEntry);
}
else{
_entries.add(response.first);
notifyListeners();
return(response.first);
}
notifyListeners();
}
}