This commit is contained in:
Ryan Pandya 2023-05-23 17:59:16 -07:00
parent 162f2469f8
commit 0dd56cfaa6
6 changed files with 61 additions and 27 deletions

View File

@ -27,13 +27,15 @@ class DatabaseAPI {
Future<DocumentList> getEntries({int limit = 100, String dateISO = ""}) { Future<DocumentList> getEntries({int limit = 100, String dateISO = ""}) {
if (dateISO == "") { if (dateISO == "") {
dateISO = formatter.format(DateTime.now()); dateISO = DateTime.now().toIso8601String();
} }
final date = DateTime.parse(dateISO); var referenceDate = DateTime.parse("2023-01-01");
final offset = date.difference(DateTime.now()).inDays;
print("Getting ${limit} entries starting from ${offset}"); final date = DateTime.parse(dateISO);
final offset = date.difference(referenceDate).inDays;
print("Getting $limit entries starting from $offset");
return databases.listDocuments( return databases.listDocuments(
databaseId: APPWRITE_DATABASE_ID, databaseId: APPWRITE_DATABASE_ID,

View File

@ -1,10 +1,6 @@
import 'package:appwrite/appwrite.dart';
import 'package:ltx_flutter/appwrite/appwrite.dart';
import 'package:ltx_flutter/appwrite/categories_api.dart'; import 'package:ltx_flutter/appwrite/categories_api.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:appwrite/models.dart'; import 'package:appwrite/models.dart';
import 'package:intl/intl.dart';
class CategoriesPage extends StatefulWidget { class CategoriesPage extends StatefulWidget {
const CategoriesPage({Key? key}) : super(key: key); const CategoriesPage({Key? key}) : super(key: key);
@ -54,15 +50,12 @@ class _CategoriesPageState extends State<CategoriesPage> {
? Colors.black ? Colors.black
: Colors.white; : Colors.white;
return ListTile( return ListTile(
onLongPress: ,
tileColor: backgroundColor, tileColor: backgroundColor,
textColor: textColor, textColor: textColor,
titleTextStyle: TextStyle(fontWeight: FontWeight.w600),
leading: Text(category.data['number'].toString()), leading: Text(category.data['number'].toString()),
title: Text(category.data['name']), title: Text(category.data['name']),
); );
} }
;
}, },
), ),
), ),

View File

@ -1,7 +1,6 @@
import 'package:appwrite/appwrite.dart'; import 'package:appwrite/appwrite.dart';
import 'package:ltx_flutter/appwrite/appwrite.dart'; import 'package:ltx_flutter/appwrite/appwrite.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class LoginPage extends StatefulWidget { class LoginPage extends StatefulWidget {

View File

@ -254,7 +254,7 @@ class SpreadsheetWidget extends StatelessWidget {
List hours = entry?.data['hours']; List hours = entry?.data['hours'];
if (col == 0) { if (col == 0) {
return Center(child: Text('$day')); return Center(child: Text(day));
} else if (col > 0 && col < 25) { } else if (col > 0 && col < 25) {
return Center(child: Text(hours[col - 1].toString())); return Center(child: Text(hours[col - 1].toString()));
} else { } else {

View File

@ -1,9 +1,7 @@
import 'package:ltx_flutter/pages/table_page.dart';
import 'package:ltx_flutter/pages/account_page.dart'; import 'package:ltx_flutter/pages/account_page.dart';
import 'package:ltx_flutter/pages/categories_page.dart'; import 'package:ltx_flutter/pages/categories_page.dart';
import 'package:ltx_flutter/pages/today_page.dart'; import 'package:ltx_flutter/pages/today_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class TabsPage extends StatefulWidget { class TabsPage extends StatefulWidget {
const TabsPage({Key? key}) : super(key: key); const TabsPage({Key? key}) : super(key: key);

View File

@ -1,4 +1,3 @@
import 'package:appwrite/appwrite.dart';
import 'package:ltx_flutter/appwrite/appwrite.dart'; import 'package:ltx_flutter/appwrite/appwrite.dart';
import 'package:ltx_flutter/appwrite/database_api.dart'; import 'package:ltx_flutter/appwrite/database_api.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -15,23 +14,40 @@ class TodayPage extends StatefulWidget {
class _TodayPageState extends State<TodayPage> { class _TodayPageState extends State<TodayPage> {
final database = DatabaseAPI(); final database = DatabaseAPI();
late List<Document>? entries = [];
AuthStatus authStatus = AuthStatus.uninitialized; AuthStatus authStatus = AuthStatus.uninitialized;
DateTime? date;
Document? entry;
var hours = List<int>.generate(24, (i) => i).map((e) {
var meridien = "AM";
var hour = 12;
if (e > 12) {
hour = e - 12;
} else if (e > 0) {
hour = e;
}
if (e > 11) {
meridien = "PM";
}
return {
"string": "${hour.toString()} $meridien",
"index": e.toInt(),
};
}).toList();
@override @override
void initState() { void initState() {
super.initState(); super.initState();
final AuthAPI appwrite = context.read<AuthAPI>(); final AuthAPI appwrite = context.read<AuthAPI>();
authStatus = appwrite.status; authStatus = appwrite.status;
loadEntries(); loadEntry();
} }
loadEntries() async { loadEntry() async {
try { try {
final value = await database.getEntries(limit: 25); final value = await database.getEntries(limit: 1, dateISO: "");
setState(() { setState(() {
entries = value.documents; entry = value.documents[0];
}); });
} catch (e) { } catch (e) {
print(e); print(e);
@ -47,11 +63,37 @@ class _TodayPageState extends State<TodayPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Center( return Center(
child: Column( child: entry == null
children: [ ? CircularProgressIndicator()
Text("Entries: ${entries?.length}"), : Column(
], children: [
), Text(
style: TextStyle(
fontSize: 40,
),
formatDate(
format: "E, MMM dd, yyyy",
dateISO: entry?.data['date'],
),
),
Expanded(
child: ListView(
children: hours.map(
(e) {
int h = e["index"] as int;
List<dynamic> hoursData = entry!.data['hours'];
String hourData = (h >= hoursData.length)
? ""
: hoursData[h].toString();
return ListTile(
leading: Text(e["string"] as String),
title: Text(hourData),
);
},
).toList()),
),
],
),
); );
} }
} }