Fix invalid categories finally!
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user