Test
This commit is contained in:
parent
162f2469f8
commit
0dd56cfaa6
@ -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,
|
||||||
|
|||||||
@ -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']),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
;
|
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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()),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user