Update flake with direnv; add bashInteractive; fix creating new entries for the new year

This commit is contained in:
Ryan Pandya 2024-01-01 16:23:37 -05:00
parent e01bd9895e
commit fd171b8aa7
3 changed files with 18 additions and 8 deletions

View File

@ -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

View File

@ -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

View File

@ -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,