Time Select for view all

This commit is contained in:
Jonas Braus
2025-01-15 20:25:47 +01:00
parent 5b844d3499
commit e2138439c2
3 changed files with 60 additions and 44 deletions
+14 -6
View File
@@ -9,11 +9,17 @@ import 'package:supabase_flutter/supabase_flutter.dart';
class PageDashboard extends StatelessWidget {
const PageDashboard({super.key});
Future<List<dynamic>> requestSupabaseToday() async {
Future<List<dynamic>> requestSupabaseTimeSpan(int timeId) async {
var supabase = Supabase.instance.client;
var now = DateTime.now();
var morning = DateTime(now.year, now.month, now.day, 0, 1);
var result = await supabase.from("ratings_database").select("ratings").gte("created_at", morning);
var nowMorning = DateTime(now.year, now.month, now.day, 0, 1);
var morningDict = {
1: nowMorning,
2: nowMorning.subtract(const Duration(days: 7)),
3: nowMorning.subtract(const Duration(days: 30)),
4: nowMorning.subtract(const Duration(days: 365)),
};
var result = await supabase.from("ratings_database").select("ratings").gte("created_at", morningDict[timeId]!);
return result;
}
@@ -26,8 +32,8 @@ class PageDashboard extends StatelessWidget {
@override
Widget build(BuildContext context) {
var viewDatabaseFunctions = {
0: requestSupabaseToday,
1: requestSupabaseToday,
0: requestSupabaseTimeSpan,
1: requestSupabaseTimeSpan, //replace with avg function
};
return Scaffold(
@@ -106,7 +112,9 @@ class PageDashboard extends StatelessWidget {
),
body: FutureBuilder(
future: viewDatabaseFunctions[Provider.of<ViewProvider>(context, listen: false).selectedView]!(),
future: viewDatabaseFunctions[Provider.of<ViewProvider>(context, listen: false).selectedView]!(
Provider.of<TimeProvider>(context).selectedTime
),
builder: (context, snapshot) {
return Consumer<ViewProvider> (
builder: (context, viewProvider, child) {