import 'package:flutter/material.dart'; import 'package:hive_flutter/hive_flutter.dart'; import '../../components/card_component.dart'; import '../../components/diet_chart_component.dart'; import '../../components/statistics_circular_indicator_component.dart'; import '../../models/food.dart'; class TodayPage extends StatefulWidget { final String title; const TodayPage({Key? key, required this.title}) : super(key: key); @override State createState() => _TodayPageState(); } class _TodayPageState extends State { List castDynamicToListFood(List dynamicList) { List foodList = []; for (Food element in dynamicList) { foodList.add(element); } return foodList; } @override Widget build(BuildContext context) { return Scaffold( body: SizedBox( width: double.infinity, height: double.infinity, child: Container( decoration: const BoxDecoration( gradient: LinearGradient( colors: [Color(0xff000000), Color(0xff47a44b)], stops: [0.1, 5], begin: Alignment.bottomCenter, end: Alignment.topCenter, )), child: SingleChildScrollView( child: Column( children: [ StatisticsPercentComponent(300, 100, 400), DietChatComponent(1500), ValueListenableBuilder( valueListenable: Hive.box("TODAY").listenable(), builder: (context, box, widget) { return ListView.builder( primary: false, shrinkWrap: true, itemCount: box.keys.length, itemBuilder: (context, i) { if(box.keyAt(i).toString() == "DATE"){ return const SizedBox.shrink(); }else{ return CardComponent( eatingMealName: box.keyAt(i).toString(), selectedMeal: castDynamicToListFood( box.getAt(i))); } } ); }), ], ), )), )); } }