Update flake with direnv; add bashInteractive; fix creating new entries for the new year
This commit is contained in:
parent
e01bd9895e
commit
fd171b8aa7
@ -32,6 +32,8 @@
|
|||||||
in {
|
in {
|
||||||
devShell = pkgs.mkShell {
|
devShell = pkgs.mkShell {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
|
bashInteractive
|
||||||
|
|
||||||
# Android
|
# Android
|
||||||
pinnedJDK
|
pinnedJDK
|
||||||
sdk
|
sdk
|
||||||
|
|||||||
@ -122,7 +122,14 @@ class DatabaseAPI extends ChangeNotifier {
|
|||||||
limit: 1,
|
limit: 1,
|
||||||
paginationQuery: Query.offset(offset),
|
paginationQuery: Query.offset(offset),
|
||||||
);
|
);
|
||||||
|
if(response.isEmpty){
|
||||||
|
print("No entry in database; creating $date");
|
||||||
|
Document newEntry = await addEntry(date: date);
|
||||||
|
_entries.add(newEntry);
|
||||||
|
}
|
||||||
|
else{
|
||||||
_entries.add(response.first);
|
_entries.add(response.first);
|
||||||
|
}
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -185,14 +192,15 @@ class DatabaseAPI extends ChangeNotifier {
|
|||||||
Future<Document> addEntry(
|
Future<Document> addEntry(
|
||||||
{required String date,
|
{required String date,
|
||||||
List hours = const [],
|
List hours = const [],
|
||||||
int mood = -1,
|
dynamic mood,
|
||||||
String comments = ""}) {
|
String comments = ""}) async {
|
||||||
|
|
||||||
return databases.createDocument(
|
return databases.createDocument(
|
||||||
databaseId: APPWRITE_DATABASE_ID,
|
databaseId: APPWRITE_DATABASE_ID,
|
||||||
collectionId: COLLECTION,
|
collectionId: COLLECTION,
|
||||||
documentId: date,
|
documentId: date,
|
||||||
data: {
|
data: {
|
||||||
'date': DateTime.parse(date),
|
'date': date,
|
||||||
'hours': hours,
|
'hours': hours,
|
||||||
'mood': mood,
|
'mood': mood,
|
||||||
'comments': comments
|
'comments': comments
|
||||||
|
|||||||
@ -59,7 +59,7 @@ class _DayViewState extends State<DayView> {
|
|||||||
dayEntry = entries.singleWhere((element) => element.$id == formattedDate);
|
dayEntry = entries.singleWhere((element) => element.$id == formattedDate);
|
||||||
String date = formatDate(
|
String date = formatDate(
|
||||||
format: "LLL d", dateISO: dayEntry?.data['date'].toString());
|
format: "LLL d", dateISO: dayEntry?.data['date'].toString());
|
||||||
// print("Got entry for $date");
|
print("Got entry for $date");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
database.getOne(date: formattedDate).then((value) {
|
database.getOne(date: formattedDate).then((value) {
|
||||||
dayEntry = value;
|
dayEntry = value;
|
||||||
@ -101,8 +101,8 @@ class _DayViewState extends State<DayView> {
|
|||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.all(8),
|
padding: const EdgeInsets.all(8),
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () => _setDate(DateTime.now()),
|
onLongPress: () => _setDate(DateTime.now()),
|
||||||
onLongPress: () {
|
onTap: () {
|
||||||
showDatePicker(
|
showDatePicker(
|
||||||
context: context,
|
context: context,
|
||||||
initialDate: _date,
|
initialDate: _date,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user